![InnoSetup](https://denisbisson.com/wp/wp-content/uploads/2009/06/InnoSetupLogo.jpg)
InnoSetup
In this new blog item I would like to bring to your attention an installer program I’ve discovered recently. In the past, to create the installer that will install my Global6 application on partner’s computer, I was using program like “GP-INSTALL” and then later “INSTALL SHIELD”. When I adapted my Global6 to run on Vista, the light version of Install Shield I was using was not working with Vista so I had to switch to something else. I then evaluate what was avaialble on the Delphi CD for the suggested installer which was “INSTALL AWARE”. This installer was nice and easy to configure and create something very nice. The only thing was the price!!! It was not free and to do a simple installation the price was something likre 300-400$ for the very light version. So I gave up.
BUT, lucky I was, I discovered InnoSetup. Not only it was a freeware, but as far as I’ve seen, it was as efficient and as polyvalent as the others I’ve tried in the past. I’ve send 50$ through Paypal to the creator of InnoSetup and since them, I don’t regret anything.
Some might not like InnoSetup because it’s not as graphical as some other installation program. It’s looks like much more like written a script and is closer to programming than placing file name from a file requester… In fact, you have to type a lot to do what you meant. If you want to install this file in this folder at the installation, there is no file requester… You type manually the file name of the source and you type the destination folder where it goes and so on. BUT, all this is compensate by all the nice options you can add when you copy the file. By the way, there is very nice features. Here are some of them:
When a destination file already exists, instead of stopping there like others with no clue about the problem, this installer will stop and will say “Hey, this file already exist, do you want me to overwrite or not…”. If for whatever reason it cannot replace it, at least, you now have the filename which created the problem instead of staying in the dark without knowing what caused that. For this particular case, there is also switches you can add to each fil copy to specify you want the existing file to be automatically overwritten for example.
Another nice feature I like is the capacity of the instsaller to automatically create a log file of the installation that take place. If there is a problem, if there is something that does not work on one of your colleague’s or client’s computer, you may ask them to send you back the installation log that will be created in the Windows’ temp folder.
Like I wrote earlier, this installer is not as nice as others for the graphical part of it. You need to type. For example, to create keys in the registry to associate your new installed program to a certain file extension for example, it’s not as automatic as some other installer. You have to type the key name where it goes, values, etc… But once you’ve done it once, once you know the line to type, it’s easy after to do a copy-and-paste of that and replace the key words by new ones that apply.
One thing also I love and that I did not find as easy as other installer program even if in fact it should maybe be a elementary feature is the “#ifdef” installation. In my case, there is different version of my application. One for my colleagues inside the same company, one for my clients, one for some verificators company, etc… With previous installer, it was not easy to create installation file from the same source. With InnoSetup, it’s much more easy since you directly write things like “#Define INSTALLATION_INTERNAL” and later on you’ll place specific bloc for this installation type between a “IFDEF INSTALLATION_INTERNAL” and “#ENDIF”.
One last thing I love also is their editor. It integrate color syntax which really help to see if you made mistake in a special reserved keyword or not. It’s also easy when you revised your script to see you different section, see if something is missing, etc…
There is also many nice feature and custom action during installation you can do. So in short words, InnoSetup is really great.
Here is a link to their site.