Custom Action Type 23
The Custom Action Type 23 is used with concurrent installations. Concurrent installations are not recommended for the installation of applications intended for release to the public. For information about concurrent installations please see Concurrent Installations.
This custom action installs another installer package that resides in the application's source tree.
The location of the concurrent installation package is specified relative to the root of the source location shown in the Source field of the CustomAction table.
|msidbCustomActionTypeInstall + msidbCustomActionTypeSourceFile||23|
The Target field of the CustomAction table contains property settings that are to be passed to the concurrent installation. These property settings can specify features.
The concurrent installation session runs as a separate thread in the current process. A concurrent installation cannot run asynchronously.
For more information, see Custom Action Return Processing Options.
Options flags are available to control the potential multiple execution of custom actions. For more information, see Custom Action Execution Scheduling Options.
The return status of user exit, failure, suspend, or success from a concurrent installation is processed in the same way as any other action. Note however, that Windows Installer translates the return values from all actions when it writes the return value into the log file. For example, if the action return value appears as 1 in the log file, this means that the action returned ERROR_SUCCESS. For more information, see Logging of Action Return Values.
Note that if a concurrent installation has msidbCustomActionTypeContinue set, then a return of ERROR_INSTALL_USEREXIT, ERROR_INSTALL_REBOOT, ERROR_INSTALL_REBOOT_NOW, or ERROR_SUCCESS_REBOOT_REQUIRED is treated as ERROR_SUCCESS. This means that if you set msidbCustomActionTypeContinue and your concurrent installation requires a restart, the requirement for the restart will be ignored. Additionally, the error code from the concurrent installation custom action will be ignored.
If msidbCustomActionTypeContinue is not set, the following return codes plus ERROR_SUCCESS are treated as success and have the following meanings. Other return codes are treated as failure.
|ERROR_INSTALL_REBOOT||The restart flag will be set to restart at end of the installation.|
|ERROR_INSTALL_REBOOT_NOW||A restart is required before completing the installation. The restart will be processed immediately.|
|ERROR_SUCCESS_REBOOT_REQUIRED||A restart was required, but was suppressed.|
A conditional expression is required to enable the concurrent installation at either installation or removal of the associated component or feature.
- Concurrent Installations
- Custom Action Reference
- About Custom Actions
- Using Custom Actions
- Custom Action Return Values