Rick Schummer writes about the importance of testing your installers on a non-dev machine. I couldn’t agree more. Especially important is the uninstall process which he also highlights.
I shake my head though at how complex the install process has become. I liked this guy’s comments about installing an app – why can’t we just copy over a folder like we did in the good old days? :-)
I know we’ve got more complexity in our apps these days, but you should see the hoops we are trying to jump through in some of our ‘simple’ apps.
Here’s a scenario we are struggling to overcome at present (and I imagine this is a common scenario amongst software vendors). It is a combination desktop and web site app that uses COM+ talking to SQL. Pretty straight forward, right?
Basically, we want an installer to do the following items on the clients web server (only a subset is required on a client machine):
1. Check and install VFP runtimes if needed
2. Check and install .Net runtimes if needed
3. Install Microsoft Enterprise library
4. Install VFP compiled COM+ package
5. Prompt user for SQL credentials and write these into an XML file6. Install VFP desktop app
7. Install .Net based web site including setup of virtual directories and port
8. Uninstall completely and intelligently if required
9. Automatically check for updates and install them as required
Your installer is the first big impression your potential client sees, so you want it to be slick and professional, and to leave no issues if uninstalled.
We’ve tried all the big names and some (like InstallShield) come pretty close, but we still don’t have it down as a single file installer.
For the sake of argument let’s assume the reason we haven’t got it working yet is because we don’t understand InstallShield properly. What does this say about the complexity that our Installer programs have reached. This can’t be a good thing.
I know we have so many issues with security and privileges today and we need to get our installers respecting these requirements, but I just lament that after all the hard work we put into our apps that the next step to getting the release to customers is so complex.
As an aside: I was very impressed with Microsoft’s latest installers for SQL 2005 and VS2005 – they were great looking, handled immense configuration options and worked (in my case atleast) perfectly. They must have put in a ton of work on this aspect. Goes to the whole ‘perception is everything’ message.