The
MsiGetComponentState function obtains the state of a component.
Syntax
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
- Installer Selection Functions
- Passing Null as the Argument of Windows Installer Functions
Send comments about this topic to Microsoft
Build date: 11/12/2009