James Hawkins : msi: Don't publish the product to an invalid location.
Alexandre Julliard
julliard at winehq.org
Tue Jun 24 06:45:44 CDT 2008
Module: wine
Branch: master
Commit: d809b4e2d95b1ebfbf7d673a3c656e6484a96ef9
URL: http://source.winehq.org/git/wine.git/?a=commit;h=d809b4e2d95b1ebfbf7d673a3c656e6484a96ef9
Author: James Hawkins <jhawkins at codeweavers.com>
Date: Mon Jun 23 22:59:03 2008 -0500
msi: Don't publish the product to an invalid location.
---
dlls/msi/action.c | 6 ------
dlls/msi/tests/automation.c | 11 +++++++----
dlls/msi/tests/install.c | 6 ++++++
3 files changed, 13 insertions(+), 10 deletions(-)
diff --git a/dlls/msi/action.c b/dlls/msi/action.c
index fb8cfed..8f1920d 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 2b0ada1..ec54065 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 d5ebda2..f1d493b 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);
More information about the wine-cvs
mailing list