次の方法で共有


MsiSetFeatureAttributesA 関数 (msiquery.h)

MsiSetFeatureAttributes 関数は、実行時に機能の既定の属性を変更できます。 フィーチャの既定の属性は、フィーチャ テーブルの [属性] 列作成されることに注意してください。

構文

UINT MsiSetFeatureAttributesA(
  [in] MSIHANDLE hInstall,
  [in] LPCSTR    szFeature,
  [in] DWORD     dwAttributes
);

パラメーター

[in] hInstall

DLL カスタム アクションに提供されるインストール、または MsiOpenPackage、MsiOpenPackageEx、または MsiOpenProduct使用して取得されるインストールを処理します。

[in] szFeature

製品内の機能名を指定します。

[in] dwAttributes

実行時に一連のビット フラグとして指定された機能属性:

定数 意味
INSTALLFEATUREATTRIBUTE_FAVORLOCAL
1
実行時に既定の機能属性を msidbFeatureAttributesFavorLocal に変更します。 詳細については、フィーチャー テーブルの の [属性] 列を参照してください。
INSTALLFEATUREATTRIBUTE_FAVORSOURCE
2
実行時に既定の機能属性を msidbFeatureAttributesFavorSource に変更します。 詳細については、フィーチャー テーブルの の [属性] 列を参照してください。
INSTALLFEATUREATTRIBUTE_FOLLOWPARENT
4
実行時に既定の機能属性を msidbFeatureAttributesFollowParent に変更します。 これは、最上位レベルの特徴に対して設定される有効な属性ではないことに注意してください。 詳細については、フィーチャー テーブルの の [属性] 列を参照してください。
INSTALLFEATUREATTRIBUTE_FAVORADVERTISE
8
実行時に既定の機能属性を msidbFeatureAttributesFavorAdvertise に変更します。 詳細については、フィーチャー テーブルの の [属性] 列を参照してください。
INSTALLFEATUREATTRIBUTE_DISALLOWADVERTISE
16
実行時に既定の機能属性を msidbFeatureAttributesDisallowAdvertise に変更します。 詳細については、フィーチャー テーブルの の [属性] 列を参照してください。
INSTALLFEATUREATTRIBUTE_NOUNSUPPORTEDADVERTISE
32
実行時に既定の機能属性を msidbFeatureAttributesNoUnsupportedAdvertise に変更します。 詳細については、フィーチャー テーブルの の [属性] 列を参照してください。

戻り値

この関数は UINT を返します。

備考

MsiSetFeatureAttributes は、CostInitialize アクション 後、および CostFinalize アクションを する前に呼び出す必要があります。 この関数は、他の時点で呼び出された場合にERROR_FUNCTION_FAILEDを返します。

INSTALLFEATUREATTRIBUTE_FAVORLOCAL、INSTALLFEATUREATTRIBUTE_FAVORSOURCE、およびINSTALLFEATUREATTRIBUTE_FOLLOWPARENTフラグは相互に排他的です。 任意の機能に対して設定できるビットは 1 つだけです。 これらのフラグが複数設定されている場合、その機能の動作は未定義です。

プログラムからのデータベース関数の呼び出し を参照してください。

手記

msiquery.h ヘッダーは、MSISetFeatureAttributes を、UNICODE プリプロセッサ定数の定義に基づいてこの関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント 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 インストーラー
ターゲット プラットフォーム の ウィンドウズ
ヘッダー msiquery.h
ライブラリ Msi.lib
DLL Msi.dll