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
|
#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;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user