Condition テーブル
Condition テーブルを使うと、Feature テーブルの任意のエントリの選択状態を、条件式に基づいて変更できます。
Condition テーブルには以下の列があります。
Column | 種類 | キー | Nullable |
---|---|---|---|
Feature_ | Identifier | Y | N |
Level | 整数 | Y | N |
条件 | Condition | N | Y |
[列]
-
Feature_
-
Feature テーブルの列 1 への外部キー。
-
Level
-
このテーブルの Feature_ 列の機能の条件付きインストール レベル。 Condition 列の式が TRUE と評価された場合、インストーラーは、この機能のインストール レベルをこの列で指定されているレベルに設定します。
-
Condition
-
この条件式が TRUE と評価された場合、Feature テーブルの Level 列は、条件付きインストール レベルに設定されます。
Condition 列の式には、機能またはコンポーネントのインストール済み状態への参照が含まれていてはなりません。 これは、Condition 列の式は、インストーラーが機能とコンポーネントのインストール済み状態を評価する前に評価されるためです。 Condition テーブルの式で、機能またはコンポーネントのインストール済み状態をチェックしようとすると、常に false と評価されます。
条件付きステートメントの構文については、「条件付きステートメントの構文」をご覧ください。
解説
Level 列を 0 に設定することで、機能を完全に無効にできます。
Level は、プラットフォーム、オペレーティング システム、または特定のプロパティ設定についてのテストなど、任意の条件付きステートメントに基づいて設定できます。
機能がインストール時に有効にされてからアンインストール時に無効にされることがないように、条件を慎重に選ぶ必要があります。 このようにすると、機能が孤立し、製品をアンインストールできなくなります。
このテーブルは、CostFinalize アクションの実行時に参照されます。
Preselected プロパティが 1 に設定されている場合、インストーラーは Condition テーブルを評価しません。 Condition テーブルは、次のどのプロパティも設定されていない場合にのみ、機能のインストールに影響します。
ADDLOCAL
REMOVE
ADDSOURCE
ADDDEFAULT
REINSTALL
ADVERTISE
COMPADDLOCAL
COMPADDSOURCE
COMPADDDEFAULT
FILEADDLOCAL
FILEADDSOURCE
FILEADDDEFAULT
検証