]> granicus.if.org Git - vim/commitdiff
Add the WOW64 flag back to OLE registration. (untested)
authorBram Moolenaar <Bram@vim.org>
Sun, 1 Aug 2010 11:25:05 +0000 (13:25 +0200)
committerBram Moolenaar <Bram@vim.org>
Sun, 1 Aug 2010 11:25:05 +0000 (13:25 +0200)
src/if_ole.cpp

index 53c12de27f46486605ffd4fc0e75153df4668f3a..44a35682a7ef74c9614c2cef7339159e50cdeecc 100644 (file)
@@ -158,7 +158,7 @@ CVim *CVim::Create(int *pbDoRestart)
        // RegCreateKeyEx succeeds even if key exists. W.Briscoe W2K 20021011
        if (RegCreateKeyEx(HKEY_CLASSES_ROOT, MYVIPROGID, 0, NULL,
                  REG_OPTION_NON_VOLATILE,
-                 KEY_ALL_ACCESS, NULL, &hKey, NULL))
+                 KEY_WOW64_64KEY | KEY_ALL_ACCESS, NULL, &hKey, NULL))
        {
            delete me;
            return NULL; // Unable to write to registry. Quietly fail.
@@ -651,7 +651,7 @@ static void RecursiveDeleteKey(HKEY hKeyParent, const char *child)
     // Open the child
     HKEY hKeyChild;
     LONG result = RegOpenKeyEx(hKeyParent, child, 0,
-                                                 KEY_ALL_ACCESS, &hKeyChild);
+                               KEY_WOW64_64KEY | KEY_ALL_ACCESS, &hKeyChild);
     if (result != ERROR_SUCCESS)
        return;
 
@@ -694,7 +694,7 @@ static void SetKeyAndValue(const char *key, const char *subkey, const char *valu
     long result = RegCreateKeyEx(HKEY_CLASSES_ROOT,
                                 buffer,
                                 0, NULL, REG_OPTION_NON_VOLATILE,
-                                KEY_ALL_ACCESS, NULL,
+                                KEY_WOW64_64KEY | KEY_ALL_ACCESS, NULL,
                                 &hKey, NULL);
     if (result != ERROR_SUCCESS)
        return;