- Posted by reggie on January 25, 2007
I hate MSI authoring as much as the next man and still don't know why I can't use non-GUID IDs that I select to control my components. I might have to use a GUID to identify the particular company and maybe even my particular product, but inside that product I shouldn't have to wrangle with GUIDs. But I digress...
Recently I've been looking at NSIS and wondering if it would be a better option for delivering my products. It's simpler than WiX and has a nice community following complete with a healthy library of extensions and plugins. The problem is that it's not MSI based and so there are things that MSI handles for you that you have to do manually with NSIS.
One example is making sure that Add/Remove Programs doesn't show prior versions of your app. With MSI a person simply needs to set a ProductCode and UpgradeCode (both GUIDs). With NSIS you're left with scanning for registry keys or files from the prior install and then manually updating the Uninstall registry key. Doable but just feels dirty. And it's easy to forget to do this. Here's a screenshot of my Add/Remove programs after installing Thunderbird 2.0 beta 1 and then upgrading to beta 2.
