InstallAware for Windows Installer Header Image Windows Installer without Rocket Science
InstallAware for Windows Installer

Classes of Commands

There are several types of commands which are available to you in your scripting. Below is an explanation of these types of commands.

Filtering Commands

You may filter the commands displayed by typing directly in the search box. Commands will be filtered and sorted by their usage.

Commands by Usage

The drag-drop MSIcode component palette sorts commands by their intended area of usage.

You may also directly type commands in the script editor instead of dragging and dropping from the component palette.


Perform helpful manipulation of script variables (such as Parse String) and evaluate logical or mathematical expressions (such as Evaluate Expression and Mathematics).

Flow Control

Direct program flow (such as If), apply all pending changes to the system (such as Apply Changes), and quit setup (such as Reboot and Resume).

User Interface

Display wizard dialogs (such as Display Dialog), notify the user (such as MessageBalloon), and define user visible setup features (such as Define Component).

System Information

Do not alter the state of the underlying system, but obtain system information (such as Check Process, Get System Settings, and Read from Text File).

Windows Installer

Generate Windows Installer database table entries and modify the target system (such as Install Files, Create Shortcut, and Write Registry).

With the Windows Installer engine, these commands are not applied to the target system until Apply Changes is called, but "cached" until then.

With the Native Engine, these commands are applied immediately, unless the pre-defined variable $DELAYUNTIL_APPLYCHANGES$ is FALSE.

Direct Execute

For setup functionality that is not covered by the standard Windows Installer feature set, directly modify the target system (such as Create IIS Site, Delete Files Recursive, and Write to Text File). Unlike Windows Installer commands, these commands are never "cached" and execute immediately.

Compiler Directives

Statements that affect how your setup is compiled at build-time (such as Comment, Compiler Variable If, and Web Media Block).


Any custom command which is not built-in to the IDE, but installable as a plug-in to perform a specialized task (such as Call DLL Function, DIFx Driver Install, and MS SQL Instances).

Commands by Compiler Types

Each command type is highlighted differently in the script editor. This highlighting illustrates how the commands are viewed by the compiler:


Comments refer both to Comment commands and also portions of code which have been commented out.

Flow Control

These alter program flow, and include commands like Wizard Loop and If.


Plug-in commands perform highly customized actions, from installing runtimes to downloading files.


Compiler directives are not constrained by program flow and perform compile time tasks, such as the Web Media Block command.

Windows Installer

Windows Installer commands actually perform installation tasks and modify the target system. A large number of commands in InstallAware which effect the target system are Windows Installer commands, with the exception of Direct Execute commands.

Modify System

Modify system commands finalize queued changes and execute Windows Installer. The Apply Changes command is in this category.


Label commands are used in conjunction with GoTo Label commands.


Commands that display dialogs, obtain general system information, and perform other similar tasks fall in this category.