changeset 2450:7e9da593951d vim73

Add the WOW64 flag back to OLE registration. (untested)
author Bram Moolenaar <bram@vim.org>
date Sun, 01 Aug 2010 13:25:05 +0200
parents 943280505f72
children 0b8612c2814d
files src/if_ole.cpp
diffstat 1 files changed, 3 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- 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;