如何将NSIS与构建系统集成并支持版本控制

时间:2010-07-21 08:33:13

标签: .net build-automation versioning nsis

我有一个nsis脚本用于在.NET中创建工具的安装程序包,并且工作正常。

问题是我想将它集成到我的构建系统中(目前使用NANT,但是使用ironruby迁移到rake)

产品的版本存储在txt文件中,该文件被读取以生成assemblyinfo,当前构建系统自动更新构建版本号,但主要和次要编号都是手动更改。

我希望脚本使用安装程序文件名中的版本号以及安装程序屏幕生成安装程序可执行文件,但我不知道如何将变量作为参数传递给NSIS文件。

我正在考虑的解决方案是使用一些占位符创建NSIS脚本的模板,并使用ruby(虽然rake)使用适当的版本号更改这些占位符,然后生成安装程序,但看起来像一个脏入侵我。

有没有人有更好的建议?

1 个答案:

答案 0 :(得分:1)

我说你有两个选择:

  • 将版本号作为参数传递给编译器:makensis / Dbuild = 1234 myscript.nsi(您可以在脚本中使用$ {build})
  • 动态生成带有一些!define的.nsh,并在脚本中包含此.nsh