InstallAware for Windows Installer Header Image Windows Installer without Rocket Science

MSIcode - The Simple Way to Build Windows Installer Setups

  Download Now      Buy Now


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.


Windows Installer - Scripting


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 Windows Installer
  • Statements in black obtain information about the system and drive the setup
  • Gray statements are compiler directives, such as web media blocks


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.


Windows Installer Optimizing Compiler


With InstallAware, you never have to worry about editing Windows Installer tables. In fact, working with Windows Installer tables will soon be a thing of the past - a feeling akin to graduating from assembler programming. InstallAware's MSIcode script is similar to a high level language like C++, powered by a highly optimizing MSI compiler, which emits all the necessary Windows Installer features, components, properties, custom actions, tables, and so on for you. You may even customize your MSI code generation options in your InstallAware project settings - accelerating your Windows Installer package, and fine tuning it for maximum patching compatibility across diverse versions. You will not find the compiler settings above in any other Windows Installer tool, simply because none of them have been designed to be the high-level abstract Windows Installer compiler that InstallAware is.