CustomAction Table

[This is preliminary documentation and subject to change.]

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

The CustomAction table has the following columns.

Column Type Key Nullable
Action Identifier Y N
Type Integer N
Source CustomSource Y
Target Text Y

Columns

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

Primary table key.

Type
The numeric custom action type.

One of icvEnum, as described in Custom Action Types.

Source
External key into the table containing the source of the code.

External key, referencing column one of one of the following tables containing the source of the 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.

Target
Execution parameter.

The value depends on the type of custom action being performed.
Target contains this value When performing this 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.