MsiGetProductCodeA function

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 MsiGetProductCodeA(
  LPCSTR szComponent,
  LPSTR  lpBuf39



This parameter specifies the component code of a component that has been installed by the application. This will be typically the component code of the component containing the executable file of the application.


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 Value

Value Meaning
The configuration data is corrupt.
The product code could not be determined.
An invalid parameter was passed to the function.
The function completed successfully.
The specified component is unknown.


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.


Minimum supported client 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 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.
Target Platform Windows
Header msi.h
Library Msi.lib
DLL Msi.dll

See Also

Application-Only Functions