0
0
mirror of https://github.com/vim/vim.git synced 2025-07-26 11:04:33 -04:00

Take OLE registration back to 32 bit registry, the unregister wasn't working

for the 64 registry.
This commit is contained in:
Bram Moolenaar 2010-08-02 22:13:25 +02:00
parent 4b22cdb060
commit 61a91766f7

View File

@ -85,15 +85,6 @@ static CVim *app = 0;
#define MAX_CLSID_LEN 100 #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 2. The application object
*****************************************************************************/ *****************************************************************************/
@ -167,7 +158,7 @@ CVim *CVim::Create(int *pbDoRestart)
// RegCreateKeyEx succeeds even if key exists. W.Briscoe W2K 20021011 // RegCreateKeyEx succeeds even if key exists. W.Briscoe W2K 20021011
if (RegCreateKeyEx(HKEY_CLASSES_ROOT, MYVIPROGID, 0, NULL, if (RegCreateKeyEx(HKEY_CLASSES_ROOT, MYVIPROGID, 0, NULL,
REG_OPTION_NON_VOLATILE, REG_OPTION_NON_VOLATILE,
KEY_WOW64_64KEY | KEY_ALL_ACCESS, NULL, &hKey, NULL)) KEY_ALL_ACCESS, NULL, &hKey, NULL))
{ {
delete me; delete me;
return NULL; // Unable to write to registry. Quietly fail. return NULL; // Unable to write to registry. Quietly fail.
@ -660,7 +651,7 @@ static void RecursiveDeleteKey(HKEY hKeyParent, const char *child)
// Open the child // Open the child
HKEY hKeyChild; HKEY hKeyChild;
LONG result = RegOpenKeyEx(hKeyParent, child, 0, LONG result = RegOpenKeyEx(hKeyParent, child, 0,
KEY_WOW64_64KEY | KEY_ALL_ACCESS, &hKeyChild); KEY_ALL_ACCESS, &hKeyChild);
if (result != ERROR_SUCCESS) if (result != ERROR_SUCCESS)
return; return;
@ -703,7 +694,7 @@ static void SetKeyAndValue(const char *key, const char *subkey, const char *valu
long result = RegCreateKeyEx(HKEY_CLASSES_ROOT, long result = RegCreateKeyEx(HKEY_CLASSES_ROOT,
buffer, buffer,
0, NULL, REG_OPTION_NON_VOLATILE, 0, NULL, REG_OPTION_NON_VOLATILE,
KEY_WOW64_64KEY | KEY_ALL_ACCESS, NULL, KEY_ALL_ACCESS, NULL,
&hKey, NULL); &hKey, NULL);
if (result != ERROR_SUCCESS) if (result != ERROR_SUCCESS)
return; return;