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

Shell integration does not open winmerge when selecting two folders #1619

Closed
effemmeffe opened this issue Dec 19, 2022 · 9 comments
Closed

Comments

@effemmeffe
Copy link

If I need to compare two folders taht are not in the same root folder I right-click on the first folder, I choose Winmerge->select left from the contextual menu and then I switch to the next folder to compare, right-click on it and select Compare, but nothing happens.
I compared my options with a colleague and in his installation when he right-click on the second folder the contextual menu is different from mine: he has the lines Select right, Reselect left and Compare.
In my pc I only have Select left and Compare, no matter if I right-click on the first or the second folder.
It looks like it does not select the first folder, so it does not allow me to select the second, for the software is always the first one.
Both my colleague and I have windows 11 and the latest version of Winmerge, the 2.16.24 and both of us registered the shell extension for windows 11 in the options.
I also tried to uninstall winmerge and install it again from scratch, but nothing changed,
Any idea on how to fix this?

If both the folder I need to compare are in the same root folder then I can select both of them and right-click and now the contextual menu does not have any sub menu for winmerge, so if I choose the only winmerge manu it opens the comparizon window and it works as expected.
image

@sdottaka
Copy link
Member

Selecting the "Select Left" menu item will store the selected folder or file path in the name FirstSelection in the registry key HKEY_CURRENT_USER\Software\Thingamahoochie\WinMerge as shown below.

Will it be stored as above in your environment?

image

@effemmeffe
Copy link
Author

No, it doesn't.
image

I also noticed that if I select "show other options" in the right-click menu (this is new, from windows 11) I get the old right-click menu, where I can find the Winmerge->Select left command and if I select it then the registry key is populated with my selection.

@sdottaka
Copy link
Member

Thank you for the info.
So far I have not found a solution to this problem...

@VorlonCD
Copy link

VorlonCD commented Jan 5, 2023

I have the same issue. Win11 22H2 build 22621.963. WinMerge 2.16.24.

I believe it was working without needing to use "Show other options" at first, then it stopped working at some point. Not sure if it was a newer build of winmerge, windows or some other app causing interference.

I've tried a full uninstall/reinstall and re-registering the shell extension in Options.

My FirstSelection registry key does not get populated.

According to ProcMon, "Thingamahoochie" registry key is never accessed when I right click a folder and pick 'Select left', but a number of other Winmerge keys are. Just not sure what to look for.

It may be worth noting that I have completely disabled UAC via the EnableLUA registry key.

At least one other person has had the same issue:
#1462

@sdottaka
Copy link
Member

sdottaka commented Jan 9, 2023

I don't know what the reproduction conditions are, but I have had this problem several times on my PC, and restarting the Explorer process seems to fix the problem.

@sdottaka sdottaka added the bug label Jan 16, 2023
@sdottaka
Copy link
Member

This problem seems to occur with Explorer started with explorer /separate.

Applying the fix at the following URL appears to work fine.

https://stackoverflow.com/questions/74226129/why-is-iexplorercommandinvoke-no-longer-being-called

The fixed WinMergeContextMenu.dll can be downloaded from
https://github.com/WinMerge/winmerge/releases/tag/ShellExtension-1.18.7.0

@VorlonCD
Copy link

@sdottaka Hi, thanks! I do always "Launch folder windows in a separate process" in Explorer options.

But it didnt help. I overwrote the ShellExtension files (unblocked first), and used WinMerge options to unregister/reregister Windows 11 menus. I even rebooted. The WinMerge entry "FirstSelection" never appears in regedit after selecting LEFT. I also tried manually using the new WinMergeContextMenuPackage.msix installer, then killing explorer.exe but that didnt work either.

Note that it hasnt worked at all on Windows 11 for me for quite some time. Even after a fresh boot or kill explorer.exe. Always have to resort to old context menu.

@sdottaka
Copy link
Member

Thank you for the confirmation.

In my environment, replacing WinMergeContextMenu.dll worked fine with the "Launch folder windows in a separate process" option enabled.

Did you replace ShellExtensionX64.dll, etc., but not WinMergeContextMenu.dll?

@VorlonCD
Copy link

Ahhh shit, rookie mistake. I copied the X64 folder over directly without overwriting WinMergeContextMenu.dll. Working now!!!

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

3 participants