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 バージョンを自動的に選択します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

要件
サポートされている最小のクライアント 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 インストーラー
対象プラットフォーム Windows
ヘッダー msiquery.h
Library Msi.lib
[DLL] Msi.dll