MsiGetProductCode

[This is preliminary documentation and subject to change.]

The MsiGetProductCode function returns the product code of an application by using the component code of an installed or advertised component of the application. During initialization, an application must determine under which product code it has been installed or advertised.

UINT MsiGetProductCode(
  LPCTSTR szComponent,  // component code for application
  LPTSTR lpProductBuf   // buffer to receive GUID
);
 

Parameters

szComponent
This parameter specifies the component code of a component that has been installed or advertised by the application. This will be typically the component code of the component containing the executable file of the application.
lpProductBuf
Pointer to a buffer that receives the product code. This buffer must be 39 characters long. The first 38 characters are for the GUID, and the last character is for the terminating NULL character.

Return Values

ERROR_BAD_CONFIGURATION
The configuration data is corrupt.
ERROR_INSTALL_FAILURE
The product code could not be determined.
ERROR_INVALID_PARAMETER
An invalid parameter was passed to the function.
ERROR_SUCCESS
The function completed successfully.
ERROR_UNKNOWN_COMPONENT
The specified component is unknown.

Remarks

During initialization, an application must determine the product code under which it was installed. An application can be part of different products in different installations. For example, an application can be part of a suite of applications, or it can be installed by itself.

QuickInfo

  Windows NT: Requires version 4.0 or later. Available as a redistributable for Windows NT 4.0.
  Windows: Requires Windows 95 or later. Available as a redistributable for Windows 95.
  Windows CE: Unsupported.
  Header: Declared in msi.h.
  Import Library: Use msi.lib.
  Unicode: Implemented as Unicode and ANSI versions on Windows NT.

See Also

Application-Only Functions