我想创建一个基于 WiX 的安装项目,它执行以下操作(以及创建安装包):
- 可从运行在 CI 构建服务器 (Hudson) 上的msbuild调用
- 从安装项目或主程序集中的某些资产中获取版本号
- 从 CI 系统获取当前版本号
- 创建完整的产品版本号 [version].[build] 例如 1.3.432
- 将此值存储在资产(例如主程序集)中,以便可以在运行时读取并显示在启动窗口上
我尝试了多种方法并搜索了很多,但没有找到可行的解决方案。任何人都可以帮忙吗?
我想创建一个基于 WiX 的安装项目,它执行以下操作(以及创建安装包):
我尝试了多种方法并搜索了很多,但没有找到可行的解决方案。任何人都可以帮忙吗?
WiX 工具集通过在 MSBuild 期间创建 a version.cs
、 aversion.h
和 aversion.wxi
然后将这些文件包含在所有项目中来实现此目的。这样,当您运行类似的东西时,我们的可执行文件可以打印出它们的版本,candle.exe -?
并且所有捆绑包和 .msi 包的版本都设置正确。
tools\WixBuild.Version.targets
你可以在(这里)看到我们是如何做到这一点的。如果需要,可以直接WixBuild.Version.targets
使用通过 Hudson 通过命令行传递给 MSBuild 的属性来覆盖属性。