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 standard actions used by Advanced Installer can be showed by using the "Show Standard Action" button on the toolbar of the "Custom Actions" page and they are:

InstallUISequence

Standard ActionDescription
Beginstarts the UI sequence (when the dialogs are showed)
PrepareDlg"PrepareDlg" dialog is showed
AppSearchperforms 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
LaunchConditionsevaluates the launch conditions
CCPSearchvalidates that qualifying products are installed on a system before an upgrade is performed
RMCCPSearchvalidates that qualifying products are installed on a system before an upgrade is performed
CostInitializedetermines the disk space required by the install process
FileCostdetermines the disk space required by each file in the Files and Folders page
CostFinalizeends the disk space costing and resolves the folders in the project
MigrateFeatureStatesduring an upgrade it reads the feature states in the old version and then sets these feature states in the new version.
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
ExecuteActionstarts the Execute sequence (when the actual installation is performed)

InstallExecuteSequence

Before Initialization

Standard ActionDescription
Beginstarts the Execute sequence (when the actual installation is performed)
AppSearchperforms the searches from the Search page
FindRelatedProductsolder or newer versions of the package are searched. If an older version is found, its Product Code is placed in the "OLDPRODUCTS" property
LaunchConditionsevaluates the launch conditions
CCPSearchvalidates that qualifying products are installed on a system before an upgrade is performed
RMCCPSearchvalidates that qualifying products are installed on a system before an upgrade is performed
ValidateProductIDsets the ProductID property to the full product identifier
CostInitializedetermines the disk space required by the install process
FileCostdetermines the disk space required by each file in the Files and Folders page.
IsolateComponentsinstalls 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
CostFinalizeends the disk space costing and resolves the folders in the project
SetODBCFolderschecks for existing ODBC drivers on the system and sets the target directory of each new driver to the location of an existing driver
MigrateFeatureStatesduring an upgrade it reads the feature states in the old version and then sets these feature states in the new version
InstallValidateverifies 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
RemoveExistingProductsupgrades an older version of the package if one is found

Before File Installation

Standard ActionDescription
InstallInitializemarks the beginning of the sequence of actions which change the system
AllocateRegistrySpaceensures that an appropriate amount of free registry space exists in the registry.
ProcessComponentsregisters and unregisters components, their key paths and the component clients
MsiUnpublishAssembliesunpublish the assemblies installed by the package. Runs only during an uninstall
Uninstallremoves components
UnpublishComponentsremoves information about components published by the package. Runs only during an uninstall
UnpublishFeaturesremoves selection-state and feature-component mapping information from the system registry. Runs only during an uninstall
StopServicesstops services which use "Stop" control operations in the package
DeleteServicesremoves services which use "Delete" control operations in the package.
UnregisterComPlusremoves COM+ applications from the registry. Runs only during an uninstall
SelfUnregModulesunregisters all modules which used self registration during install. Runs only during an uninstall
UnregisterTypeLibrariesunregisters type libraries from the system. Runs only during an uninstall
RemoveODBCremoves the ODBC data sources, translators and drivers. Runs only during an uninstall
UnregisterFontsremoves registration information about installed fonts from the system. Runs only during an uninstall
RemoveRegistryValuesremoves registry entries created in the Registry page. Runs only during an uninstall
UnregisterClassInfomanages the removal of COM class information from the system registry. Runs only during an uninstall
UnregisterExtensionInfomanages the removal of extension-related information from the system registry. Runs only during an uninstall
UnregisterProgIdInfomanages the unregistration of OLE ProgId information with the system. Runs only during an uninstall
UnregisterMIMEInfounregisters MIME-related registry information from the system. Runs only during an uninstall
RemoveINIValuesremoves INI files or entries created in the Files and Folders page. Runs only during an uninstall
RemoveShortcutsremoves the shortcuts created in the Files and Folders page. Runs only during an uninstall
RemoveEnvironmentStringsmodifies or removes the environment variables created in the Environment page. Runs only during an uninstall
RemoveDuplicateFilesremoves files created by File Duplication operations. Runs only during an uninstall
RemoveFilesremoves the files created in the Files and Folders page. Runs only during an uninstall
RemoveFoldersremoves the folders created in the Files and Folders page. Runs only during an uninstall
CreateFolderscreates the folders specified in the Files and Folders page.
MoveFilesmoves or copies files which use File Move operations

Before Finalization

Standard ActionDescription
InstallFilesinstalls the files specified in the Files and Folders page
PatchFilespatches the files included in the patch package. Runs only during a patch installation
DuplicateFilesduplicates the files which use File Duplication operations
BindImagebinds each executable or DLL that must be bound to the DLLs imported by it. This is not used by packages created with Advanced Installer
CreateShortcutscreates the shortcuts specified in the Files and Folders page
RegisterClassInfomanages the registration of COM class information with the system
RegisterExtensionInfomanages the registration of extension related information with the system.
RegisterProgIdInfomanages the registration of OLE ProgId information with the system
RegisterMIMEInforegisters MIME-related registry information with the system
WriteRegistryValuescreates the registry values specified in the Registry page
WriteINIValuescreates INI files or entries specified in the Files and Folders page
WriteEnvironmentStringscreates or modifies the environment variables created in the Environment page
RegisterFontsregisters fonts marked for registration
InstallODBCinstalls ODBC drivers, translators and data sources
RegisterTypeLibrariesregisters type libraries with the system
SelfRegModulesregisters the modules which use self registration
RegisterComPlusregisters COM+ applications
InstallServicesinstalls services specified in the Services page
MsiConfigureServicesconfigures the services to be ready to start
StartServicesstarts services which use "Start" control operations in the package
Rollbackperforms installation rollback in case of an error
Installinstalls or removes components
Commitremoves rollback information
RegisterUserregisters the user information with the installer to identify the user of a product
RegisterProductregisters the product information with the installer and with Add/Remove Programs. Also, it caches the MSI package
PublishComponentsmanages components which need to be published
MsiPublishAssembliespublishes the assemblies installed by the package
PublishFeatureswrites each feature's state into the system registry
PublishProductmanages 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
InstallExecuteruns a script containing all operations in the action sequence since either the start of the installation or the last InstallExecute action
InstallIISmanages the elements created in the IIS page
InstallFinalizeruns a script that contains all operations spooled since the installation started. Also, it marks the end of the Execute sequence

Topics