Custom Action Type 51
This custom action sets a property from a formatted text string.
To affect a property used in a condition on a component or feature, the custom action must come before the CostFinalize action in the action sequence.
Source
The Source field of the CustomAction table can contain either the name of a property or a key to the Property table. This property is set by the formatted string in the Target field using MsiSetProperty.
Type Value
Include the following value in the Type column of the CustomAction table to specify the basic numeric type.
Constants | Hexadecimal | Decimal |
---|---|---|
msidbCustomActionTypeTextData + msidbCustomActionTypeProperty | 0x033 | 51 |
Target
The Target column of the CustomAction table contains a text string formatted using the functionality specified in MsiFormatRecord (without the numeric field specifiers). Parameters to be replaced are enclosed in square brackets, […], and may be properties, environment variables (% prefix), file paths (# prefix), or component directory paths ($ prefix).
Return Processing Options
The custom action does not use these options.
Execution Scheduling Options
Include optional flag bits in the Type column of the CustomAction table to specify execution scheduling options. These options control the multiple execution of custom actions. For a description of the options, see Custom Action Execution Scheduling Options.
In-Script Execution Options
The custom action does not use these options.
Return Values
See Custom Action Return Values.
Remarks
If you set a private property in the UI sequence by authoring a custom action in one of the user interface sequence tables, that property is not set in the execution sequence. To set the property in the execution sequence, you must also put a custom action in an execution sequence table. Alternatively, you can make the property a public property and include it in the SecureCustomProperties property.
Related topics