如何从构建服务器设置版本和内部版本号,并使用此版本更新程序集?

时间:2013-03-13 07:07:54

标签: wix continuous-integration

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

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

我已经尝试了很多方法并且搜索了很多但没有找到可行的解决方案。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

WiX工具集通过在MSBuild期间创建version.csversion.hversion.wxi来完成此操作,然后在所有项目中包含这些文件。这样,当您运行类似candle.exe -?的内容时,我们的可执行文件可以打印出它们的版本,并且所有的bundle和.msi包都正确设置了它们的版本。

您可以在tools\WixBuild.Version.targetshere)中查看我们如何执行此操作。如果你愿意的话,它会直接覆盖WixBuild.Version.targets中的属性,通过命令行传递给MSBuild,通过Hudson。