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.
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 Add/Remove Programs. 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