2011-12-23 1 views
2

우리가 가지고있는 어플리케이션마다 WiX 프로젝트 세트를 만들려고합니다. 일단 개발자가 업데이트 된 버전의 앱을 출시 할 준비가되면 소스 파일을 SourceDir에 복사 한 다음 heat.exe를 실행하는 .bat 파일을 실행하여 파일 목록을 가져 오는 아이디어입니다 패키징이 필요하며 Candle과 Ligth는 Source를 msi로 컴파일합니다.어떻게하면 WiX 패키징을 자동화 할 수 있습니까?

공용 속성 값을 사용하여 패키지를 빌드 할 때도 App.config 파일을 수정하려고합니다. 수사를 통해 나는 이것을 할 수 있다는 것을 알아 냈습니다. 문제는 내가 util : XmlFile Id = "SetKey1"...을 추가함으로써 이것을해야한다는 것이다. 설정 파일 인 Componenet 요소 아래에있다.

 <Component Id="App.config" Guid="{B62F28B1-FFB3-4E93-B651-FFC7AAD4730D}"> 
     <File Id="App.config" KeyPath="yes" Source="SourceDir\New Folder\New Folder2\App.config" /> 
     <util:XmlFile Id="SetKey1" 
      Action="setValue" 
      ElementPath="//appSettings/add[\[]@key='Key1'[\]]/@value" 
      Value="[NEWVALUE]" 
      File="[#App.config]" 
      SelectionLanguage="XPath" 
      Sequence="1" /> 
     </Component> 

다음에 열을 가할 때이 비트가 사라지면 좋지 않습니다. 구성 파일이 수정 된 비트를 분리하는 방법이 있습니까

답변

0

적어도 2 개의 wxis가 있어야합니다. 1은 주 제품 용이고 구성 요소를 포함하고 다른 하나는 HEATed 파일입니다.

주요 Product.wxs (또는 사용자가이 파일을 호출 할 때)에서 디렉토리를 지정할 수 있으며 열을 가하면 디렉토리를 지정할 수 있습니다.

즉.

<Directory Id="TARGETDIR" Name="SourceDir"> 
     <Directory Id="INSTALLLOCATION" Name="MyApp"> 
     <Directory Id="WEBROOT" Name="wwwroot" /> 
     </Directory> 
    </Directory> 

당신이 WEBROOT로 directoryref를 지정합니다 열을 실행

다음과 같은 당신이 모두 함께 파일이 포함됩니다 WXS를 컴파일한다.

예 : 열 [다른 매개 변수] -dr WEBROOT

+0

감사합니다. 다니엘, 고마워요. 이걸 함께 도와주세요. 구성 요소 중 하나가 공개 속성 값으로 덮어 쓰려는 app.config 파일이라고 가정합니다. wxis 파일 외부에서 해당 구성 요소를 참조하여 util을 사용하여 수정할 수있는 방법은 무엇입니까? – user979441