문제
MSBuild를 사용하여 수정 해야하는 Wix 파일이 있습니다. 다음과 같이 시작합니다.
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:iis="http://schemas.microsoft.com/wix/IIsExtension">
<?--... Removed Params ...-->
<?define ProductVersion = "1.0.1"?>
<?--... Removed Params ...-->
<Product Id='$(var.ProductCode)'
UpgradeCode='$(var.UpgradeCode)'
Name='$(var.AppName)' Language="1033" Version='$(var.ProductVersion)'
Manufacturer='$(var.Manufacturer)'>
<Package Id='$(var.PackageCode)' InstallerVersion="200"
Compressed="yes" />
<?--... Rest of the WIX XML file ...-->
내 문제는 XPath가 무엇을 <?define ProductVersion = "1.0.1"?>
할 것입니다. SDC SetValue MSBuild 태스크를 사용하여 변경할 수 있도록 xpath를 통해 참조 할 수있는 방법이 있습니까? 노드가 아니기 때문에 참조하는 방법을 잘 모르겠습니다.
백 카노
해결책
보입니다 /Wix/processing-instruction('define')
XPath에서 작동 할 수 있습니다 (MSBuild가 알지 못하는지 여부에 관계없이).
그것에 연결하여 SketchPath, 나는 그것을 클릭하고 다양한 xpaths를 테스트하여 해당 요소를 선택할 수있는 것을 볼 수있었습니다.
다른 팁
또 다른 접근법은 CANDLE의 명령 줄을 통해 매개 변수를 정의하는 것입니다.
candle -dProductVersion=1.0.1
// Processing-Instruction ( 'Define')
<?define>
처리 명령 노드이므로 다음과 같은 XPath 표현식을 사용하여 해결할 수 있어야합니다.
//processing-instruction('define')
제휴하지 않습니다 StackOverflow