Windows Installer has such a tremendous barrier to entry that it is inconceivable to build even a trivial setup without using a third party setup authoring tool. Even then, third party setup tools simplify only part of the task of building your setup - offering visual editors for common items like installing files, registry keys, and so on - but leaving you on your own resources to do even a slightly intelligent install. Therefore developers are often stuck trying to learn the internals of Windows Installer at some point or the other during the setup development process, time that would be better spent actually getting the setup itself done!
To make matters worse, one of the design limitations in Windows Installer
is lack of scripting - while you can indeed call custom scripts,
it is not possible to conditionalize the flow of the main
setup sequence itself. Although you may assign primitive conditions
to installation tasks, this is far from the ease and convenience
of traditional setup development, and very counter-intuitive.
InstallAware embraces and extends Windows Installer, offering the true
power of a scripting engine that allows conditionalized execution
of Windows Installer commands. Even better, InstallAware does so while remaining within the confines of Windows Installer,
and does not require or install a separate scripting engine.
As seen in the screenshot above, InstallAware’s MSIcode editor provides an easy-to-read (and easy-to-modify) setup language that describes each action to be performed by the MSI — along with each condition. At compile time, the intelligent and human readable MSIcode is converted into a fully logo compliant, independent MSI database that runs without the script-engine preinstall required by other tools like InstallShield. MSIcode allows you to rapidly author highly intelligent Windows Installer projects, without fearing the hazards of MSI tables, databases, custom actions, sequences, and syntax. Let InstallAware worry about the details of generating your MSI package while you work on your real setup, unencumbered by artificial limitations.
In the example above:
- The statements in blue indicate parts of the code where branching occurs
- Purple statements modify the target system and go through
- Statements in black obtain information about the system and drive the setup
- Gray statements are compiler directives, such as web media
You have full control over what gets installed
where, and how the setup flows. Each action that modifies
the target system executes only through Windows Installer
- no custom actions, DLLs, third-party scripting languages,
or any other proprietary technologies are involved. Only InstallAware gives you full control over your setup, and does so without
involving anything outside of Windows Installer itself.