I have a current build process which does a .NET build using MSBuild and then I end up with all my project DLLs/EXEs and 3rd party DLLs in the same directory with some resources in a sub-directory.
I would like to package this bundle up into an MSI. I have looked around and found WiX and it has nant tasks available. However it appears I need to maintain a .wxs file with references to the full list of DLLs. I would really like to avoid having to manual maintain this file or any other file.
I actually have many projects that use a shared build script so every project builds in a consistent fashion. I would therefore like the MSI step to be automated as well otherwise every project has to maintain the .wxs file with the current DLL list + any resource files.
Is it possible to use WiX or another any tool where I can just point it at a directory and get it to package every file/sub-directory without needing a config file?
Refer to the documentation for Heat (part of Wix) and use that in your build process.
As an example, something like this should work:
Then
AutoHarvest.wxswill be automatically generated and contain all files fromC:\Source\Releaseunder aComponentGroupcalledAutoHarvestCGwhich you can include with aComponentGroupRefelement in any Feature element.You’ll still have to maintain a .wxs file with your Product, Package, and Feature information, along with any custom actions you might have.