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.
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
- Custom Actions
The Windows Installer Custom Actions.