Commit 98c703ab authored by James Hawkins's avatar James Hawkins Committed by Alexandre Julliard

msi: Add the ability to open multiple users' install properties key.

parent b198f4f2
......@@ -4170,7 +4170,8 @@ static UINT ACTION_RegisterProduct(MSIPACKAGE *package)
if (package->Context == MSIINSTALLCONTEXT_MACHINE)
{
rc = MSIREG_OpenLocalSystemInstallProps(package->ProductCode, &props, TRUE);
rc = MSIREG_OpenInstallProps(package->ProductCode, szLocalSid,
&props, TRUE);
if (rc != ERROR_SUCCESS)
goto done;
}
......@@ -4438,7 +4439,7 @@ static UINT ACTION_RegisterUser(MSIPACKAGE *package)
return ERROR_SUCCESS;
if (package->Context == MSIINSTALLCONTEXT_MACHINE)
rc = MSIREG_OpenLocalSystemInstallProps(package->ProductCode, &hkey, TRUE);
rc = MSIREG_OpenInstallProps(package->ProductCode, szLocalSid, &hkey, TRUE);
else
rc = MSIREG_OpenCurrentUserInstallProps(package->ProductCode, &hkey, TRUE);
......
......@@ -108,7 +108,7 @@ static UINT MSI_OpenProductW(LPCWSTR szProduct, MSIPACKAGE **package)
return r;
if (context == MSIINSTALLCONTEXT_MACHINE)
r = MSIREG_OpenLocalSystemInstallProps(szProduct, &props, FALSE);
r = MSIREG_OpenInstallProps(szProduct, szLocalSid, &props, FALSE);
else if (context == MSIINSTALLCONTEXT_USERMANAGED ||
context == MSIINSTALLCONTEXT_USERUNMANAGED)
r = MSIREG_OpenCurrentUserInstallProps(szProduct, &props, FALSE);
......@@ -407,7 +407,7 @@ static UINT msi_open_package(LPCWSTR product, MSIINSTALLCONTEXT context,
'L','o','c','a','l','P','a','c','k','a','g','e',0};
if (context == MSIINSTALLCONTEXT_MACHINE)
r = MSIREG_OpenLocalSystemInstallProps(product, &props, FALSE);
r = MSIREG_OpenInstallProps(product, szLocalSid, &props, FALSE);
else
r = MSIREG_OpenCurrentUserInstallProps(product, &props, FALSE);
......@@ -1448,7 +1448,7 @@ INSTALLSTATE WINAPI MsiQueryProductStateW(LPCWSTR szProduct)
}
else
{
r = MSIREG_OpenLocalSystemInstallProps(szProduct, &userdata, FALSE);
r = MSIREG_OpenInstallProps(szProduct, szLocalSid, &userdata, FALSE);
if (r != ERROR_SUCCESS)
goto done;
}
......@@ -2449,7 +2449,7 @@ static USERINFOSTATE MSI_GetUserInfo(LPCWSTR szProduct,
}
if (MSIREG_OpenCurrentUserInstallProps(szProduct, &props, FALSE) != ERROR_SUCCESS &&
MSIREG_OpenLocalSystemInstallProps(szProduct, &props, FALSE) != ERROR_SUCCESS)
MSIREG_OpenInstallProps(szProduct, szLocalSid, &props, FALSE) != ERROR_SUCCESS)
{
RegCloseKey(hkey);
return USERINFOSTATE_ABSENT;
......
......@@ -779,7 +779,8 @@ extern UINT MSIREG_OpenPatchesKey(LPCWSTR szPatch, HKEY* key, BOOL create);
extern UINT MSIREG_OpenUserDataProductKey(LPCWSTR szProduct, LPCWSTR szUserSid,
HKEY* key, BOOL create);
extern UINT MSIREG_OpenCurrentUserInstallProps(LPCWSTR szProduct, HKEY* key, BOOL create);
extern UINT MSIREG_OpenLocalSystemInstallProps(LPCWSTR szProduct, HKEY* key, BOOL create);
extern UINT MSIREG_OpenInstallProps(LPCWSTR szProduct, LPCWSTR szUserSID,
HKEY *key, BOOL create);
extern UINT MSIREG_OpenUpgradeCodesKey(LPCWSTR szProduct, HKEY* key, BOOL create);
extern UINT MSIREG_OpenUserUpgradeCodesKey(LPCWSTR szProduct, HKEY* key, BOOL create);
extern UINT MSIREG_DeleteProductKey(LPCWSTR szProduct);
......
......@@ -890,8 +890,8 @@ UINT MSIREG_OpenUserDataPatchKey(LPWSTR patch, HKEY *key, BOOL create)
return rc;
}
static UINT MSIREG_OpenInstallProps(LPCWSTR szProduct, LPCWSTR szUserSID,
HKEY *key, BOOL create)
UINT MSIREG_OpenInstallProps(LPCWSTR szProduct, LPCWSTR szUserSID,
HKEY *key, BOOL create)
{
UINT rc;
WCHAR squished_pc[GUID_SIZE];
......@@ -931,12 +931,6 @@ UINT MSIREG_OpenCurrentUserInstallProps(LPCWSTR szProduct, HKEY *key,
return rc;
}
UINT MSIREG_OpenLocalSystemInstallProps(LPCWSTR szProduct, HKEY *key,
BOOL create)
{
return MSIREG_OpenInstallProps(szProduct, szLocalSid, key, create);
}
UINT MSIREG_DeleteUserDataProductKey(LPCWSTR szProduct)
{
UINT rc;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment