Product Reviews


New installer entrant is programmatically extensible.

ActiveInstall is a new and spiffy entrant into the Windows Installer category. The ActiveInstall developers have gone to a great deal of effort to wrap up the setup development world in a modern IDE (it looks and works much like the Visual Studio .NET IDE, though it's actually an independent application), and to expose all of the power of Windows Installer while hiding the raw database tables that it depends on.

If you just want to build a simple setup application, things are pretty simple. Create a new project, set a few text strings, drag the files you want to a target directory, and you're done. Validation is performed as you work (rather than being a separate step, though you can also choose to validate the entire MSI database at any time), and when you're done you can build, test, and run the resulting setup application. From there you can use built-in editors to customize everything: registry settings, document associations, COM and ODBC resources, custom actions during setup, you name it.

ActiveInstall itself is an extensible application. It includes VBA for macro and customization programming, and includes a COM add-in architecture as well. The guts of ActiveInstall are also exposed as COM objects in case you'd like to drive it as part of an external build process from some other host. Imagine, for example, that you wanted to be able to churn out custom setup files with embedded license information on a per-customer basis; you could use Visual Basic to write a tool to slam the settings into ActiveInstall and perform the build, without ever opening the IDE. There's also SourceSafe integration (though the entire ActiveInstall file is checked in as one monolithic blob).

ActiveInstall includes some additional tools that go beyond simple setup authoring. These include a wizard to generate transform files, a patch builder, another wizard to export merge modules (which you can then pick up and use in further setups, of course), and an "MSI Comparator", which lets you perform a diff operation on a pair of Installer files to see what's changed.

The program easily handled the test cases I threw at it, including the ability to create a self-repairing installation and the ability to install a .NET assembly to the Global Assembly Cache. If you're ramping up on a new project that will use Windows Installer technology, and you need to find the right tool for the job, this one definitely belongs on the short list of candidates to evaluate.

About the Author

Mike Gunderloy, MCSE, MCSD, MCDBA, is a former MCP columnist and the author of numerous development books.


comments powered by Disqus

Subscribe on YouTube