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.

Numeric Type

Type nameValue
msidbCustomActionTypeInstall + msidbCustomActionTypeSourceFile23



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.

Return Processing Options

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.

Execution Scheduling Options

Options flags are available to control the potential multiple execution of custom actions. For more information, see Custom Action Execution Scheduling Options.

In-Script Execution Options

Not used.

Return Values

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_REBOOTThe restart flag will be set to restart at end of the installation.
ERROR_INSTALL_REBOOT_NOWA restart is required before completing the installation. The restart will be processed immediately.
ERROR_SUCCESS_REBOOT_REQUIREDA 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.

Related topics

Concurrent Installations
Custom Action Reference
About Custom Actions
Using Custom Actions
Custom Action Return Values