summaryrefslogtreecommitdiff
path: root/nt
diff options
context:
space:
mode:
authorJason Rumney <jasonr@gnu.org>2006-03-12 18:09:45 +0000
committerJason Rumney <jasonr@gnu.org>2006-03-12 18:09:45 +0000
commitec4388a1e379760169f3e141b8f7a6d570f6f728 (patch)
treeec046b74fd80b4bd681829d868aa8b8ba576ac7d /nt
parent18ca8dab2d521ec0509edcd5c97a784fbf1e332f (diff)
downloademacs-ec4388a1e379760169f3e141b8f7a6d570f6f728.tar.gz
(add_registry): Don't change the registry unless keys
already exist from a previous version.
Diffstat (limited to 'nt')
-rw-r--r--nt/addpm.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/nt/addpm.c b/nt/addpm.c
index e882b23b5b1..08d84c70b81 100644
--- a/nt/addpm.c
+++ b/nt/addpm.c
@@ -71,19 +71,23 @@ add_registry (path)
char *path;
{
HKEY hrootkey = NULL;
- DWORD dwDisp;
int i;
BOOL ok = TRUE;
+ /* Previous versions relied on registry settings, but we do not need
+ them any more. If registry settings are installed from a previous
+ version, replace them to ensure they are the current settings.
+ Otherwise, do nothing. */
+
/* Check both the current user and the local machine to see if we
have any resources. */
- if (RegCreateKeyEx (HKEY_LOCAL_MACHINE, REG_ROOT,
- 0, "", REG_OPTION_NON_VOLATILE,
- KEY_WRITE, NULL, &hrootkey, &dwDisp) != ERROR_SUCCESS
- && RegCreateKeyEx (HKEY_CURRENT_USER, REG_ROOT,
- 0, "", REG_OPTION_NON_VOLATILE,
- KEY_WRITE, NULL, &hrootkey, &dwDisp) != ERROR_SUCCESS)
+ if (RegOpenKeyEx (HKEY_LOCAL_MACHINE, REG_ROOT,
+ REG_OPTION_NON_VOLATILE,
+ KEY_WRITE, &hrootkey) != ERROR_SUCCESS
+ && RegOpenKeyEx (HKEY_CURRENT_USER, REG_ROOT,
+ REG_OPTION_NON_VOLATILE,
+ KEY_WRITE, &hrootkey) != ERROR_SUCCESS)
{
return FALSE;
}