Skip to content

Commit

Permalink
Take OLE registration back to 32 bit registry, the unregister wasn't …
Browse files Browse the repository at this point in the history
…working

for the 64 registry.

--HG--
branch : vim73
  • Loading branch information
brammool committed Aug 2, 2010
1 parent 29caec4 commit 1e68b02
Showing 1 changed file with 3 additions and 12 deletions.
15 changes: 3 additions & 12 deletions src/if_ole.cpp
Expand Up @@ -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
*****************************************************************************/
Expand Down Expand Up @@ -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.
Expand Down Expand Up @@ -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;

Expand Down Expand Up @@ -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;
Expand Down

0 comments on commit 1e68b02

Please sign in to comment.