次の方法で共有


フィーチャー テーブル

フィーチャー テーブルは、特徴の論理ツリー構造を定義し、次の表に示す列を含みます。

コラム 種類 許容
特徴 識別子の Y N
Feature_Parent 識別子の N Y
タイトル テキスト N Y
形容 テキスト N Y
陳列 整数 N Y
レベル 整数 N N
ディレクトリ_ 識別子の N Y
属性 整数 N N

 

機能

特定のフィーチャ レコードを識別するために使用される主キー。 このフィールドの値は、最大長 38 文字を超えてはなりません。

Feature_Parent

同じテーブル内の親レコードの省略可能なキー。

キーは[フィーチャ]列をポイントします。 親機能が選択されていない場合、この機能はインストールされません。 このフィールドの null 値は、この機能に親が存在せず、ルート項目であることを示します。 Feature_Parent列は、同じレコードの Feature 列と等しくない必要があります。

手記

フィーチャの最大深度は 16 です。 エラー 2701、この最大深度を超えるフィーチャが存在する場合に発生します。

 

タイトル

機能を識別するテキストの短い文字列。

この文字列は、選択ダイアログSelectionTree コントロール によって項目として一覧表示されます。

の説明

機能を説明するテキストの長い文字列。

このローカライズ可能な文字列は、選択ダイアログテキスト コントロール によって表示されます。

ディスプレイ

このフィールドの番号は、機能がユーザー インターフェイスに表示される順序を指定します。

この値は、フィーチャーが最初に展開または折りたたまれた状態で表示されるかどうかを決定します。 値が null または 0 (ゼロ) の場合、レコードは表示されません。

  • 値が奇数の場合、フィーチャ ノードは最初に展開されます。
  • 値が偶数の場合、フィーチャ ノードは最初に折りたたまれます。

レベル

この機能の初期インストール レベル。 条件テーブル を処理すると、レベルの値を変更できます。

インストール レベルが 0 (ゼロ) の場合、アイテムが無効になり、表示されなくなります。 インストール・レベルが 0 (ゼロ) のフィーチャーは、管理インストールを含め、どのインストール中にもインストールされません。 詳細については、このトピックの「解説」セクションの「インストール レベル」の情報を参照してください。

Directory_

Directory_列は、選択ダイアログで構成できるディレクトリの名前を指定します。

このフィールドは ディレクトリ テーブルのキーであるため、指定したディレクトリをディレクトリ テーブルの最初の列に一覧表示する必要があります。 この列に パブリック プロパティ を入力して、ディレクトリを構成可能にし、選択ダイアログの [参照] ボタンを表示する必要があります。

属性

次のいずれかのプロパティを使用して、インストールされておらず、機能状態要求が行われなかった機能のリモート実行オプション。

リモート実行オプションを含めるには、指定されたビットをこの列の合計値に追加します。

  • このフィールドが空白の場合、値の既定値は 0 (ゼロ)、msidbFeatureAttributesFavorLocal です。
  • 機能のインストール レベルが 0 (ゼロ) であるか、現在のインストール レベル以上の場合、機能の状態は変更されません。
名前 小数 16 進 数 形容
msidbFeatureAttributesFavorLocal 0 0x0000 ソースからのインストールがマークされていないこの機能のコンポーネントは、ローカルにインストールされます。 msidbFeatureAttributesFavorLocal に設定され、一部が msidbFeatureAttributesFavorSource に設定されている 2 つ以上の機能によって共有されるコンポーネントは、ローカルにインストールされます。 コンポーネント テーブル でマークされた msidbComponentAttributesSourceOnly コンポーネントは、常にソース CD/サーバーから実行されます。 msidbFeatureAttributesFavorLocal および msidbFeatureAttributesFavorSource のビットは、ADVERTISE プロパティに記載されていない機能で動作します。
msidbFeatureAttributesFavorSource 1 0x0001 ローカル インストール用にマークされていないこの機能のコンポーネントは、ソース CD-ROM またはサーバーから実行するためにインストールされます。 msidbFeatureAttributesFavorLocal に設定されている機能と msidbFeatureAttributesFavorSource に設定されている 2 つ以上の機能で共有されるコンポーネントは、ローカルで実行するためにインストールされます。 コンポーネント テーブルの msidbComponentAttributesLocalOnly マークされたコンポーネントは、常にローカルにインストールされます。 msidbFeatureAttributesFavorLocal および msidbFeatureAttributesFavorSource のビットは、ADVERTISE プロパティに記載されていない機能で動作します。
msidbFeatureAttributesFollowParent 2 0x0002 この属性を設定すると、フィーチャの状態はフィーチャの親の状態と同じになります。 フィーチャがフィーチャ ツリーのルートにある場合は、このオプションを使用できません。 この属性を省略すると、機能の状態は msidbFeatureAttributesDisallowAdvertise と msidbFeatureAttributesFavorLocal および msidbFeatureAttributesFavorSource に従って決定されます。
子機能の状態が常に親の状態に従っていることを保証するには、子と親が最初に SelectionTree コントロールに存在しない状態に設定されている場合でも、子機能の属性に msidbFeatureAttributesFollowParent と msidbFeatureAttributesUIDisallowAbsent の両方を含める必要があります。
msidbFeatureAttributesFollowParent を設定せずに msidbFeatureAttributesUIDisallowAbsent を設定した場合、インストーラーは子機能を強制的に存在しない状態から除外できないことに注意してください。 この場合、子機能は、子が存在しない以外に設定されている場合にのみ、親のインストール状態と一致します。
msidbFeatureAttributesFollowParent と msidbFeatureAttributesUIDisallowAbsent を設定して、子機能が親機能の状態に従っていることを確認します。
msidbFeatureAttributesFavorAdvertise 4 0x0004 この属性を設定すると、機能の状態が [アドバタイズ] になります。 このビットが無視され、機能の状態が msidbFeatureAttributesFavorLocal および msidbFeatureAttributesFavorSource に従って決定ADDDEFAULT プロパティによって機能が一覧表示される場合。 この属性を省略すると、機能の状態は msidbFeatureAttributesDisallowAdvertise と msidbFeatureAttributesFavorLocal および msidbFeatureAttributesFavorSource に従って決定されます。
msidbFeatureAttributesDisallowAdvertise 8 0x0008 このビットは、ADVERTISE プロパティによって一覧表示される機能でのみ機能します。 機能がアドバタイズされないようにするには、この属性を設定します。
この属性を設定し、表示されている機能が親または子でない場合は、msidbFeatureAttributesFavorLocal と msidbFeatureAttributesFavorSource に従って機能がインストールされます。
リストされている機能の親に対してこの属性を設定すると、親がインストールされます。
リストされているフィーチャの子に対してこの属性を設定し、子の状態は Absent です。
この属性を省略し、表示されている機能が親または子でない場合、機能の状態は [アドバタイズ] になります。
この属性を省略し、表示されている機能が親または子である場合、両方の機能の状態は [アドバタイズ] になります。
msidbFeatureAttributesUIDisallowAbsent 16 0x0010 この属性を設定すると、機能の状態を [不在] に変更するオプションがユーザー インターフェイスに表示されません。 この属性を設定すると、その機能が UI に表示されるかどうかにかかわらず、機能は強制的にインストール状態になります。 この属性を省略すると、機能の状態を [不在] に変更するオプションがユーザー インターフェイスに表示されます。
msidbFeatureAttributesFollowParent と msidbFeatureAttributesUIDisallowAbsent を設定して、子機能が親機能の状態に従っていることを確認します。
この属性を設定すると、UI に影響するだけでなく、その機能が UI に表示されているかどうかに関係なく、機能が強制的にインストール状態になります。
msidbFeatureAttributesNoUnsupportedAdvertise 32 0x0020 この属性を設定すると、オペレーティング システム シェルが Windows インストーラー記述子をサポートしていない場合、この機能のアドバタイズは無効になります。 この属性を省略すると、広告は無効になりません。

 

一部の属性は互いに排他的です。 これらの属性を同じ機能で一緒に設定しようとすると、パッケージ検証インストール パッケージが失敗します。

  • msidbFeatureAttributesFavorAdvertise と msidbFeatureAttributesDisallowAdvertise を使用しないでください。
  • msidbFeatureAttributesNoUnsupportedAdvertise を msidbFeatureAttributesDisallowAdvertise と一緒に使用しないでください。
  • msidbFeatureAttributesFollowParent と msidbFeatureAttributesFavorSource を使用しないでください。
  • msidbFeatureAttributesFollowParent と msidbFeatureAttributesFavorLocal の値は相互に排他的であることに注意してください。 msidbFeatureAttributesFollowParent 値を使用する場合、msidbFeatureAttributesFavorLocal 値は存在しないと見なされます。

子機能がインストールされている場合は、その親機能もインストールされることに注意してください。 親機能がインストールされている場合、msidbFeatureAttributesFollowParent 属性と msidbFeatureAttributesUIDisallowAbsent 属性が設定されていない限り、その子機能は必ずしもインストールされません。 この親子機能のインストールの階層関係は、コマンドライン プロパティを使用する GUI のインストールとインストールにも使用されます。

備考

コスト計算とユーザー インターフェイス (UI) の選択で使用される計算のためにメモリに読み込まれると、いくつかの一時列がこのテーブルに追加されます。

コンポーネントは、2 つ以上の機能またはアプリケーション間で共有できます。 2 つ以上のフィーチャーが同じコンポーネントを参照している場合、関連するフィーチャーのいずれかが選択されている場合、そのコンポーネントはインストール用に選択されます。 これは、親機能が削除されたときに子機能がアンインストールされない理由でもあります。 子機能が他の機能またはアプリケーションで必要なコンポーネントで構成されている場合、Windows インストーラーは子機能を削除しません。

詳細については、「機能選択状態の制御」を参照してください。

インストール レベル:

  • どのインストールでも、定義済みのインストール レベルがあり、これは 1 から 32,767 までの整数値です。 初期値は、INSTALLLEVEL プロパティによって決定されます。これは、プロパティ テーブルで設定されます。
  • 機能は、機能レベルの値が現在のインストール レベル以下の場合にのみインストールされます。 UI を作成して、インストールの初期化時に、ユーザーがフィーチャー テーブル内の機能のインストール レベルを変更できるようにします。 たとえば、作成者は、カスタム一般的な最小など、特定のインストール オプションを表すインストール レベルの値を定義し、SetInstallLevel ControlEvents を使用して、ユーザーがこれらの状態のいずれかを選択できるようにするダイアログ ボックスを作成できます。
  • ユーザーが選択した状態に応じて、ダイアログ ボックスによってインストール レベルのプロパティが対応する値に設定されます。 作成者 標準 レベル 100 を割り当て、ユーザーが標準 選択した場合、レベルが 100 以下の機能のみがインストールされます。 さらに、カスタム オプションを使用すると、SelectionTree コントロールを含む別のダイアログ ボックスが表示される可能性があります。 その後、SelectionTree コントロールを使用すると、各機能がインストールされているかどうかをユーザーが個別に変更できます。

検証

ICE03
ICE06
ICE10
ICE14
ICE21
ICE32
ICE41
ICE45
ICE47
ICE50
ICE57
ICE59
ICE62
ICE67
ICE79
ICE86
ICE94