質問
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 ...-->
私の問題は、&lt;?define ProductVersion =&quot; 1.0.1&quot;?&gt;
に対するXPathがどうなるかわからないことです。 XPath経由でそれを参照する方法はありますか。SDCSetValue MSBuildタスクを使用して変更できますか?これはノードではないので(どうやら)、どのように参照するかわかりません。
バッカーノ
解決
/ Wix / processing-instruction( 'define')
はXPathで機能するようです(MSBuildがそれを認識するかどうかはわかりません)。
それを SketchPath にプラグインすることで、クリックしてさまざまなXPathをテストして確認できましたその要素を選択するもの。
他のヒント
別のアプローチは、コマンドラインを使用してキャンドルを定義することです:
candle -dProductVersion=1.0.1
// processing-instruction( 'define')
&lt;?define&gt;
は処理命令ノードであるため、
//processing-instruction('define')
所属していません StackOverflow