Actions

The Actions page defines the actions that the installer performs during installation and removal of your product. It is organized in a Windows Explorer-like fashion: on the left is a tree that with the action sequences and on the right the contents of the currently selected sequence are shown in a list. Below the two, the attributes of the currently selected sequence or action are displayed.

Action sequences

An action sequence contains one or more actions for execution by the installer. There are two required action sequences (_EntryHandler and _ExitHandler) that serve as the entry and exit points of the installer; all other action sequences are optional.

Predefined action sequences

When you create a new InstallMate project, it contains the action sequences that implement a default installer. However, these action sequences are not cast in stone; you can change them, delete them, or add any number of others to create a fully customized installer.

We recommend, however, that you start with the predefined action sequences and modify them to suit your needs. Defining new action sequences requires a good understanding of the operation of the installer and should only be done after you have gained experience with the installer. The table below shows the predefined action sequences.

Action sequence Description
_EntryHandler [Required] Entry point for the installer. This is always the first action sequence that is executed. It typically contains early initialization actions, followed by conditional branches to other action sequences that handle specific installation or removal scenarios.
_ExitHandler [Required] Exit point for the installer. This is always the last action sequence that is executed, after all other action sequences are completed. It is intended for any custom clean-up actions; generic clean-up actions (either commit or rollback) are performed automatically by the installer.
DoChangeInstall Handles an add/remove components installation, which allows the user to change the installed components after the initial installation. It is reached from _EntryHandler if the installer's run mode is set to 1 and either branches off to UIChangeInstall for a full-UI installation, or runs MainInstall directly for a non-UI installation.
DoFirstInstall Handles a first-time installation. It is reached from _EntryHandler if the installer's run mode is set to 0 and either branches off to UIFirstInstall for a full-UI installation, or runs MainInstall directly for a non-UI installation.
DoPostBootRegister Handles post-boot registration, which is necessary if one or more files were in use during the initial installation. It is reached from _EntryHandler if the installer's run mode is set to 3 and always runs MainRegister directly for a non-UI installation.
DoRepair Handles an installation repair, which re-installs the product after the initial installation has become damaged somehow. It is reached from _EntryHandler if the installer's run mode is set to 4 and either branches off to UIRepairInstall for a full-UI installation, or runs MainRepair directly for a non-UI installation.
DoUninstall Handles product removal. It is reached from _EntryHandler if the installer's run mode is set to 2 and runs MainUninstall after asking the user for confirmation. (In a non-UI removal, the confirmation step automatically returns "Yes".)
MainInstall Defines the actions for a full installation, either as a first-time installation or as a subsequent add/remove features installation. It is called from various other sequences.
MainRegister Defines the actions for post-boot registration of self-registering files such as ActiveX controls. It is called from DoPostBootRegister.
MainRepair Defines the actions to repair an existing product installation. It is an abbreviated version of the MainInstall sequence and is called from DoRepair.
MainUninstall Defines the actions to uninstall a product. It is an abbreviated version of the MainInstall sequence and is called from DoUninstall.
UIChangeInstall Defines the user interface for an add/remove components installation and runs MainInstall after the user has selected the desired components and confirmed the installation. It is reached from DoChangeInstall.
UIFirstInstall Defines the user interface for a first-time installation and runs MainInstall after the user has selected the desired components and confirmed the installation. It is reached from DoFirstInstall.
UIInstallFailed Defines the user interface for a failed installation report. It is reached from various other UI... action sequences in case of an installation error.
UIRepair Defines the user interface for a product repair installation and runs MainRepair after the user has confirmed the repair. It is reached from DoRepair.

Related topics

Action Sequence, Alphabetical list of actions, Working with project pages