# HG changeset patch # User Bram Moolenaar # Date 1280780005 -7200 # Node ID a29301e7c05f2020a87797fa4507d951b772309a # Parent d55e70cabe2c948e6a2e0f609bbc406ee3f86d7d Take OLE registration back to 32 bit registry, the unregister wasn't working for the 64 registry. diff --git a/src/if_ole.cpp b/src/if_ole.cpp --- a/src/if_ole.cpp +++ b/src/if_ole.cpp @@ -85,15 +85,6 @@ static CVim *app = 0; #define MAX_CLSID_LEN 100 -/* - * Modern way of creating registry entries, also works on 64 bit windows when - * compiled as a 32 bit program. - */ -# ifndef KEY_WOW64_64KEY -# define KEY_WOW64_64KEY 0x0100 -# define RegDeleteKeyEx(a, b, c, d) RegDeleteKey(a, b) -# endif - /***************************************************************************** 2. The application object *****************************************************************************/ @@ -167,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_WOW64_64KEY | KEY_ALL_ACCESS, NULL, &hKey, NULL)) + KEY_ALL_ACCESS, NULL, &hKey, NULL)) { delete me; return NULL; // Unable to write to registry. Quietly fail. @@ -660,7 +651,7 @@ static void RecursiveDeleteKey(HKEY hKey // Open the child HKEY hKeyChild; LONG result = RegOpenKeyEx(hKeyParent, child, 0, - KEY_WOW64_64KEY | KEY_ALL_ACCESS, &hKeyChild); + KEY_ALL_ACCESS, &hKeyChild); if (result != ERROR_SUCCESS) return; @@ -703,7 +694,7 @@ static void SetKeyAndValue(const char *k long result = RegCreateKeyEx(HKEY_CLASSES_ROOT, buffer, 0, NULL, REG_OPTION_NON_VOLATILE, - KEY_WOW64_64KEY | KEY_ALL_ACCESS, NULL, + KEY_ALL_ACCESS, NULL, &hKey, NULL); if (result != ERROR_SUCCESS) return;