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
/*
* 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 hKeyParent, const char *child)
// 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 *key, const char *subkey, const char *valu
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;