MsiSetFeatureAttributesW 関数 (msiquery.h)

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

構文

UINT MsiSetFeatureAttributesW(
  [in] MSIHANDLE hInstall,
  [in] LPCWSTR   szFeature,
  [in] DWORD     dwAttributes
);

パラメーター

[in] hInstall

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

[in] szFeature

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

[in] dwAttributes

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

定数 説明
INSTALLFEATUREATTRIBUTE_FAVORLOCAL
1
既定の機能属性を、実行時に msidbFeatureAttributesFavorLocal に変更します。 詳細については、「 Feature テーブル の [Attributes]\(属性\) 列」を参照してください。
INSTALLFEATUREATTRIBUTE_FAVORSOURCE
2
既定の機能属性を実行時に msidbFeatureAttributesFavorSource に変更します。 詳細については、「 Feature テーブル の [Attributes]\(属性\) 列」を参照してください。
INSTALLFEATUREATTRIBUTE_FOLLOWPARENT
4
既定の機能属性を、実行時に msidbFeatureAttributesFollowParent に変更します。 これは、最上位の機能に対して設定される有効な属性ではないことに注意してください。 詳細については、「 Feature テーブル の [Attributes]\(属性\) 列」を参照してください。
INSTALLFEATUREATTRIBUTE_FAVORADVERTISE
8
既定の機能属性を、実行時に msidbFeatureAttributesFavorAdvertise に変更します。 詳細については、「 Feature テーブル の [Attributes]\(属性\) 列」を参照してください。
INSTALLFEATUREATTRIBUTE_DISALLOWADVERTISE
16
既定の機能属性を、実行時に msidbFeatureAttributesDisallowAdvertise に変更します。 詳細については、「 Feature テーブル の [Attributes]\(属性\) 列」を参照してください。
INSTALLFEATUREATTRIBUTE_NOUNSUPPORTEDADVERTISE
32
既定の機能属性を、実行時に msidbFeatureAttributesNoUnsupportedAdvertise に変更します。 詳細については、「 Feature テーブル の [Attributes]\(属性\) 列」を参照してください。

戻り値

この関数は 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 インストーラー
対象プラットフォーム Windows
ヘッダー msiquery.h
Library Msi.lib
[DLL] Msi.dll