Open luweitest opened 3 years ago
Please check the 'Add to context menu' checkbox in the Options dialog.
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.
I tried that dialogue window first, and it seems to call the Register.bat,
The Options dialog runs regsvr32.exe instead of Register.bat.
(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]
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.
Is there anything wrong in the registry changes I posted?
I think it should be okay if the result of running regsvr32 is successful
Let me ask you three more questions
Are you using WinMerge version 2.16.12. Or are you using the latest build?
Is that Windows XP a 64-bit version?
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 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 don't know the cause yet, so I will recreate the virtual VM of Windows XP and investigate it later.
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 -Shell integration does not work on Windows XP on your working machine
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 '{'.
REG ADDED! HKLM SOFTWARE\Classes\CLSID{4E716236-AA30-4C65-B225-D68BBA81E9C2}\InprocServer32 "D:\green\WinMerge\ShellExtensionU.dll"
What does the path look like when viewed with regedit.exe?
If registered successfully, the path will be:
SOFTWARE\Classes\CLSID\{4E716236-AA30-4C65-B225-D68BBA81E9C2}\InprocServer32 "D:\green\WinMerge\ShellExtensionU.dll"
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.