msi: Initialize the installation context from the registry if the product is installed.
This commit is contained in:
parent
70e3790707
commit
db6dbcf2a2
|
@ -488,14 +488,15 @@ static BOOL needs_ui_sequence(MSIPACKAGE *package)
|
|||
|
||||
UINT msi_set_context(MSIPACKAGE *package)
|
||||
{
|
||||
int num;
|
||||
|
||||
package->Context = MSIINSTALLCONTEXT_USERUNMANAGED;
|
||||
|
||||
num = msi_get_property_int(package->db, szAllUsers, 0);
|
||||
if (num == 1 || num == 2)
|
||||
package->Context = MSIINSTALLCONTEXT_MACHINE;
|
||||
|
||||
UINT r = msi_locate_product( package->ProductCode, &package->Context );
|
||||
if (r != ERROR_SUCCESS)
|
||||
{
|
||||
int num = msi_get_property_int( package->db, szAllUsers, 0 );
|
||||
if (num == 1 || num == 2)
|
||||
package->Context = MSIINSTALLCONTEXT_MACHINE;
|
||||
else
|
||||
package->Context = MSIINSTALLCONTEXT_USERUNMANAGED;
|
||||
}
|
||||
return ERROR_SUCCESS;
|
||||
}
|
||||
|
||||
|
|
|
@ -54,6 +54,7 @@ UINT msi_locate_product(LPCWSTR szProduct, MSIINSTALLCONTEXT *context)
|
|||
HKEY hkey = NULL;
|
||||
|
||||
*context = MSIINSTALLCONTEXT_NONE;
|
||||
if (!szProduct) return ERROR_UNKNOWN_PRODUCT;
|
||||
|
||||
if (MSIREG_OpenProductKey(szProduct, NULL, MSIINSTALLCONTEXT_USERMANAGED,
|
||||
&hkey, FALSE) == ERROR_SUCCESS)
|
||||
|
|
Loading…
Reference in New Issue