使用nant创建MSI的最快途径

Mik*_*e Q 2 nant windows-installer wix

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

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

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

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

sas*_*ont 5

请参阅Heat(Wix的一部分)文档,并在构建过程中使用它.

举个例子,像这样的东西应该工作:

heat.exe dir C:\Build\Release -srd -ag -suid -cg AutoHarvestCG -out c:\Build\Setup\AutoHarvest.wxs
Run Code Online (Sandbox Code Playgroud)

然后AutoHarvest.wxs将自动生成并包含调用C:\Source\Release下的所有文件,您可以在任何Feature元素中包含元素.ComponentGroupAutoHarvestCGComponentGroupRef

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