The MsiIsProductElevated function returns whether or not the product is managed. Only applications that require elevated privileges for installation and being installed through advertisement are considered managed, which means that an application installed per-machine is always considered managed.
An application that is installed per-user is only considered managed if it is advertised by a local system process that is impersonating the user. For more information, see Advertising a Per-User Application to be Installed with Elevated Privileges.
MsiIsProductElevated verifies that the local system owns the product registry data. The function does not refer to account policies such as AlwaysInstallElevated.
UINT MsiIsProductElevatedA( LPCSTR szProduct, BOOL *pfElevated );
The full product code GUID of the product.
This parameter is required and cannot be NULL or empty.
A pointer to a BOOL for the result.
This parameter cannot be NULL.
If the function succeeds, the return value is ERROR_SUCCESS, and pfElevated is set to TRUE if the product is a managed application.
If the function fails, the return value is one of the error codes identified in the following table.
||The product is not currently known.|
||An invalid argument is passed to the function.|
||The configuration information for the product is invalid.|
||The function failed.|
||The function is not available for a specific platform.|
|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.|