MsiQueryComponentState function
The MsiQueryComponentState function returns the installed state for a component. This function can query for a component of an instance of a product that is installed under user accounts other than the current user provided the product is not advertised under the per-user-unmanaged context for a user account other than the current user. The calling process must have administrative privileges to get information for a product installed for a user other than the current user.
Syntax
UINT MsiQueryComponentState( _In_ LPTSTR szProductCode, _In_ LPTSTR szUserSid, _In_ MSIINSTALLCONTEXT dwContext, _In_ LPCTSTR szComponent, _Out_ INSTALLSTATE *pdwState );
Parameters
- szProductCode [in]
-
Specifies the ProductCode GUID for the product that contains the component.
- szUserSid [in]
-
Specifies the security identifier (SID) of the account under which the instance of the product being queried exists. If dwContext is not MSIINSTALLCONTEXT_MACHINE, null specifies the current user.
Note The special SID string s-1-5-18 (system) cannot be used to enumerate products installed as per-machine. If dwContext is MSIINSTALLCONTEXT_MACHINE, szUserSid must be null.
- dwContext [in]
-
The installation context of the product instance being queried.
- szComponent [in]
-
Specifies the component being queried. Component code GUID of the component as found in the ComponentID column of the Component table.
- pdwState [out]
-
Installation state of the component for the specified product instance. This parameter can return one of the following or null values.
Value Meaning - INSTALLSTATE_LOCAL
The component is installed locally.
- INSTALLSTATE_SOURCE
The component is installed to run from the source.
Return value
The MsiQueryComponentState function returns the following values.
| Value | Meaning |
|---|---|
|
The calling process must have administrative privileges to get information for a product installed for a user other than the current user. |
|
The configuration data is corrupt. |
|
An invalid parameter was passed to the function. |
|
The function completed successfully. |
|
The component ID does not identify a known component. |
|
The product code does not identify a known product. |
|
Failures that cannot be ascribed to any Windows error code. |
|
Buffer too small to get the user SID. |
For more information, see Displayed Error Messages.
Requirements
|
Version | 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 3.0 or later 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. |
|---|---|
|
Header |
|
|
Library |
|
|
DLL |
|
|
Unicode and ANSI names | MsiQueryComponentStateW (Unicode) and MsiQueryComponentStateA (ANSI) |
See also
- Component
- Displayed Error Messages
- Installer Selection Functions
- ProductCode
- Not Supported in Windows Installer 2.0 and earlier
Build date: 11/30/2012