Ok, so I’ve been looking quickly for free tools for creating MSI files, since deploying the dependent Visual C++ runtime libraries as Merge Modules is the only really supported way of deploying applications built with VC8 on all versions of Windows. The 2 main contenders are MakeMSI and WIX. I haven’t had lots of time to investigate them but here’s my initial assessment.
MakeMSI purports to automate the process to some degree, although you are still manually editing text files. I’m fairly used to this with NSIS and Inno anyway but these scripts seem a lot more esoteric. In addition, the first sample didn’t work, it appears to try using IE to perform some part of the conversion and falls over. So, impression was somewhat lackluster.
WIX, on the other hand, is pretty much completely manual (including generating GUIDs yourself), but has the advantage of just feeling a whole lot clearer, and the examples work. It also has the honour of being the first project Microsoft placed on Sourceforge, IIRC. It is extremely light on documentation on the main site although others maintain a tutorial and FAQ externally which are both quite detailed. I’m not sure how much of a pain it will become over time to maintain a complete script manually but WIX seems to be the best contender at the moment. There’s also a nice VC++ 2005 Express specific quick starter guide which is worth reviewing.
It’s a shame there’s nothing as good as NSIS or Inno yet in the MSI creation space, but when you see the staggering amount of money you’d have to pay Wise or Macrovision for their install builders, there’s a definite incentive to make one of these options work. There is also a wizard in the full version of Visual Studio .Net 2005 but I can’t review that just yet.