2012-11-21 11 views
2

在我的安裝項目(WiX的),我定義了一個預處理器變量一樣的屬性頁,像這樣的Build選項卡上:如何使用一個構建變量在安裝程序的名稱

Version=1.1.0.0 

爲了討論的方便,比方說,我可以簡單地將其定義爲變量而不是預處理器變量。

我的目標是這樣的:我想在安裝程序輸出名稱使用這個變量:

Me.Common_$(Version) 

以上,當然,不工作 - 引用的變量是找不到的,所以實際產量結果爲Me.Common_.msi。有沒有在這種情況下使用用戶定義的變量的方法?


另一個可行的選擇是在生成後事件中重命名MSI文件。但是,我仍然無法訪問此處的變量。

ren "!(TargetPath)" "$(TargetName)_$(Version)$(TargetExt)" 

這兩種方法的解決方案都適用於我。

+0

This SO post should help:http://stackoverflow.com/questions/12191502/include-majorversion-etc-in-filename-outputname-when-building-msi-file-wix-pr – BryanJ

+0

@BryanJ:這將是理想的不必每次需要更新版本時都要打開wixproj文件。我想在用戶界面中更改它並將其傳輸。 – zimdanen

回答

3

查找/在你.wixproj文件中添加這些,先下的PropertyGroup節點:

<Version Condition=" '$(Version)' == ''">1.1.0.0</Version> 
<OutputName>My.Common_$(Version)</OutputName> 

那麼,當您編譯您可以通過版本與 「/ p」 開關,即:

msbuild <your.wifproj> /p:Version=1.1.2.0 /t:rebuild 
相關問題