The MsiGetComponentState function obtains the state of a component.
Syntax
C++UINT MsiGetComponentState(
__in MSIHANDLE hInstall,
__in LPCTSTR szComponent,
__out INSTALLSTATE *piInstalled,
__out INSTALLSTATE *piAction
);
Parameters
- hInstall [in]
-
Handle to the installation provided to a DLL custom action or obtained through MsiOpenPackage, MsiOpenPackageEx, or MsiOpenProduct.
- szComponent [in]
-
A null-terminated string that specifies the component name within the product.
- piInstalled [out]
-
Receives the current installed state. This parameter must not be null. This parameter can be one of the following values.
Value Meaning - INSTALLSTATE_ABSENT
The component is not installed.
- INSTALLSTATE_DEFAULT
The component is installed in the default location: local or source.
- INSTALLSTATE_LOCAL
The component is installed on the local drive.
- INSTALLSTATE_REMOVED
The component is being removed. In action state and not settable.
- INSTALLSTATE_SOURCE
The component runs from the source, CD-ROM, or network.
- INSTALLSTATE_UNKNOWN
An unrecognized product or feature name was passed to the function.
- piAction [out]
-
Receives the action taken during the installation. This parameter must not be null. For return values, see piInstalled.
Return Value
The MsiGetComponentState function returns the following values:
- ERROR_INVALID_HANDLE
-
An invalid or inactive handle was supplied.
- ERROR_SUCCESS
-
The function succeeded.
- ERROR_UNKNOWN_COMPONENT
-
An unknown component was requested.
Remarks
If the function fails, you can obtain extended error information by using MsiGetLastErrorRecord.
For more information, see Calling Database Functions From Programs.
Requirements
Version | Windows Installer 5.0 on 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, Windows XP, and Windows 2000 |
---|---|
Header | Msiquery.h |
Library | Msi.lib |
DLL | Msi.dll |
Unicode and ANSI names | MsiGetComponentStateW (Unicode) and MsiGetComponentStateA (ANSI) |
See Also
Send comments about this topic to Microsoft
Build date: 8/13/2009
© 2009 Microsoft Corporation. All rights reserved.