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

Improve UI/UX for Options (Shell Integration) dialog box #2517

Open
Gitoffthelawn opened this issue Nov 4, 2024 · 13 comments
Open

Improve UI/UX for Options (Shell Integration) dialog box #2517

Gitoffthelawn opened this issue Nov 4, 2024 · 13 comments

Comments

@Gitoffthelawn
Copy link
Contributor

Currently, the Options (Shell Integration) dialog box is rather confusing. There are buttons for:

  1. Register shell extension
  2. Register shell extension for current user only
  3. Register shell extension for Windows 11 or later

What if the user wants to register the shell extension for the current user (only) for Windows 11? Do they press button 3 only? Buttons 1 and 3? Buttons 1, 2, and 3?

@sdottaka
Copy link
Member

sdottaka commented Nov 4, 2024

What if the user wants to register the shell extension for the current user (only) for Windows 11? Do they press button 3 only? Buttons 1 and 3? Buttons 1, 2, and 3?

You only need to press button 3.

@Gitoffthelawn
Copy link
Contributor Author

Gitoffthelawn commented Nov 4, 2024

Hmmm... That didn't seem to work. I had to press 3 and then 1 to get the shell extension to work in Windows 11 (unless I somehow didn't see the menuitems, but I looked closely).

Could the process be different due to that fact that I installed WinMerge using Scoop? This is the Scoop manifest for WinMerge: https://github.com/ScoopInstaller/Extras/blob/master/bucket/winmerge.json

Do you recommend I now press the "Unregister shell extension" button, given that pressing 1 wasn't supposed to be necessary? Or is their a manual procedure I should perform to fully get rid of something unnecessary that got installed/modified or added to the registry?

In any case, I think we can improve the UX of the dialog.

@sdottaka
Copy link
Member

sdottaka commented Nov 5, 2024

Sometimes the registration may not be reflected immediately, and may take effect after restarting the OS.
If you press both buttons 1 and 3, two WinMerge menu items may appear in the "Show more options" menu.

@Gitoffthelawn
Copy link
Contributor Author

Sometimes the registration may not be reflected immediately, and may take effect after restarting the OS. If you press both buttons 1 and 3, two WinMerge menu items may appear in the "Show more options" menu.

Thanks for your reply. No duplicate WinMerge menu items are in the "Show more options" menu, but both the "Unregister shell extension" and "Unregister shell extension for Windows 11 or later" are now available (not disabled).

Do you recommend I now click the "Unregister shell extension" button given that I had pressed button 3 and then button 1?

BTW, what's the difference between the functionality of buttons 1, 2, and 3?

@sdottaka
Copy link
Member

sdottaka commented Nov 5, 2024

Do you recommend I now click the "Unregister shell extension" button given that I had pressed button 3 and then button 1?

The shell extensions registered with button 3 and button 1 are independent, so it is unlikely that they will affect each other. In other words, it doesn't matter whether you press the "Unregister shell extension" button or not.

When you execute the following, does the following appear?
powershell -c "Get-AppxPackage -name WinMerge"

Name              : WinMerge
Publisher         : [email protected], CN=Takashi Sawanaka, O=Takashi Sawanaka, S=Chiba, C=JP
Architecture      : Neutral
ResourceId        :
Version           : 1.0.7.0
PackageFullName   : WinMerge_1.0.7.0_neutral__83g614hpn1ttr
InstallLocation   : C:\Program Files\WindowsApps\WinMerge_1.0.7.0_neutral__83g614hpn1ttr
IsFramework       : False
PackageFamilyName : WinMerge_83g614hpn1ttr
PublisherId       : 83g614hpn1ttr
IsResourcePackage : False
IsBundle          : False
IsDevelopmentMode : False
NonRemovable      : False
IsPartiallyStaged : False
SignatureKind     : Developer
Status            : Ok

BTW, what's the difference between the functionality of buttons 1, 2, and 3?

Button 1 registers a shell extension for Windows 10 and earlier. This affects all users and requires administrator privileges. However, it will appear in the old-style context menu on Windows 11.

Button 2 registers a shell extension for Windows 10 and earlier, but only affects the current user and does not require administrator privileges.

Button 3 is for Windows 11 and only affects the current user. I have not found a way to register it to affect all users.

@Gitoffthelawn
Copy link
Contributor Author

When I execute powershell -c "Get-AppxPackage -name WinMerge" I get the output you posted.

Given that I apparently registered the Win10 shell extension in Win11, is it best to unregister it now?

@sdottaka
Copy link
Member

sdottaka commented Nov 6, 2024

Thank you for checking the results of running powershell -c "Get-AppxPackage -name WinMerge". This means that a shell extension for Windows 11 is registered.

At the moment, I don't know why WinMerge doesn't appear in the context menu in Windows 11 even though it is registered.

@Gitoffthelawn
Copy link
Contributor Author

You're welcome.

Given that I apparently also registered the Win10 shell extension in Win11 (by pressing button 1), is it best to unregister it now?

@sdottaka
Copy link
Member

sdottaka commented Nov 7, 2024

Given that I apparently also registered the Win10 shell extension in Win11 (by pressing button 1), is it best to unregister it now?

If the shell extension for Windows 11 doesn't work, there's no need to unregister the Win10 shell extension, but if you don't need it, there's no problem with unregistering it.

@Gitoffthelawn
Copy link
Contributor Author

Given that I apparently also registered the Win10 shell extension in Win11 (by pressing button 1), is it best to unregister it now?

If the shell extension for Windows 11 doesn't work, there's no need to unregister the Win10 shell extension, but if you don't need it, there's no problem with unregistering it.

Does it matter if the Win11 shell extension is working on deciding whether or not to unregister the Win10 shell extension. If they are independent, and the Win10 shell extension doesn't work in Win11, it seems like it only makes sense to unregister it in Win11. Or am I misunderstanding?

BTW, the shell extension for Windows 11 is basically working. What's not working is that it's not showing up in the standard context menu. It only appears in the extended context menu. Also, I enabled the "Advanced menu" for the shell extension (via WinMerge's settings UI), but I'm unclear if that's working correctly. There is no "Advanced" submenu in the context menu, nor any "Advanced" menuitem. There is a "Compare..." menuitem; is that what it toggles, or is it supposed to toggle something else?

@sdottaka
Copy link
Member

sdottaka commented Nov 8, 2024

The shell extension registered with button 1 is for Windows 10 and earlier, but it will be displayed in the old-style context menu of Explorer in Windows 11.

The shell extension for Windows 11 registered with button3 will be displayed in both the standard and old-style context menus of Explorer.

Unfortunately, it seems that the shell extension for Windows 11 does not work on your PC.

Therefore, it is highly likely that only the shell extension registered with button 1 is working.

For this reason, if you unregister the shell extension registered with button 1, it may not be displayed in the old-style context menu of Explorer.


If you enable the "Enable Advanced menu" option and select a file or folder to display the Explorer context menu, the following menu items will be displayed.

  • Select Left
  • Compare ...

If you select Select Left menu item and then select another file or folder to display the context menu, the following menu items will be displayed.

  • Compare
  • Select Middle
  • Re-select Left

When you select the Compare menu item, WinMerge compares the two files or folders you selected.

In other words, if this option is disabled, you must select two files or folders at the same time to compare them, but if you enable this option, you can select files or folders one by one and compare them.

@Gitoffthelawn
Copy link
Contributor Author

Thanks your previous detailed note. That was exactly the information I wanted to learn.

Unfortunately, it seems that the shell extension for Windows 11 does not work on your PC.

Based on what you wrote above, I concur. Do you think it's because I used Scoop to install WinMerge instead of WinMerge's installer?

Also, have you tested the Windows 11 shell extension with WinMerge portable?

@sdottaka
Copy link
Member

Based on what you wrote above, I concur. Do you think it's because I used Scoop to install WinMerge instead of WinMerge's installer?

In my environment, scoop's shim.exe is blocked by virus scanning software, so I haven't tried it.

Also, have you tested the Windows 11 shell extension with WinMerge portable?

If WinMerge portable refers to winmerge-2.16.44-x64-exe.zip, the shell extension worked in my environment and on Windows Sandbox.

If you download winmerge-2.16.44-x64-exe.zip directly instead of Scoop and extract it to C:\tmp\ etc., will the shell extension not work?

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