summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/if_ole.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/if_ole.cpp b/src/if_ole.cpp
index 53c12de27f..44a35682a7 100644
--- 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 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;