2014-12-11 56 views
0

我是使用.wxs文件創建安裝項目的新手。我使用的是WIX 3.9。我想在.wxs文件中將物理路徑更改爲虛擬路徑。 目前.wsx文件是使用物理路徑是這樣 -如何在.wxs文件中聲明虛擬路徑?

<Component Id="cmp2CB74B07C01493F593A258BAE09C0B1C" Guid="08CD4620-DE67-4C7A-A97A-212AB5BA5E52"> 
    <File Id="filCF6108D60D7B1865907043E2ABFE30DF" KeyPath="yes" Source="C:\ProjectName\Client\Bin\AjaxControlToolkit.dll" /> 
</Component> 

我想用虛擬路徑是這樣的 -

<Component Id="cmp2CB74B07C01493F593A258BAE09C0B1C" Guid="08CD4620-DE67-4C7A-A97A-212AB5BA5E52"> 
    <File Id="filCF6108D60D7B1865907043E2ABFE30DF" KeyPath="yes" Source="~\ProjectName\Client\Bin\AjaxControlToolkit.dll" /> 
    </Component> 

我怎麼能做到這一點的.wxs文件?請建議。

+0

「虛擬路徑」可能不是此處使用的最佳術語。 – user145400 2014-12-11 18:35:26

回答

0

假設您已經在使用熱量生成組件,可以使用-var <VariableName>指定變量。按照docs這將:

替代文件/ @來源= 「SourceDir」 一個帶預處理或WiX的變量(例如-var var.MySource將成爲文件/ @來源=「$(var.MySource) \ myfile.txt的」和-var wix.MySource將成爲文件/ @來源= 「!(wix.MySource)\ myfile.txt的」。

我用這通過在生成後運行的命令熱事件的原始項目,並通過-var var.$(ProjectName).TargetDir。由此產生的File將有Source="$(var.ProjectName.TargetDir)\whatever.dll"。只要ProjectName作爲wix安裝項目的引用添加,然後該變量將被正確解決。