使用nant创建MSI的最快途径

时间:2011-04-06 16:52:54

标签: wix windows-installer nant

我有一个当前的构建过程,它使用MSBuild进行.NET构建,然后我最终将所有项目DLL / EXE和第三方DLL放在同一目录中,子目录中有一些资源。

我想把这个包打包成一个MSI。我环顾四周,发现了WiX,它还没有任何可用的任务。但是,似乎我需要维护一个.wxs文件,其中包含对DLL完整列表的引用。我真的想避免手动维护这个文件或任何其他文件。

我实际上有许多使用共享构建脚本的项目,因此每个项目都以一致的方式构建。因此,我希望MSI步骤自动化,否则每个项目都必须使用当前DLL列表+任何资源文件维护.wxs文件。

是否可以使用WiX或其他任何工具,我可以将其指向一个目录并让它打包每个文件/子目录而不需要配置文件?

1 个答案:

答案 0 :(得分:5)

请参阅the documentation for Heat(Wix的一部分)并在构建过程中使用它。

举个例子,这样的事情应该有效:

heat.exe dir C:\Build\Release -srd -ag -suid -cg AutoHarvestCG -out c:\Build\Setup\AutoHarvest.wxs

然后会自动生成AutoHarvest.wxs,其中包含来自C:\Source\Release ComponentGroup下名为AutoHarvestCG的{​​{1}}下的所有文件,您可以在其中包含ComponentGroupRef元素特征元素。

您仍需要维护包含产品,产品包和功能信息的.wxs文件,以及您可能拥有的任何自定义操作。