New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cannot register shell integration #780
Comments
I tried that dialogue window first, and it seems to call the Register.bat,
which would fail due to incorrect string in line 38 (modifying it to "Ver |
%WINDIR%\System32\Find "5.1.2600" > NUL" could fix it), and eventually it
would run regsvr32, so I just reported regsvr32 command directly.
|
The Options dialog runs regsvr32.exe instead of Register.bat.
Why did you need that change?
I have verified that Register.bat worked fine on Windows XP SP3 and that the WinMerge menu item appears in the Explorer context menu by checking the 'Add to context menu' checkbox above. I have a few questions.
|
On Sat, May 8, 2021 at 3:49 PM Takashi Sawanaka ***@***.***> wrote:
I tried that dialogue window first, and it seems to call the Register.bat,
The Options dialog runs regsvr32.exe instead of Register.bat.
The button will invoke "select user account" dialogue: if select current
user, which is in the administrator group, nothing happens; if select
administrator, the button got gray and unregister button got black, which
seems OK but in fact no context menu is added.
(modifying it to "Ver | %WINDIR%\System32\Find "5.1.2600" > NUL" could fix
it),
Why did you need that change?
Register.bat expects the ver command to output the following. Was the
'Version' part translated?
Microsoft Windows XP [Version 5.1.2600]
Yes, the ver command will return "Microsoft Windows XP [版本 5.1.2600]" here
(chinese of "version").
I have verified that Register.bat worked fine on Windows XP SP3 and that
the WinMerge menu item appears in the Explorer context menu by checking the
'Add to context menu' checkbox above.
The check box is checked by default; it is gray that cannot be unchecked
before registering.
I have a few questions.
- Is the user who ran regsvr32 different from the user who ran
WinMerge?
Same.
- Is the D drive a removable drive or a network drive?
D is a normal hard disk drive.
Is there anything wrong in the registry changes I posted?
…--
Regards,
Lu Wei
IM: ***@***.***
PGP: 0xA12FEF7592CCE1EA
|
Thank you for your answer. The problem with Register.bat was fixed with commit 04786f5.
I think it should be okay if the result of running regsvr32 is successful Let me ask you three more questions
|
On Sat, May 8, 2021 at 7:16 PM Takashi Sawanaka ***@***.***> wrote:
...
Let me ask you three more questions
-
Are you using WinMerge version 2.16.12. Or are you using the latest
build?
Version 2.16.12 zip package.
-
-
Is that Windows XP a 64-bit version?
32-bit.
-
-
Please tell me the result of executing the following command. (The
following registry key controls whether WinMerge menu items are displayed
in the context menu.)
reg query HKCU\Software\Thingamahoochie\WinMerge -v ContextMenuEnabled
On my machine "-v" should be replaced with "/v", and the result is:
! REG.EXE VERSION 3.0
HKEY_CURRENT_USER\Software\Thingamahoochie\WinMerge
ContextMenuEnabled REG_DWORD 0x3
…--
Regards,
Lu Wei
IM: ***@***.***
PGP: 0xA12FEF7592CCE1EA
|
Thank you for the information. |
I had a clean Windows XP SP3 virtual machine and tried to reproduce this issue, but I couldn't. I have only confirmed it on the English version of Windows XP. I'm starting to think that it will be reproduced if it is Windows XP of another language. |
My last reply did not get through, in which I confirmed that in my clean Windows XP SP3 (chinese version) virtual machine shell integration does work, except that the check box is unchecked and grey by default, so one has to register, check the box, un-register, and register again to make it work. So it seems my working machine has something "dirty" that hinders the context menu to appear. How could I find it out? |
Is my understanding below correct? -Shell integration works on Windows XP on the clean virtual machines Would you please try moving ShellExtensionU.dll somewhere after right-clicking on a file on Explorer on your working machine? If you get an "Access Denied" error, it doesn't appear in the context menu, but ShellExtersionU.dll has successfully registered and Explorer is able to load the DLL. If the move is successful, Explorer is not able to load ShellExtensionU.dll, so it is probably not registered in the Registry correctly. |
On 2021-5-11 22:33, Takashi Sawanaka wrote:
Is my understanding below correct?
-Shell integration works on Windows XP on the clean virtual machines
-Shell integration does not work on Windows XP on your working machine
Yes, that's the situation.
Would you please try moving ShellExtensionU.dll somewhere after
right-clicking on a file on Explorer on your working machine?
If you get an "Access Denied" error, it doesn't appear in the context
menu, but ShellExtersionU.dll has successfully registered and Explorer
is able to load the DLL.
If the move is successful, Explorer is not able to load
ShellExtensionU.dll, so it is probably not registered in the Registry
correctly.
The move is successful, but the registry item is added as I posted (I
also checked using regedit).
…--
Regards,
Lu Wei
IM: ***@***.***
PGP: 0xA12FEF7592CCE1EA
|
I noticed that the registry path in the registry registration log is strange. There must be a '' before the '{'.
What does the path look like when viewed with regedit.exe? If registered successfully, the path will be:
|
On 2021-5-12 20:18, Takashi Sawanaka wrote:
I noticed that the registry path in the registry registration log is
strange. There must be a '' before the '{'.
|REG ADDED! HKLM
SOFTWARE\Classes\CLSID{4E716236-AA30-4C65-B225-D68BBA81E9C2}\InprocServer32
"D:\green\WinMerge\ShellExtensionU.dll" |
I think the character back slash \ is lost due to github, as in your
reply. The reg item is there correct.
…--
Regards,
Lu Wei
IM: ***@***.***
PGP: 0xA12FEF7592CCE1EA
|
I extract the latest zip release, run "regsvr32 ShellExtensionU.dll", register success displayed, but the expected context menu does not appear. This is the registry difference after the command:
REG ADDED! HKLM SOFTWARE\Classes*\shellex\ContextMenuHandlers\WinMerge
REG ADDED! HKLM SOFTWARE\Classes\CLSID{4E716236-AA30-4C65-B225-D68BBA81E9C2}
REG ADDED! HKLM SOFTWARE\Classes\CLSID{4E716236-AA30-4C65-B225-D68BBA81E9C2}\InprocServer32
REG ADDED! HKLM SOFTWARE\Classes\CLSID{4E716236-AA30-4C65-B225-D68BBA81E9C2}\ProgID
REG ADDED! HKLM SOFTWARE\Classes\CLSID{4E716236-AA30-4C65-B225-D68BBA81E9C2}\Programmable
REG ADDED! HKLM SOFTWARE\Classes\CLSID{4E716236-AA30-4C65-B225-D68BBA81E9C2}\TypeLib
REG ADDED! HKLM SOFTWARE\Classes\CLSID{4E716236-AA30-4C65-B225-D68BBA81E9C2}\VersionIndependentProgID
REG ADDED! HKLM SOFTWARE\Classes\Directory\Background\shellex\ContextMenuHandlers\WinMerge
REG ADDED! HKLM SOFTWARE\Classes\Directory\Background\shellex\DragDropHandlers\WinMerge
REG ADDED! HKLM SOFTWARE\Classes\Directory\shellex\ContextMenuHandlers\WinMerge
REG ADDED! HKLM SOFTWARE\Classes\Directory\shellex\DragDropHandlers\WinMerge
REG ADDED! HKLM SOFTWARE\Classes\Drive\shellex\ContextMenuHandlers\WinMerge
REG ADDED! HKLM SOFTWARE\Classes\Drive\shellex\DragDropHandlers\WinMerge
REG ADDED! HKLM SOFTWARE\Classes\Interface{64200B75-83AE-464A-88C6-262E175BBA92}
REG ADDED! HKLM SOFTWARE\Classes\Interface{64200B75-83AE-464A-88C6-262E175BBA92}\ProxyStubClsid
REG ADDED! HKLM SOFTWARE\Classes\Interface{64200B75-83AE-464A-88C6-262E175BBA92}\ProxyStubClsid32
REG ADDED! HKLM SOFTWARE\Classes\Interface{64200B75-83AE-464A-88C6-262E175BBA92}\TypeLib
REG ADDED! HKLM SOFTWARE\Classes\ShellExtension.WinMergeShell
REG ADDED! HKLM SOFTWARE\Classes\ShellExtension.WinMergeShell.1
REG ADDED! HKLM SOFTWARE\Classes\ShellExtension.WinMergeShell.1\CLSID
REG ADDED! HKLM SOFTWARE\Classes\ShellExtension.WinMergeShell\CLSID
REG ADDED! HKLM SOFTWARE\Classes\ShellExtension.WinMergeShell\CurVer
REG ADDED! HKLM SOFTWARE\Classes\TypeLib{06029E17-28B5-456A-B866-4E79D98612FD}
REG ADDED! HKLM SOFTWARE\Classes\TypeLib{06029E17-28B5-456A-B866-4E79D98612FD}\1.0
REG ADDED! HKLM SOFTWARE\Classes\TypeLib{06029E17-28B5-456A-B866-4E79D98612FD}\1.0\0
REG ADDED! HKLM SOFTWARE\Classes\TypeLib{06029E17-28B5-456A-B866-4E79D98612FD}\1.0\0\win32
REG ADDED! HKLM SOFTWARE\Classes\TypeLib{06029E17-28B5-456A-B866-4E79D98612FD}\1.0\FLAGS
REG ADDED! HKLM SOFTWARE\Classes\TypeLib{06029E17-28B5-456A-B866-4E79D98612FD}\1.0\HELPDIR
REG ADDED! HKLM SOFTWARE\Classes*\shellex\ContextMenuHandlers\WinMerge "{4E716236-AA30-4C65-B225-D68BBA81E9C2}"
REG ADDED! HKLM SOFTWARE\Classes\CLSID{4E716236-AA30-4C65-B225-D68BBA81E9C2} "WinMergeShell Class"
REG ADDED! HKLM SOFTWARE\Classes\CLSID{4E716236-AA30-4C65-B225-D68BBA81E9C2}\InprocServer32 "D:\green\WinMerge\ShellExtensionU.dll"
REG ADDED! HKLM SOFTWARE\Classes\CLSID{4E716236-AA30-4C65-B225-D68BBA81E9C2}\InprocServer32 ThreadingModel "Apartment"
REG ADDED! HKLM SOFTWARE\Classes\CLSID{4E716236-AA30-4C65-B225-D68BBA81E9C2}\ProgID "ShellExtension.WinMergeShell.1"
REG ADDED! HKLM SOFTWARE\Classes\CLSID{4E716236-AA30-4C65-B225-D68BBA81E9C2}\TypeLib "{06029E17-28B5-456A-B866-4E79D98612FD}"
REG ADDED! HKLM SOFTWARE\Classes\CLSID{4E716236-AA30-4C65-B225-D68BBA81E9C2}\VersionIndependentProgID "ShellExtension.WinMergeShell"
REG ADDED! HKLM SOFTWARE\Classes\Directory\Background\shellex\ContextMenuHandlers\WinMerge "{4E716236-AA30-4C65-B225-D68BBA81E9C2}"
REG ADDED! HKLM SOFTWARE\Classes\Directory\Background\shellex\DragDropHandlers\WinMerge "{4E716236-AA30-4C65-B225-D68BBA81E9C2}"
REG ADDED! HKLM SOFTWARE\Classes\Directory\shellex\ContextMenuHandlers\WinMerge "{4E716236-AA30-4C65-B225-D68BBA81E9C2}"
REG ADDED! HKLM SOFTWARE\Classes\Directory\shellex\DragDropHandlers\WinMerge "{4E716236-AA30-4C65-B225-D68BBA81E9C2}"
REG ADDED! HKLM SOFTWARE\Classes\Drive\shellex\ContextMenuHandlers\WinMerge "{4E716236-AA30-4C65-B225-D68BBA81E9C2}"
REG ADDED! HKLM SOFTWARE\Classes\Drive\shellex\DragDropHandlers\WinMerge "{4E716236-AA30-4C65-B225-D68BBA81E9C2}"
REG ADDED! HKLM SOFTWARE\Classes\Interface{64200B75-83AE-464A-88C6-262E175BBA92} "IWinMergeShell"
REG ADDED! HKLM SOFTWARE\Classes\Interface{64200B75-83AE-464A-88C6-262E175BBA92}\ProxyStubClsid "{00020424-0000-0000-C000-000000000046}"
REG ADDED! HKLM SOFTWARE\Classes\Interface{64200B75-83AE-464A-88C6-262E175BBA92}\ProxyStubClsid32 "{00020424-0000-0000-C000-000000000046}"
REG ADDED! HKLM SOFTWARE\Classes\Interface{64200B75-83AE-464A-88C6-262E175BBA92}\TypeLib "{06029E17-28B5-456A-B866-4E79D98612FD}"
REG ADDED! HKLM SOFTWARE\Classes\Interface{64200B75-83AE-464A-88C6-262E175BBA92}\TypeLib Version "1.0"
REG ADDED! HKLM SOFTWARE\Classes\ShellExtension.WinMergeShell "WinMergeShell Class"
REG ADDED! HKLM SOFTWARE\Classes\ShellExtension.WinMergeShell.1 "WinMergeShell Class"
REG ADDED! HKLM SOFTWARE\Classes\ShellExtension.WinMergeShell.1\CLSID "{4E716236-AA30-4C65-B225-D68BBA81E9C2}"
REG ADDED! HKLM SOFTWARE\Classes\ShellExtension.WinMergeShell\CLSID "{4E716236-AA30-4C65-B225-D68BBA81E9C2}"
REG ADDED! HKLM SOFTWARE\Classes\ShellExtension.WinMergeShell\CurVer "ShellExtension.WinMergeShell.1"
REG ADDED! HKLM SOFTWARE\Classes\TypeLib{06029E17-28B5-456A-B866-4E79D98612FD}\1.0 "ShellExtension 1.0 Type Library"
REG ADDED! HKLM SOFTWARE\Classes\TypeLib{06029E17-28B5-456A-B866-4E79D98612FD}\1.0\0\win32 "D:\green\WinMerge\ShellExtensionU.dll"
REG ADDED! HKLM SOFTWARE\Classes\TypeLib{06029E17-28B5-456A-B866-4E79D98612FD}\1.0\FLAGS "0"
REG ADDED! HKLM SOFTWARE\Classes\TypeLib{06029E17-28B5-456A-B866-4E79D98612FD}\1.0\HELPDIR "D:\green\WinMerge"
The OS is windows xp sp3.
The text was updated successfully, but these errors were encountered: