# HG changeset patch # User Bram Moolenaar # Date 1280661905 -7200 # Node ID 7e9da593951dabc23efd50f74c2b0d0b4dc8b986 # Parent 943280505f72eb169e6a7af5d45ff674af9c8d29 Add the WOW64 flag back to OLE registration. (untested) diff --git a/src/if_ole.cpp b/src/if_ole.cpp --- a/src/if_ole.cpp +++ b/src/if_ole.cpp @@ -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 hKey // 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 *k 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;