Condition Table

[This is preliminary documentation and subject to change.]

The Condition table can be used to modify the selection state of any entry in the Feature table based on a conditional expression.

The Condition table has the following columns.

Column Type Key Nullable
Feature_ Identifier Y N
Level Integer Y N
Condition Condition Y

Columns

Feature_
External key to a Feature entry in the Feature table.

External key into column one of the Feature table.

Level
New selection Level to set in the Feature table if Condition evaluates to TRUE.
Condition
If this conditional expression evaluates to TRUE, the Level value in the Feature entry of the Feature table is set to the Level value in this table. For information on the conditional syntax, see MsiEvaluateCondition.

Remarks

If Condition evaluates to True, the corresponding Level value in the Feature table is set to the value specified in the Condition table Level column.

Using this mechanism, any feature can be permanently disabled (by setting the Level to 0), set to be always installed (by setting the Level to 1), or set to a different install priority (by setting Level to an intermediate value). The Level may be set based on any conditional statement, such as a test for platform, operating system, or a particular property setting.

This table is referred to when the CostFinalize action is executed.