MsiGetComponentState Function

Windows Installer

MsiGetComponentState Function

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

VersionWindows 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
HeaderMsiquery.h
LibraryMsi.lib
DLLMsi.dll
Unicode and ANSI namesMsiGetComponentStateW (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: 8/13/2009

© 2009 Microsoft Corporation. All rights reserved.