One of the things that most software companies have in common is that they struggle with software installation. For whatever reason, installing software seems hard. I estimate that installer development consumes at least 10% of software project's resources and installation issues are the cause of 20% of support calls. I've even known companies that have had developers dedicated only to installation. At Latitude, we have a couple of developers with installer experience. Interestingly, when they are asked to fix installer bugs, they disappear faster than arctic summer ice.

I can see why developing installers is hard work. Consider that installer writers must concern themselves with at least 4 different versions of windows, countless service packages, optional windows component, at least 3 different versions of IIS, different levels of windows security, and upgrade issues. For fun, hobble your installer developer by telling him that he must use the most primitive tools devised by man but yet he must have a working installer in three days when the next scheduled release of your software will ship. Finish him off by telling him that when his installer doesn't work, 1000 of his closest friends (your current customers) will be calling to personally complain to him. On second thought, maybe just paint a target on his forehead find someone to shoot him.

Over the coming months, we plan to revamp our installers and in doing so, will make them easier to work with and provide a much richer end user experience. Our approach will be to follow ESRI's lead which is to create a very simply MSI-based installer that will ask at most two questions: 1. Do you agree with our license agreement? and 2. If so, where would you like to install our software? When the installer completes, a post installation step will execute that will take care of software configuration. The post install step will be developed using traditional desktop UI tools that will provide a much better experience for both the customer and the developer alike. Users will be able to run the post install step over and over again, reconfiguring the their software as their needs change.

I'm excited to work on this new project and welcome the opportunity to relieve a bit of the pain we've felt over the last while.