]> code.delx.au - gnu-emacs/commitdiff
(add_registry): Don't change the registry unless keys
authorJason Rumney <jasonr@gnu.org>
Sun, 12 Mar 2006 18:10:29 +0000 (18:10 +0000)
committerJason Rumney <jasonr@gnu.org>
Sun, 12 Mar 2006 18:10:29 +0000 (18:10 +0000)
already exist from a previous version.

nt/ChangeLog
nt/addpm.c

index 9cf0aef8532ad959fdb6c3d61944bef2663eb94d..e0a5a41752873b348ed81298216650b1e7ef559e 100644 (file)
@@ -1,5 +1,8 @@
 2006-03-12  Jason Rumney  <jasonr@gnu.org>
 
+       * addpm.c (add_registry): Don't change the registry unless keys
+       already exist from a previous version.
+
        * makefile.w32-in (install): Use -q when invoking addpm.
 
        * addpm.c (main): Accept -q as alternative for /q.
index e882b23b5b1336cfd3539e998406ea8beddd182c..08d84c70b81c0549b68eebf6092ee486f09926c4 100644 (file)
@@ -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;
     }