msi 5: Any value of WindowsInstaller besides 0 means the product is
installed
James Hawkins
truiken at gmail.com
Tue Jun 26 21:01:37 CDT 2007
Hi,
Changelog:
* Any value of WindowsInstaller besides 0 means the product is installed.
dlls/msi/msi.c | 12 +++---------
dlls/msi/tests/msi.c | 8 ++++++++
2 files changed, 11 insertions(+), 9 deletions(-)
--
James Hawkins
-------------- next part --------------
diff --git a/dlls/msi/msi.c b/dlls/msi/msi.c
index fce1bc5..497083e 100644
--- a/dlls/msi/msi.c
+++ b/dlls/msi/msi.c
@@ -799,17 +799,11 @@ INSTALLSTATE WINAPI MsiQueryProductState
if (rc != ERROR_SUCCESS)
goto end;
- switch (state)
- {
- case 1:
- /* default */
+ if (state)
state = INSTALLSTATE_DEFAULT;
- break;
- default:
- FIXME("Unknown install state read from registry (%i)\n",state);
+ else
state = INSTALLSTATE_UNKNOWN;
- break;
- }
+
end:
RegCloseKey(props);
RegCloseKey(hkey);
diff --git a/dlls/msi/tests/msi.c b/dlls/msi/tests/msi.c
index 4e42fea..810992c 100644
--- a/dlls/msi/tests/msi.c
+++ b/dlls/msi/tests/msi.c
@@ -427,6 +427,14 @@ static void test_MsiQueryProductState(vo
state = MsiQueryProductStateA(prodcode);
ok(state == INSTALLSTATE_DEFAULT, "Expected INSTALLSTATE_DEFAULT, got %d\n", state);
+ data = 2;
+ res = RegSetValueExA(props, "WindowsInstaller", 0, REG_DWORD, (const BYTE *)&data, sizeof(DWORD));
+ ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+
+ /* WindowsInstaller value is not 1 */
+ state = MsiQueryProductStateA(prodcode);
+ ok(state == INSTALLSTATE_DEFAULT, "Expected INSTALLSTATE_DEFAULT, got %d\n", state);
+
RegDeleteKeyA(userkey, "");
/* user product key does not exist */
--
1.4.1
More information about the wine-patches
mailing list