rik.org
Developing software and games
|
Fun with InstallersBy Rik Heywood Recently I decided to rebuild the installer for Cipher and found myself getting very frustrated with InstallShield. This is not a new experience for me. Almost every product I have worked on has had an installer created using InstallShield and it has always been painful. In the past I suspect I had just resigned myself to the fact that building an installer for your product took a few days to create initially and a lot of time throughout the project to maintain and keep up to date. This time I snapped. In cloud a swear words I hit Google in search of an alternative. It didn't take long to find the usual suspects (InstallShield, Wise etc), but they all appeared to work in the same way and I suspected they would cause me similar levels of pain. I do not need much from a installer. Here is a short list of the kind of features that would be important to me...
As you can see, my needs are pretty simple, which is why I get so frustrated. I doubt a product could even claim to create installers if it did not do the first 4 items on my list. A Better Way When the searches did not give me the answer I wanted, I turned to a friend of mine that is also a software developer. As luck would have it he had experienced the same annoyance as me a few months previously and decided to develop his own solution. Since he was planning on releasing his efforts under the GPL, he mailed me a copy so I could try it out. The approach he has taken was simplicity itself. The installer is controlled by a simple script that lists which files and folders to install and where to install them. The scripts are not programs, but more like .ini files. Other sections of the script let you set up icons in the start menu and set up the registry. 20 minutes later I had a working installer for Cipher that would need practically no maintenance. There were a couple of features missing that I would ultimately need, but he was giving away the source. The features I needed would not be that hard to add, especially since I was confident that the source code would be well written, robust and easy to extend (he is a very good software developer). I felt good. No more days of error prone pain, re-adding all the files in my installation. No more clicking through 50 dialogs to rebuild the install set. In fact, no more InstallShield. Another Better Way
After building the installer for Cipher for the third time in as many days, I can't recommend Inno Setup highly enough. Again it only took me about 20 minutes to get Cipher's installation working using this product. Every time I thought "This is pretty good, but it would be cool if I could change that...", I would find the page in the help file that explained that you could do exactly what I wanted by making some trivial change to the install script. Cipher's installers now copy the files I want, to the location I want them installed. Shortcuts to the support web site, documentation and samples are included on the start menu. The whole installer is packaged up in a single file, so licensees will be able to download and install it easily. The only question that remains is, how come it has taken so long for someone to make that job simple? If you are a developer and you are looking for an installer, then go to http://www.jrsoftware.org/isinfo.htm, download Inno Setup and settle down for an easy life. |
Copyright © 2001-2002 Rik Heywood.
All rights reserved.