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

TipFor more related information you can follow Windows Installer Custom Actions.

Wizard Dialogs Stage

Searches

Standard ActionDescription
PrepareDlg"PrepareDlg" dialog is showed
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

Paths Resolution

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.

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 ActionDescription
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

Paths Resolution

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

Preparing

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
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

Remove Resources

MsiUnpublishAssembliesunpublish the assemblies installed by the package. Runs only during an uninstall
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

Add Resources

CreateFolderscreates the folders specified in the Files and Folders page.
MoveFilesmoves or copies files which use File Move operations
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
RegisterUserregisters the user information with the installer to identify the user of a product
RegisterProductregisters the product information with the installer and with Programs and Features. 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

Finish Execution

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

Topics