1

我想创建一个基于 WiX 的安装项目,它执行以下操作(以及创建安装包):

  • 可从运行在 CI 构建服务器 (Hudson) 上的msbuild调用
  • 从安装项目或主程序集中的某些资产中获取版本号
  • 从 CI 系统获取当前版本号
  • 创建完整的产品版本号 [version].[build] 例如 1.3.432
  • 将此值存储在资产(例如主程序集)中,以便可以在运行时读取并显示在启动窗口上

我尝试了多种方法并搜索了很多,但没有找到可行的解决方案。任何人都可以帮忙吗?

4

1 回答 1

2

WiX 工具集通过在 MSBuild 期间创建 a version.cs、 aversion.h和 aversion.wxi然后将这些文件包含在所有项目中来实现此目的。这样,当您运行类似的东西时,我们的可执行文件可以打印出它们的版本,candle.exe -?并且所有捆绑包和 .msi 包的版本都设置正确。

tools\WixBuild.Version.targets你可以在(这里)看到我们是如何做到这一点的。如果需要,可以直接WixBuild.Version.targets使用通过 Hudson 通过命令行传递给 MSBuild 的属性来覆盖属性。

于 2013-03-13T14:53:33.707 回答