Windows Installer Standard Actions

A Windows Installer installation process is run as a sequence of events, called Standard Actions.
In between them, you can schedule your own custom
actions.
The Installation Sequences used by Advanced Installer can displayed by Groups,
Sequences or in a Compact mode using Tree Layout button on the toolbar of the "Custom Actions"
page.
For more related information you can follow Windows Installer Custom Actions.
Wizard Dialogs Stage

Searches

| Standard Action | Description | | PrepareDlg | "PrepareDlg" dialog is showed |
| AppSearch | performs the searches from the Search page |
| FindRelatedProducts | older or newer versions of the package are searched. If an older
version is found, its Product Code is placed in the "OLDPRODUCTS" property |
| LaunchConditions | evaluates the launch conditions |
| CCPSearch | validates that qualifying products are installed on a system
before an upgrade is performed |
| RMCCPSearch | validates that qualifying products are installed on a system
before an upgrade is performed |
Paths Resolution

| CostInitialize | determines the disk space required by the install process | | FileCost | determines the disk space required by each file in the Files and Folders page |
| CostFinalize | ends the disk space costing and resolves the folders in the
project |
| MigrateFeatureStates | during an upgrade it reads the feature states in the old version
and then sets these feature states in the new version. |
User Selection

| WelcomeDlg | "WelcomDlg" dialog is showed | | ResumeDlg | "ResumeDlg" dialog is showed |
| MaintenanceWelcomeDlg | "MaintenanceWelcomeDlg" dialog is showed |
| PatchWelcomeDlg | "PatchWelcomeDlg" dialog is showed |
| ProgressDlg | "ProgressDlg" dialog is showed |
Install Execution Stage

Searches

| Standard Action | Description | | AppSearch | performs the searches from the Search page |
| FindRelatedProducts | older or newer versions of the package are searched. If an older
version is found, its Product Code is placed in the "OLDPRODUCTS" property |
| LaunchConditions | evaluates the launch conditions |
| CCPSearch | validates that qualifying products are installed on a system
before an upgrade is performed |
| RMCCPSearch | validates that qualifying products are installed on a system
before an upgrade is performed |
| ValidateProductID | sets the ProductID property to the full product identifier |
Paths Resolution

| CostInitialize | determines the disk space required by the install process | | FileCost | determines the disk space required by each file in the Files and Folders page. |
| IsolateComponents | installs a copy of a component (commonly a shared DLL) into a
private location for use by a specific application (typically an .exe). This isolates
the application from other copies of the component that may be installed to a shared
location on the computer |
| CostFinalize | ends the disk space costing and resolves the folders in the
project |
| SetODBCFolders | checks for existing ODBC drivers on the system and sets the
target directory of each new driver to the location of an existing driver |
| MigrateFeatureStates | during an upgrade it reads the feature states in the old version
and then sets these feature states in the new version |
Preparing

| InstallValidate | verifies that all volumes to which cost has been attributed
have sufficient space for the installation. It also notifies the user if one or more
files to be overwritten or removed are currently in use by an active process | | RemoveExistingProducts | upgrades an older version of the package if one is found |
| InstallInitialize | marks the beginning of the sequence of actions which change the
system |
| AllocateRegistrySpace | ensures that an appropriate amount of free registry space
exists in the registry. |
| ProcessComponents | registers and unregisters components, their key paths and the
component clients |
Remove Resources

| MsiUnpublishAssemblies | unpublish the assemblies installed by the package. Runs only
during an uninstall | | UnpublishComponents | removes information about components published by the package.
Runs only during an uninstall |
| UnpublishFeatures | removes selection-state and feature-component mapping
information from the system registry. Runs only during an uninstall |
| StopServices | stops services which use "Stop" control operations in the package |
| DeleteServices | removes services which use "Delete" control operations in the
package. |
| UnregisterComPlus | removes COM+ applications from the registry. Runs only during
an uninstall |
| SelfUnregModules | unregisters all modules which used self registration during install. Runs only
during an uninstall |
| UnregisterTypeLibraries | unregisters type libraries from the system. Runs only during an
uninstall |
| RemoveODBC | removes the ODBC data sources, translators and drivers. Runs
only during an uninstall |
| UnregisterFonts | removes registration information about installed fonts from the
system. Runs only during an uninstall |
| RemoveRegistryValues | removes registry entries created in the Registry page. Runs only during an uninstall |
| UnregisterClassInfo | manages the removal of COM class information from the system
registry. Runs only during an uninstall |
| UnregisterExtensionInfo | manages the removal of extension-related information from the
system registry. Runs only during an uninstall |
| UnregisterProgIdInfo | manages the unregistration of OLE ProgId information with the
system. Runs only during an uninstall |
| UnregisterMIMEInfo | unregisters MIME-related registry information from the system.
Runs only during an uninstall |
| RemoveINIValues | removes INI files or entries created in the Files and Folders page. Runs only during an
uninstall |
| RemoveShortcuts | removes the shortcuts created in the Files and Folders page. Runs only during an
uninstall |
| RemoveEnvironmentStrings | modifies or removes the environment variables created in the
Environment page. Runs only during an
uninstall |
| RemoveDuplicateFiles | removes files created by File Duplication operations. Runs only
during an uninstall |
| RemoveFiles | removes the files created in the Files and Folders page. Runs only during an uninstall |
| RemoveFolders | removes the folders created in the Files and Folders page. Runs only during an
uninstall |
Add Resources

| CreateFolders | creates the folders specified in the Files and Folders page. | | MoveFiles | moves or copies files which use File Move operations |
| InstallFiles | installs the files specified in the Files and Folders page |
| PatchFiles | patches the files included in the patch package. Runs only
during a patch installation |
| DuplicateFiles | duplicates the files which use File Duplication operations |
| BindImage | binds each executable or DLL that must be bound to the DLLs
imported by it. This is not used by packages created with Advanced Installer |
| CreateShortcuts | creates the shortcuts specified in the Files and Folders page |
| RegisterClassInfo | manages the registration of COM class information with the
system |
| RegisterExtensionInfo | manages the registration of extension related information with
the system. |
| RegisterProgIdInfo | manages the registration of OLE ProgId information with the
system |
| RegisterMIMEInfo | registers MIME-related registry information with the
system |
| WriteRegistryValues | creates the registry values specified in the Registry page |
| WriteINIValues | creates INI files or entries specified in the Files and Folders page |
| WriteEnvironmentStrings | creates or modifies the environment variables created in the
Environment page |
| RegisterFonts | registers fonts marked for
registration |
| InstallODBC | installs ODBC drivers, translators and data sources |
| RegisterTypeLibraries | registers type libraries with the system |
| SelfRegModules | registers the modules which use self registration |
| RegisterComPlus | registers COM+ applications |
| InstallServices | installs services specified in the Services page |
| MsiConfigureServices | configures the services to be ready to start |
| StartServices | starts services which use "Start" control operations in the package |
| RegisterUser | registers the user information with the installer to identify
the user of a product |
| RegisterProduct | registers the product information with the installer and with
Programs and Features. Also, it caches the MSI package |
| PublishComponents | manages components which need to be published |
| MsiPublishAssemblies | publishes the assemblies installed by the package |
| PublishFeatures | writes each feature's state into the system registry |
| PublishProduct | manages the advertisement of the product information with the
system. This action publishes the product if the product is in advertise mode or if
any feature is being installed or reinstalled |
Finish Execution

| InstallExecute | runs a script containing all operations in the action sequence
since either the start of the installation or the last InstallExecute action | | InstallFinalize | runs a script that contains all operations spooled since the
installation started. Also, it marks the end of the Execute sequence |
Topics