Install Shield, Friend or Foe
At work I’ve been using the newest and greatest Install Shield Premier 2008 for packing aforementioned Visual Basic application. We actually had version 10.5 sitting around, but somehow I managed to change the dependencies for this application is such a way that it confused the heck out of the 10.5 version. Now, I’m coming from a unique perspective here, in that I’ve attempted to use 10.5 and 2008. Here are my “Install Shield Grips”:
- The difference between MSI project types is nearly meaningless. “Basic MSI” can only literally handle just a straight up wizard created project. Anything remotely useful requires you to migrate to the InstallScript related projects. My point here, why even bother having it as an option.
- Documentation included within the app is sparse at best. Documentation online is marginally better. $250 manuals, ever so slightly more useful than online docs. Would it kill them to keep these manuals up to date as well? I’ve already come across a few cases where the manual for 2008 does not reflect changes made since 12.
- Complete lack of a useful Dialog building GUI. Was an issue in 10.5 and still is an issue in 2008. Seriously people, if you going to charge that much for your product… give me something I can actually see as an improvement.
- Did I mention the entire interface for the application has basically remained the same? Well it has, all the slow loading pages and forms are still here in 2008.
- Want to test custom script actions? You’ll have to rebuild your who MSI project to do that. In my case that’s a 20 minute or so wait between tests.
- They have this nifty feature called release flags, but fail to implement it everywhere it could be useful. Results in you hacking the install scripts to get behaviors based on the release flag anyways.
- Skinning support is poor to horrible. Let’s not forget that it’s documentation is poor as well, making it all that more entertaining to use.
Well I should also point out what this software does well:
- Dependency scanning for crap old VB applications is amazing. It also includes (or can be downloaded with the update manager) all the MSI merge modules for those dependencies that are difficult to install manually. It’s actually why we updated to 2008.
- Multi language support is half-descent
- Phone support has so far been very good
- It has a lot of nifty built in features that nearly work exactly has you want them to, majority of the time. XML and INI file editing comes to mind.
- It has a GUI for what it’s worth…
Some of you are probably thinking to your selves, “But James, there’s plenty of free alternatives out there.” And you sir/madam would be correct and very smart. Let me tell you why I couldn’t use InnoSetup or NSIS. They don’t dependency scan (even with the addon tools) nearly well enough to catch everything a complex VB application uses to run. At one point I actually tried to duplicate what Install Shield had determined the dependencies as, but that didn’t work either.
I do plan on using one of those two alternatives in the future (most likely NSIS). Both options built the installation package much faster than InstallShield can. They both are very flexible and extend able; and, they’re free and well supported. NSIS comes with an amazing set of examples that cover nearly any installation situation you would come across. InnoSetup also has a very good community behind it. Until the software is rewritten to have less dependencies I don’t believe I’ll be able to escape the InstallShield monster; but, for now I do have a good handle on how to work with it and get it to do my whims (most of the time).