Inno Setup is a tool for building Windows Installers (i.e. “setup.exe” programs). Inno Setup is FOSS (free open source software). It’s powerful and flexible; the learning curve is fairly gentle; and, the price is right. From their home page: “Inno Setup is a free installer for Windows programs. First introduced in 1997, Inno Setup today rivals and even surpasses many commercial installers in feature set and stability.” Inno Setup is a healthy, active project that gets updated several times a year. (Version 5.1.11 was just released on March 1, 2007.)
Image may be NSFW.
Clik here to view.
No Job Too Small: Since Inno Setup is so easy to use, it’s worth considering for even the tiniest of projects — and we’re not just talking about installing software here. If there is ever a situation when files of any sort are sent to a third-party (“the user”), and then somebody needs to talk that user through a process of doing something with those files (e.g. making sure they get placed in a certain location), then that right there is a candidate for an Inno Setup job.
How It Works: The package consists of the installer compiler plus a specialized editor for the *.ISS script files (the “IDE”). The compiler, the IDE, and the resultant setup.exe programs all require Windows.
Image may be NSFW.
Clik here to view.
An *.ISS file is a plain ASCII file that describes the makeup of a setup.exe to be built. Think of the ISS file as a manifest. It pretty much looks like an INI file. There is a section to specify overall settings, a section to specify the files to be delivered permanently, as well as files that are delivered temporarily (and used during the installation process but then deleted), a section to specified tasks that are to be completed, and more. Because the ISS file is plain ASCII, it could be edited with any text editor; however, there are hundreds of options and nuances, so it is best to use the specialized editor for anything but the smallest of changes.
Reasons to Use It: Here, in a nutshell, are just some of the advantages for distributing updates this way (as opposed to having to use a manual process, or relying on a hardcoded batch file):
- You’ll have way more confidence that things will work properly on the user’s machine.
- It’s the simplest possible procedure for the user to follow.
- There is flexibility in letting the user specify the base folder at install time, rather than forcing it to always be on the same drive in the same location — as a batch file usually requires.
- Everything is (usually) distributed as a single file (setup.exe).
- The deliveries are consistently described, versioned, copyrighted, etc.
- And last, but not least, it presents the user with a nicely professional look & feel.
Download link: Get the “Quick Start Pack” from http://www.jrsoftware.org/isdl.php#qsp
Tip #1: When running the Quick Start Pack, an Internet connection must remain open. This is because the specialized editor is not included in the Quick Start Pack, but it can be automatically downloaded and installed.
Tip #2: If you ever have a question about the inner workings of Inno Setup, don’t hesitate to look at the source code. Inno Setup is written in Borland Delphi/Pascal, but Delphi code is extremely easy to understand for anyone with any programming background at all. A lot of the language is plain English with very little in the way of arcane symbols.
Tip #3: It is not necessary to choose between Inno Setup and a batch file. Inno Setup can run a batch file as part of the install process.
Tip #4: Lines that begin with a semicolon are comments, but be aware that semicolons that appear elsewhere are regular separators — another reason to rely on a specialized editor.
Tip #5: The order in which the sections appear in the script does NOT matter. The Inno Setup compiler is preprogrammed to process the sections in a certain order. In this sense, it’s really not a “script,” but rather a “specification.”
Tip #6: The order of the entries within each section DOES matter. They are processed in order.
Tip #7: The bulk of the work is done by the [Files] section. Each line represents a file-copy operation. Normally, this means copying a file from within the setup.exe to the destination computer’s hard disk, but an “external” flag means that the source is already on the hard disk.
Tip #8: There does not seem to be a way to “move” or “rename” using the [Files] section. One trick is to copy the file and then invoke a BAT file (via the [Run] section) to DEL the original. Note: There is an [Install Delete] section, but that happens before the [Files] section, so if you try to delete the original that way, the copy will never occur.