diff --git a/dlls/msi/action.c b/dlls/msi/action.c index fb8cfed4ca..8f1920da8d 100644 --- a/dlls/msi/action.c +++ b/dlls/msi/action.c @@ -3411,7 +3411,6 @@ static UINT ACTION_PublishProduct(MSIPACKAGE *package) { UINT rc; LPWSTR packname; - HKEY hkey=0; HKEY hukey=0; HKEY hudkey=0; HKEY source; @@ -3442,10 +3441,6 @@ static UINT ACTION_PublishProduct(MSIPACKAGE *package) } else { - rc = MSIREG_OpenProductsKey(package->ProductCode,&hkey,TRUE); - if (rc != ERROR_SUCCESS) - goto end; - rc = MSIREG_OpenUserProductsKey(package->ProductCode,&hukey,TRUE); if (rc != ERROR_SUCCESS) goto end; @@ -3533,7 +3528,6 @@ static UINT ACTION_PublishProduct(MSIPACKAGE *package) rc = msi_publish_icons(package); end: - RegCloseKey(hkey); RegCloseKey(hukey); RegCloseKey(hudkey); diff --git a/dlls/msi/tests/automation.c b/dlls/msi/tests/automation.c index 2b0ada1ada..ec54065a32 100644 --- a/dlls/msi/tests/automation.c +++ b/dlls/msi/tests/automation.c @@ -2009,9 +2009,12 @@ static void test_Installer_Products(BOOL bProductInstalled) } } - ok(bProductInstalled == bProductFound, "Product expected to %s installed but product code was %s\n", - bProductInstalled ? "be" : "not be", - bProductFound ? "found" : "not found"); + if (bProductInstalled) todo_wine + { + ok(bProductInstalled == bProductFound, "Product expected to %s installed but product code was %s\n", + bProductInstalled ? "be" : "not be", + bProductFound ? "found" : "not found"); + } if (pEnum) { @@ -2306,7 +2309,7 @@ static void test_Installer_InstallProduct(void) RegCloseKey(hkey); res = RegDeleteKeyA(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Installer\\Products\\05FA3C1F65B896A40AC00077F34EF203"); - todo_wine ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_SUCCESS, got %d\n", res); + ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res); /* Delete installation files we installed */ delete_test_files(); diff --git a/dlls/msi/tests/install.c b/dlls/msi/tests/install.c index d5ebda2912..f1d493b424 100644 --- a/dlls/msi/tests/install.c +++ b/dlls/msi/tests/install.c @@ -2477,6 +2477,9 @@ static void test_publish_publishproduct(void) "\\84A88FD7F6998CE40A22FB59F6B9C2BB"; static const CHAR cuupgrades[] = "Software\\Microsoft\\Installer\\UpgradeCodes" "\\51AAE0C44620A5E4788506E91F249BD2"; + static const CHAR badprod[] = "Software\\Microsoft\\Windows\\CurrentVersion" + "\\Installer\\Products" + "\\84A88FD7F6998CE40A22FB59F6B9C2BB"; get_user_sid(&usersid); if (!usersid) @@ -2500,6 +2503,9 @@ static void test_publish_publishproduct(void) ok(delete_pf("msitest\\maximus", TRUE), "File not installed\n"); ok(delete_pf("msitest", FALSE), "File not installed\n"); + res = RegOpenKeyA(HKEY_LOCAL_MACHINE, badprod, &hkey); + ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res); + sprintf(keypath, prodpath, usersid); res = RegOpenKeyA(HKEY_LOCAL_MACHINE, keypath, &hkey); ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);