2009-05-04 35 views
0

我有一個WIX文件,需要使用MSBuild進行修改。它開始是這樣的:XPaths和<? ?>

<?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"?>會是什麼。有沒有辦法通過XPath引用它,所以我可以使用SDC SetValue MSBuild Task來更改它?它不是一個節點(我認爲),所以我不知道如何引用它。

Vaccano

+0

我最終使用下列語句: Vaccano 2009-05-04 21:14:45

回答

3

它看起來像/Wix/processing-instruction('define')可以爲一個XPath(的MSBuild無論是否承認,我不知道)工作。

通過將其插入到SketchPath中,我可以在其中點擊並測試各種XPath,以查看選擇該元素的內容。

0

//處理指令(「定義」)

0

<?define>是一個處理指令節點,所以你應該能夠使用XPath表達式,例如,以解決它作爲

//processing-instruction('define') 
4

另一種方法是經由命令行來定義參數到蠟燭:

candle -dProductVersion=1.0.1