CustomAction Table

The CustomAction table provides the means of integrating custom code and data into the installation. The source of the code that is executed can be a stream contained within the database, a recently installed file, or an existing executable file.

The CustomAction table has the following columns.

Column Type Key Nullable
Action Identifier Y N
Type Integer N N
Source CustomSource N Y
Target Formatted N Y
ExtendedType DoubleInteger N Y




Name of the action. The action normally appears in a sequence table unless it is called by another custom action. If the name matches any built-in action, then the custom action is never called.

Primary table key.


A field of flag bits specifying the basic type of custom action and options. See Summary List of All Custom Action Types for a list of the basic types. See Custom Action Return Processing Options, Custom Action Execution Scheduling Options, Custom Action Hidden Target Option, and Custom Action In-Script Execution Options.


A property name or external key into another table. For a discussion of the possible custom action sources, see Custom Action Sources and the Summary List of All Custom Action Types. For example, the Source column may contain an external key into the first column of one of the following tables containing the source of the custom action code.

Directory table for calling existing executables.

File table for calling executables and DLLs that have just been installed.

Binary table for calling executables, DLLs, and data stored in the database.

Property table for calling executables whose paths are held by a property.


An execution parameter that depends on the basic type of custom action. See the Summary List of All Custom Action Types for a description of what should be entered in this field for each type of custom action. For example, this field may contain the following depending on the custom action.

Target Custom action
Entry point (required) Calling a DLL.
Executable name with arguments (required) Calling an existing executable.
Command line arguments (optional) Calling an executable just installed.
Target file name (required) Creating a file from custom data.
Null Executing script code.



Enter the msidbCustomActionTypePatchUninstall value in this field to specify a custom action with the Custom Action Patch Uninstall Option.

Windows Installer 4.0 and earlier: Not supported. This option is available beginning with Windows Installer 4.5.

For more information, see all the topics under Custom Actions.