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

検証

ICE03
ICE06
ICE32
ICE46
ICE79
ICE86