changeset 69449:e2359be8b645

(add_registry): Don't change the registry unless keys already exist from a previous version.
author Jason Rumney <jasonr@gnu.org>
date Sun, 12 Mar 2006 18:09:45 +0000
parents 2cfb4f293525
children 97fc0828f7d3
files nt/addpm.c
diffstat 1 files changed, 11 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/nt/addpm.c	Sun Mar 12 17:20:35 2006 +0000
+++ b/nt/addpm.c	Sun Mar 12 18:09:45 2006 +0000
@@ -71,19 +71,23 @@
      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;
     }