MsiUseFeatureExW function (msi.h)

The MsiUseFeatureEx function increments the usage count for a particular feature and indicates the installation state for that feature. This function should be used to indicate an application's intent to use a feature.

Syntax

INSTALLSTATE MsiUseFeatureExW(
  [in] LPCWSTR szProduct,
  [in] LPCWSTR szFeature,
  [in] DWORD   dwInstallMode,
  [in] DWORD   dwReserved
);

Parameters

[in] szProduct

Specifies the product code for the product that owns the feature to be used.

[in] szFeature

Identifies the feature to be used.

[in] dwInstallMode

This parameter can have the following value.

Value Meaning
INSTALLMODE_NODETECTION
Return value indicates the installation state.

[in] dwReserved

Reserved for future use. This value must be set to 0.

Return value

Value Meaning
INSTALLSTATE_ABSENT
The feature is not installed.
INSTALLSTATE_ADVERTISED
The feature is advertised
INSTALLSTATE_LOCAL
The feature is locally installed and available for use.
INSTALLSTATE_SOURCE
The feature is installed from the source and available for use.
INSTALLSTATE_UNKNOWN
The feature is not published.

Remarks

The MsiUseFeatureEx function should only be used on features known to be published. INSTALLSTATE_UNKNOWN indicates that the program is trying to use a feature that is not published. The application should determine whether the feature is published before calling MsiUseFeature by calling MsiQueryFeatureState or MsiEnumFeatures. The application should make these calls while it initializes. An application should only use features that are known to be published.

Note

The msi.h header defines MsiUseFeatureEx as an alias that automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that is not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see Conventions for Function Prototypes.

Requirements

Requirement Value
Minimum supported client Windows Installer 5.0 on Windows Server 2012, Windows 8, Windows Server 2008 R2 or Windows 7. Windows Installer 4.0 or Windows Installer 4.5 on Windows Server 2008 or Windows Vista. Windows Installer on Windows Server 2003 or Windows XP. See the Windows Installer Run-Time Requirements for information about the minimum Windows service pack that is required by a Windows Installer version.
Target Platform Windows
Header msi.h
Library Msi.lib
DLL Msi.dll

See also

Application-Only Functions