Cannot open program from context menu

Please check the FAQ (https://www.xyplorer.com/faq.php) before posting a question...
Post Reply
TMProjection
Posts: 79
Joined: 26 Sep 2020 10:10

Cannot open program from context menu

Post by TMProjection »

Hey, I have program called MP3Tag, that comes up in my context menu, for example
right click on a video file > Mp3tag
in windows explorer it opens the program fine with the video in question
but when i try this in XYplorer it doesnt open the program

I got a feeling its because the program is 32bit? as it is installed in

C:\Program Files (x86)\Mp3tag\Mp3tag.exe

https://www.mp3tag.de/en/download.html

If thats the case, i dont think a 64 bit version of the program exists, so would there be a way to open a 32 bit program from context menu?

highend
Posts: 14595
Joined: 06 Feb 2011 00:33
Location: Win Server 2022 @100%

Re: Cannot open program from context menu

Post by highend »

When the 64-bit context menu is your default in XY, you're probably out of luck
One of my scripts helped you out? Please donate via Paypal

TMProjection
Posts: 79
Joined: 26 Sep 2020 10:10

Re: Cannot open program from context menu

Post by TMProjection »

hmm, yeah this is enabled
show the 64 bit context menu: on

what i find odd though, is that the item appears in the 64 bit context menu then it should work shouldnt it?

in comparison to Windows 10 Explorer, it does this no problem, but obviously i understand its built differently etc

btw @highend, are you one of the developers?
i see you are a moderator, but just wondering if you know how its built etc, and know its limitations?

there must be some way around it, the way i see it if windows explorer can do it surely another program could immitate it too?

highend
Posts: 14595
Joined: 06 Feb 2011 00:33
Location: Win Server 2022 @100%

Re: Cannot open program from context menu

Post by highend »

I'm not one of the developers (there is only one) but I have seen the source code for the 64-bit context menu and I can't spot anything in there why this doesn't work as it should...
One of my scripts helped you out? Please donate via Paypal

TMProjection
Posts: 79
Joined: 26 Sep 2020 10:10

Re: Cannot open program from context menu

Post by TMProjection »

so the Windows Explorer for example, since it works in that
is it using both 32 AND 64 bit context menus? is that why it works?

because i assume XYplorer using only one of the systems, 32 bit OR 64 right?

highend
Posts: 14595
Joined: 06 Feb 2011 00:33
Location: Win Server 2022 @100%

Re: Cannot open program from context menu

Post by highend »

Nobody knows how that context menu entry was implemented code-wise (apart from the programmer of MP3Tag).
The only thing we know is that some context menu entries only work 100% reliable with Windows Explorer. Obviously, the MP3Tag one belongs to that category.

Create a user defined command, a button, a catalog entry (whatever you want) with a script and execute that one instead:

Code: Select all

    $app = "C:\Program Files (x86)\Mp3tag\Mp3tag.exe";
    $cnt = <get CountSelected>;
    if ($cnt == 0) {
        run """$app"" ""<curpath>""";
    } elseif ($cnt == 1) {
        run """$app"" ""<curitem>""";
    } else {
        $quoted = quote(get("SelectedItemsPathNames", '" "'));
        run """$app"" $quoted";
    }
One of my scripts helped you out? Please donate via Paypal

admin
Site Admin
Posts: 65089
Joined: 22 May 2004 16:48
Location: Win8.1, Win10, Win11, all @100%
Contact:

Re: Cannot open program from context menu

Post by admin »

TMProjection wrote: 03 Oct 2020 22:58 If thats the case, i dont think a 64 bit version of the program exists, so would there be a way to open a 32 bit program from context menu?
The command does not show up in XYplorer's 32-bit context menu?

highend
Posts: 14595
Joined: 06 Feb 2011 00:33
Location: Win Server 2022 @100%

Re: Cannot open program from context menu

Post by highend »

It shows up in both context menu bitnesses but it does not work in the 64-bit one (nothing happens)
One of my scripts helped you out? Please donate via Paypal

admin
Site Admin
Posts: 65089
Joined: 22 May 2004 16:48
Location: Win8.1, Win10, Win11, all @100%
Contact:

Re: Cannot open program from context menu

Post by admin »

I guess some shell extensions perform some kind of callback with Explorer, and when Explorer is not there they fail.

TMProjection
Posts: 79
Joined: 26 Sep 2020 10:10

Re: Cannot open program from context menu

Post by TMProjection »

highend wrote: 04 Oct 2020 09:46 Nobody knows how that context menu entry was implemented code-wise (apart from the programmer of MP3Tag).
The only thing we know is that some context menu entries only work 100% reliable with Windows Explorer. Obviously, the MP3Tag one belongs to that category.

Create a user defined command, a button, a catalog entry (whatever you want) with a script and execute that one instead:

Code: Select all

    $app = "C:\Program Files (x86)\Mp3tag\Mp3tag.exe";
    $cnt = <get CountSelected>;
    if ($cnt == 0) {
        run """$app"" ""<curpath>""";
    } elseif ($cnt == 1) {
        run """$app"" ""<curitem>""";
    } else {
        $quoted = quote(get("SelectedItemsPathNames", '" "'));
        run """$app"" $quoted";
    }
Hey again Highend, would any of these entries be stored in the context menu? i would like to add it so it does the exact same thing it does in windows explorer
for example > right click > MP3Tag (SINCE THIS DOESNT WORK, COULD WE ADD ANOTHER CONTEXT ITEM FOR EXAMPLE:)
for example > right click > MP3Tag (Script)
if so how would i do this please

highend
Posts: 14595
Joined: 06 Feb 2011 00:33
Location: Win Server 2022 @100%

Re: Cannot open program from context menu

Post by highend »

You would need to unregister MP3Tags shell extensions first

In a command prompt with admin permissions and inside MP3Tags installation folder

Code: Select all

regsvr32 -u Mp3tagShell64.dll
regsvr32 -u Mp3tagShell32.dll
and then save this as e.g. "mp3tag_own.reg" and afterwards right click on that file and use the "Merge" command from the context menu + allow its modifications...

Code: Select all

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\MP3Tag (Own)]
"Icon"=""
"Position"="Middle"
@="MP3Tag (Own)"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\MP3Tag (Own)\Command]
@="\"C:\\Program Files (x86)\\Mp3tag\\Mp3tag.exe\" \"%1\""


[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SystemFileAssociations\audio\shell\MP3Tag (Own)]
"Icon"=""
"Position"="Middle"
@="MP3Tag (Own)"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SystemFileAssociations\audio\shell\MP3Tag (Own)\Command]
@="\"C:\\Program Files (x86)\\Mp3tag\\Mp3tag.exe\" \"%1\""
One of my scripts helped you out? Please donate via Paypal

Post Reply