Doug Cook wrote:
Shell extensions are very specific to a particular bitness of Windows.
-- 32-bit DLLs can only load into 32-bit processes.
-- 64-bit DLLs can only load into 64-bit processes.
The default shell for Win64 is the 64-bit version of explorer.exe (this is
configurable), and it will NOT load the 32-bit gvimext.dll for two reasons:
1. The 32-bit gvimext.dll is a 32-bit DLL.
2. The 32-bit gvimext.dll is registered in the 32-bit registry.
To make this work, you would have to rebuild gvimext.dll in a 64-bit version
and register it in the 64-bit section of the registry.
Note that you may find gvimext working in such places as the File-Save and
File-Load dialogs of 32-bit processes, since they DO load the 32-bit shell
extensions.
You can also run the 32-bit shell instead of the 64-bit shell, and this will
get your shell extensions back in most cases.
As an alternative, you can get "Open with gVim" in your right-click menu
WITHOUT gvimext.dll. This works on ALL versions of Windows. Open RegEdit
and:
1. Navigate to HKEY_CLASSES_ROOT\*
2. Create or open a subkey named "shell".
3. Create a subkey named "vim".
4. (Optional.) Set the default value of the "vim" key to whatever you want
to appear in the right-click menu (i.e. "Edit with gVim"). If you don't do
this, the name of the subkey ("vim") will be used.
5. Create a subkey named "command".
6. Set the default value of the "command" key to the command you want to
run. Mine is: C:\Tools\vim\vim70\gvim.exe "%1"
You can get this functionality without even editing the registry, by adding a
shortcut to gvim.exe into your "SendTo" directory. But it won't give you the
same menu items you get with gvimext.dll, and in particular the choice to edit
in an already-running instance of gvim (and which one) or in a new one.
Best regards,
Tony.