質問

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; は処理命令ノードであるため、

などのXPath式を使用してアドレス指定できる必要があります。
//processing-instruction('define')
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top