【问题标题】:How to use a build variable in installer name如何在安装程序名称中使用构建变量
【发布时间】:2012-11-10 01:41:14
【问题描述】:

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

Version=1.1.0.0

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

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

Me.Common_$(Version)

当然,上面的方法不起作用——没有找到引用的变量,所以实际输出最终是Me.Common_.msi。有没有办法在这种情况下使用用户定义的变量?


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

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

这两种方法中的任何一种的解决方案都对我有用。

【问题讨论】:

  • 这篇 SO 帖子应该有所帮助:stackoverflow.com/questions/12191502/…
  • @BryanJ:最好不用每次我需要更新版本时都打开 wixproj 文件。我想在 UI 中更改它并让它传输。

标签: visual-studio installation wix


【解决方案1】:

在第一个 PropertyGroup 节点下的 .wixproj 文件中查找/添加这些:

<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

【讨论】:

    【解决方案2】:

    我不知道你会如何做到这一点,只使用 WIX。

    我会尝试使用 MSBuild 和 Target Builds

    看看我在 SO 上的帖子,passing params to MSBuild

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-02
      • 1970-01-01
      • 2011-08-23
      • 1970-01-01
      • 1970-01-01
      • 2012-08-30
      相关资源
      最近更新 更多