Yes another MSI authoring tool, but this time one you may not have heard about – and one with a few gems wrapped in that make it worth taking a closer look. What sets InstallAware apart from the competition the most is how it goes about building an MSI. The graphical choices such as adding files and registry entries are provided as most tools offer. However, when you switch to the “script view” you do not see a list of sequences and actions, but an easy to read (and manipulate) script that spells out each action to be taken by the MSI and under what condition. When everything is just as you wish, InstallAware builds a fully compliant Windows Installer setup requiring no scripting runtimes or distributable.
Being an MSI authoring tool itself, you may find yourself looking closely at the installation of InstallAware itself- and without disappointment. The installation dialogs look good and standing out was a Destination Folder dialog that included a folder browse window, which is normally launched as a separate dialog. In an attempt to both take advantage of (and to show off) its cool Web Media Blocks, the installation looks to the web to obtain certain features and does not proceed if offline. When online, several plug-ins are downloaded and, depending upon your bandwidth, it can take quite some time to complete. The benefits of this feature are discussed later in this review, however seeing it in action illustrates a potential downside: the installation took a very long time to complete and the progress bar started over for each plug-in that was downloaded.
The interface presented by InstallAware provides both a visual and script view of your installation. The visual view parses your setup script and the other way around, so that each is always up-to-date reflecting any change made. The visual view contains 26 separate pages that represent different aspects of your installation, from files being installed to your setup dialog designs.
Not that any scripting is required, but definitely the most enticing feature is InstallAware’s scripting support. The unique scripting options still provide full support for all Windows Installer standards: every setup that is generated by InstallAware is in full compliance with all Windows Installer standards and features. And it does so without any runtime/scripting requirements.
Anyone that has played with custom actions will know that there are many limitations when trying to work with simple constructs such as an “else” condition or loop. InstallAware aims to make MSI scripting behave as you wish it did. To edit the parameters of a command, just double-click it. A dialog box pops up with the options that are available for that command and if you wish context sensitive help is available.
InstallAware does not take the approach of offering its own proprietary runtime (as vendors such as InstallShield and Wise do) but instead offer what they refer to as “Genuine Windows Installer Scripting”. One major benefit is you don’t need to worry about pre-installation of a script interpreter and native support for Windows Installer capabilities such as running with elevated privileges.
Using the dialog designer you can customize setup dialogs and design new ones from scratch. InstallAware 2005 ships with a pre-built collection of twelve setup themes. Having controls on your windows interact with one another is fairly easy: just double-click any control to bring up the Object Rules editor. This editor lets you visually configure how controls respond to state changes of other controls on the same window.
InstallAware ships with several pre-built plug-ins that perform various tasks, and also includes two plug-in templates for plug-ins implemented using the Visual C++ and Delphi programming languages. You may develop your own plug-ins in any environment capable of creating standard Win32 DLLs. Beyond developing your own plug-ins, some InstallAware licenses permit you to redistribute the automation libraries, so you can build installers directly on end-user systems as a feature of your own application.
InstallAware 2005 includes a new installation wizard called PackageAware. PackageAware is a standard before/after snapshot repackager that may be used to convert legacy installations (that were built without InstallAware and/or Windows Installer technology) to a Windows Installer installation. It works by scanning the system before and after an application is installed. It then compares those two scans and encapsulates the delta in an InstallAware installation project that you may further customize as needed.
Web Media Blocks
The Web Media Blocks feature allows for web deployment and partial web deployment. The latter option here is a unique one- InstallAware allows splitting the data contained inside a setup package into multiple online and offline parts. While web deployment traditionally involves putting the entire setup online, this allows you to choose which parts of their setup are to be downloaded, and which are to be provided with the main setup program. This can obviously save time and bandwidth not only for end users installing the applications, but also for companies hosting the downloads.
InstallAware 2005 includes a tool called the MSI CAB Decompressor which you can use to repack the installation databases provided as merge modules or prerequisite MSIs by extracting the already compressed files and recompressing them with InstallAware’s own enhanced compression algorithm (LZMA/BCJ2).
InstallAware 2005 introduces a “one-click patching feature”. To use one-click patching, you need only include its latest set of files in your setup as before. Then, add the installers for the previous versions of your package to your project as Patch References. The created patches contain the absolute minimum data and files that are required to upgrade your old versions to the newest version. It accomplishes this by taking binary/differential scans of the files in your different versions, and examining them. Only the changes between the different versions are included in the patch.
Error Free MSI Packages
Here is one claim I was a bit disappointed with. Having worked with several other repackaging and authoring tools, I know it is almost a certainty that they will not pass all ICE validation checks. The errors encountered are most always acceptable and do not impact deployment, however seeing so many errors in repackaged and vendor provided MSI packages starts you thinking that creating one that passes certification without manual steps may be impossible – unfortunately that assumption remains true. InstallAware claims to create MSI packages that do not contain ICE errors, but in my repackaged setup, I did find a several ICE errors (mostly warnings) including 5, 30, 40, 57, 60, 66, 82, 84. Most were just warnings and the resulting MSI functioned just fine, but the promise of an “error-free package” was not delivered.
Shelling to other MSI files
A nice feature worth mention: when seen interactively, any shelled MSI setups are accounted for in the progress bar presented to the user.
In the end, InstallAware provides several powerful features found no place else. Its intuitive scripting capabilities are unparalleled and the ability to host infrequently needed features of your setup online alone makes it worth a closer look.