如何在安装程序名称中使用生成变量

时间:2012-11-21 18:11:01

标签: visual-studio installer wix

在我的安装程序项目(WiX)中,我在属性页面的Build选项卡上定义了一个预处理器变量,如下所示:

Version=1.1.0.0

为了论证,让我说我可以很容易地将它定义为变量而不是预处理器变量。

我的目标是:我想在安装程序输出名称中使用此变量:

Me.Common_$(Version)

上面的内容当然不起作用 - 找不到引用的变量,因此实际输出最终为Me.Common_.msi。有没有办法在这种情况下使用用户定义的变量?


另一个可行的选择是在后期构建事件中重命名MSI文件。但是,我仍然无法在此处访问变量。

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

这些方法的解决方案对我有用。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

我不确定你会怎么做,只需使用WIX。

我会尝试使用MSBuild和Target Builds

请查看我在passing params to MSBuild

上的帖子