MsiQueryFeatureStateA function (msi.h)

The MsiQueryFeatureState function returns the installed state for a product feature.


INSTALLSTATE MsiQueryFeatureStateA(
  [in] LPCSTR szProduct,
  [in] LPCSTR szFeature


[in] szProduct

Specifies the product code for the product that contains the feature of interest.

[in] szFeature

Identifies the feature of interest.

Return value

Value Meaning
The feature is not installed.
The feature is advertised
The feature is installed locally.
The feature is installed to run from source.
An invalid parameter was passed to the function.
The product code or feature ID is unknown.


The MsiQueryFeatureState function does not validate that the feature is actually accessible.


The msi.h header defines MsiQueryFeatureState as an alias which 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 not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see Conventions for Function Prototypes.


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

System Status Functions