Skip to content
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

Open
luweitest opened this issue May 7, 2021 · 13 comments
Open

cannot register shell integration #780

luweitest opened this issue May 7, 2021 · 13 comments

Comments

@luweitest
Copy link

luweitest commented May 7, 2021

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.

@sdottaka
Copy link
Member

sdottaka commented May 7, 2021

Please check the 'Add to context menu' checkbox in the Options dialog.
image

@luweitest
Copy link
Author

luweitest commented May 8, 2021 via email

@sdottaka
Copy link
Member

sdottaka commented May 8, 2021

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.

  • Is the user who ran regsvr32 different from the user who ran WinMerge?
  • Is the D drive a removable drive or a network drive?

@luweitest
Copy link
Author

luweitest commented May 8, 2021 via email

@sdottaka
Copy link
Member

sdottaka commented May 8, 2021

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

@luweitest
Copy link
Author

luweitest commented May 9, 2021 via email

@sdottaka
Copy link
Member

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.

@sdottaka
Copy link
Member

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.

@luweitest
Copy link
Author

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?

@sdottaka
Copy link
Member

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.

@luweitest
Copy link
Author

luweitest commented May 11, 2021 via email

@sdottaka
Copy link
Member

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"

image

@luweitest
Copy link
Author

luweitest commented May 13, 2021 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants