문제

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')
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top