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"

-----Original Message-----
From: A.J.Mechelynck [mailto:[EMAIL PROTECTED] 
Sent: Thursday, October 12, 2006 4:46 PM
To: Brian Krusic
Cc: vim-dev
Subject: Re: vim and 64bit xp

Brian Krusic wrote:
> Thanks fo rthe reply.
> 
> Still no shell extension.
> 
> I did the regedit approach.
> 
> Any ideas?

Is Gvimext.dll in a directory in your PATH? Check it at the dos-box prompt:

        echo %PATH%

or in Vim:

        :echo $PATH

If it isn't, you can set it in (IIRC) Control Panel -> System -> Advanced ->

Environment variables

The Dos/Windows PATH is a semicolon-separated list of directories; the 
directory containing that DLL may be either the same as for gvim.exe
(usually 
something like "C:\Program Files\Vim\vim70") or a "gvimext" subdirectory of 
that (I'm not on Windows at the moment and can't check).


Best regards,
Tony.

Reply via email to