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:
parent
4b22cdb060
commit
61a91766f7
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user