2014-07-06 5 views
0

ASP.NET 프로젝트, WIX 설치 프로젝트, 설치 프로그램 용 빌드 파일이 있습니다. 빌드 파일 :WIX - 설치 중에 설정 파일을 변경하십시오.

  • 디렉토리에 웹 사이트를 게시합니다 내 프로젝트 구축 (SetupFiles/publish/)
  • 윅스의 heat.exe '수확의 웹 사이트의 파일 그 후
  • candle.exelight.exe
  • 하여 설치를 생성

설정 파일 (Web.Release.config, fr을 수확 한 파일 중 하나를 수정하고 싶습니다. om SetupFiles/publish 디렉토리)에 설치하십시오. 다음 코드를 찾았습니다.

<Component Id="ChangeConfig" Guid="[YOUR_GUID_HERE]"> 
    <File Id="App.config" Name="MyApplication.exe.config" Vital="yes" KeyPath="yes" Source="[Path to project dir]\app.config" /> 
    <util:XmlFile Id="AppConfigSetConnStr" Action="setValue" Permanent="yes" File="[#App.config]"    
    ElementPath="/configuration/connectionStrings/add[\[]@name='MyDatabaseName'[\]]" Name="connectionString" 
    Value="Your Connection string values here" /> 
</Component> 

질문.

내 문제는 파일의 태그 원본 속성에 무엇을 써야합니까? 내가 SetupFiles/publish/Web.Release.config를 작성하는 경우, light.exe 다음과 같은 오류 제공 : 단순히 Web.Release.config 작성하는 경우

D:\Works\Employer\MyProject12345\trunk\Project.Setup\SetConfigFile.wxs(7): er 
ror LGHT0204: ICE30: The target file 'cktmp8gm.con|Web.Release.config' is insta 
lled in '[TARGETDIR]\Inetpub\Proje\' by two different components on an LFN syst 
em: 'cmpA0B9415D5BC7EAB6CA7F504326ED1B32' and 'ChangeConfig'. This breaks compo 
nent reference counting. [D:\Works\Employer\MyProject12345\trunk\Project.Setup\ 
setup.build] 

을의 light.exe는 파일을 찾을 수 없습니다 말했다.

[INSTALLDIR]/Web.Release.config (INSTALLDIR은 설치 프로젝트의 변수 임)을 시도했지만이 경우 light.exe는 파일을 찾을 수 없다고 말합니다.

도움 주셔서 감사합니다.

답변

0

왜 Wix 프로젝트의 web.release.config 파일을 변경하려면 Web.release.config 파일에 빌드 프로세스 중 Web.config에 적용되는 변환 파일이 있어야합니다. 다른 변환 세트가 필요한 경우 다른 빌드 프로파일을 작성하십시오.

일단 변환되면 Web.config는 배포 패키지에 포함되어 있습니다. 그러면 Wix는 사용자가 선택한 옵션의 결과로 설치 프로세스 중에이를 변경하거나 변경할 수 있습니다. 이 경우 WixTolset의 xmlConfig 조치를 사용합니다. 아래 링크를 참조하십시오.

http://wixtoolset.org/documentation/manual/v3/xsd/util/xmlconfig.html

+0

네는, 두 번째는 내 상황입니다. XmlConfig의'File' 속성에 무엇을 써야합니까? –

+0

[INSTALLLOCATION]이라고 불리는 Wix에 변수가 있다고 가정하면 파일 속성은 [INSTALLLOCATION] \ web.config와 같아야합니다. – Hargrovm

0

는 당신은 util:XmlFile을 사용하는 방법을 오해했다. heat.exe은 이미 <File Id="App.config" ...의 구성 요소를 만들었습니까? 옳은? '예'인 경우 <util:XmlFile Id="AppConfigSetConnStr" Action="setValue" ...을이 구성 요소에 추가해야합니다.

즉 :

<Component Id="heat_generated_something" ....> 
    <File Id="heat_generated_app.config" ... /> 
    add this-> <util:XmlFile Id="AppConfigSetConnStr" Action="setValue" ... /> 
</Component> 
+0

답장을 보내 주셔서 감사합니다. 나는 그 프로젝트를 끝내고 다른 방법으로이 문제를 해결 했으므로 그것을 시도 할 수 없다. –

+0

@MortenFrederiksen 열을 생성 한 데이터를 참조 할 때 WiX는 ID를 복제하고 ID를 표시한다고 불만을 표시합니다. 실제로 참조 할 때 추가 기능을 추가하려고 할 때입니다. – Ultratrunks

관련 문제