Session.FeatureValidStates プロパティ

Session オブジェクトの FeatureValidStates プロパティは、ビッド フラグを表す整数を返します。各関連ビットは、指定された機能の有効なインストール状態を表します。

このプロパティは読み取り専用です。

構文

propVal = Session.FeatureValidStates

プロパティ値

有効なインストール状態を取得する機能項目の文字列名 (必須)。

解説

戻り値は、次のようなビット フラグで構成されます。 ビット 0: 設定されている場合、Local が有効な状態です。 ビット 1: 設定されている場合、Source が有効な状態です。

FeatureValidStates プロパティは、インストーラーが CostInitialize アクションと CostFinalize アクションを呼び出した後でのみ成功します。

FeatureValidStates は、コンポーネントの現在のインストール状態を考慮せずに、指定された機能にリンクされているすべてのコンポーネントに対してクエリを実行することで、状態の有効性を判断します。

機能がとりうる有効な状態は、次のように判断されます。

  • 機能にコンポーネントが含まれていない場合、INSTALLSTATE_LOCAL と INSTALLSTATE_SOURCE の両方がその機能の有効な状態です。
  • 機能の少なくとも 1 つのコンポーネントに msidbComponentAttributesLocalOnly または msidbComponentAttributesOptional の属性がある場合、INSTALLSTATE_LOCAL がその機能の有効な状態です。
  • 機能の少なくとも 1 つのコンポーネントに msidbComponentAttributesSourceOnly または msidbComponentAttributesOptional の属性がある場合、INSTALLSTATE_SOURCE がその機能の有効な状態です。
  • 機能に属するコンポーネントのファイルにパッチが適用されている場合、またはそのファイルが圧縮されたソースからのものである場合、その機能の有効な状態として INSTALLSTATE_SOURCE は含まれません。
  • 機能がアドバタイズを許可しない場合 (msidbFeatureAttributesDisallowAdvertise)、または機能にアドバタイズのためのプラットフォーム サポートが必要で (msidbFeatureAttributesNoUnsupportedAdvertise)、プラットフォームがそれをサポートしていない場合、INSTALLSTATE_ADVERTISE は有効な状態ではありません。
  • 機能の属性に msidbFeatureAttributesUIDisallowAbsent が含まれていない場合、INSTALLSTATE_ABSENT がその機能の有効な状態です。
  • 親機能に従うようにマークされた子機能 (msidbFeatureAttributesFollowParent) の有効な状態は、親機能のアクションまたはインストール状態に基づきます。

プロパティが失敗した場合、LastErrorRecord メソッドを使用して拡張エラー情報を取得できます。

必要条件

要件
バージョン
Windows Server 2012、Windows 8、Windows Server 2008 R2、または Windows 7 の Windows インストーラー 5.0。 Windows Server 2008 または Windows Vista の Windows インストーラー 4.0 または Windows インストーラー 4.5。 Windows Server 2003 または Windows XP の Windows インストーラー
[DLL]
Msi.dll
IID
IID_ISession が 000C109E-0000-0000-C000-000000000046 として定義されている