Not working command for file type after upgrading Dopus 11->12

On Dopus 11 version I made context menu command for file type "mkv"

Command text:
"C:\Program Files\MPC-BE x64\mpc-be64.exe" "%1"

And it worked well all the time. After upgade to Dopus 12 it shows error

russian:
Нет приложения, сопоставленного с этим файлом для выполнения этого действия.
Установите приложение или, если оно уже установлено, создайте связь на странице
параметров приложений по умолчанию.

translation:
There is no application associated with this file to perform this action.
Install the app or, if already installed, create a link on the page
default application settings.

изображение

The same command in toolbar still works well.

Please do this and send us the zip file it creates on your desktop:

  • Select Settings > File Types in Opus.
  • In the window that appears, select File > Diagnostic at the top left.
  • Type .mkv into the extension field and click OK.

what is your support email?

You can sent it to crashdumps@gpsoft.com.au or via a private message to me here at the forum, whichever you prefer.

Are you sure you made what's in the screenshot yourself, or that it is what you're selecting when you right-click the file?

Are you seeing the problem when right-clicking or when double-clicking?

The thing in the screenshot, and from seeing it in the registry data you sent, looks identical to the standard open verb which MPC-BE creates (and labels Воспроизвести в MPC-BE in Russian or Play with MPC-BE in English). I have the same things on my machine and they work fine, with MPC-BE as the associated program for MKV files. It's unlikely those were made by hand using Opus 11.

I think what's complicating things is that you have the MKV type overwritten via Open With so that it is associated with MPC-HC (HC, not BE). That would try to run this on double-click:

"C:\Program Files\MPC-HC\mpc-hc64.exe" "%1"

Does that path/program still exist on the machine?

You are right. Previuos screenshot screenshot showed actions from registry. Here is context menu page where right command "Добавить в плейлист MPC-BE" was added manually by me. It has the same value of "Application" property.
изображение

And there is no mistake. There are 2 similar applications -

  1. C:\Program Files\MPC-HC\mpc-hc64.exe
  2. C:\Program Files\MPC-BE x64\mpc-be64.exe

Both paths are valid in my system.

And I repeate - The same command in toolbar still works well.

I don't see that command in your registry data, which is strange.

Could you double-click it and post a screenshot so we can see how it's defined? The command looks correct but the other details might be the issue.

I added this command via Dopus. It was never shown in my explorer context menu. So I think it was never present in registry.
изображение

That's the Enqueue command which MPC-BE itself creates. That should appear in File Explorer as well as Opus.

Can you show us what you're clicking on in the menu itself?

this is context menu from explorer (all video file types has the same context menu commands)

this is context menu from dopus
изображение

I just added many different context menu commands for file type "MP4" and they all show that error.

изображение

I think it is clear evidence that Dopus adds its own context menu commands incorrectly.

They work fine here. Something strange is going on there.

Explorer not even showing the same menu items tells me something weird is going on with the file type, possibly because it's been taken over via Open With. What happens if you use Open With to make MPC-BE the default app for MKV and MP4?

Please also make a process monitor log of what happens when the menu item is selected, and we'll look at it when we have a moment:

It works OK.
Remember - Dopus 11 had no such problems. All context menu items added in Dopus file type editor - worked OK. The problem have appeared right after upgrading to Dopus 12.

In a way, the bug is that we're showing those menu items at all, since File Explorer won't show menu items on a file type that has been taken over. The menu items are actually run via the shell as well, which must have problems in this situation (makes sense in a way, as the shell is confused by the situation).

It's also partly the fault of the file type editor letting you edit the type when it's been taken over by a different type. But the way file type overrides work in Windows is so complex now that we will probably not attempt to change that. Sometimes the file type editor won't be enough and complex situations require alternative methods, or sometimes editing the registry directly.

Opus 11 did things in a more simple way and ran the commands directly itself, which is why they worked there. But that also meant some other things didn't work or were less compatible.

You should be able to solve the problem by deleting the existing menu items and adding new ones which are set to the "Run An Opus Function (not supported in Explorer)" type. (You can't change an existing item to the type, it has to be deleted and a new one created.)

The same command should work, and when it's set to that type it will be an Opus-specific command which Opus runs entirely itself. Since the menu items don't show up in File Explorer anyway, there's no downside to that.

1 Like

So Dopus 12 has 2 kinds of commands:

  1. Old compatible commands with 2 types
    изображение
  2. New commands with 4 types
    изображение

Why old compatible commands (type 1) does not work like in Dopus 11? As I understand they are here only for compatibity resason. I don't won't spent my time manually recreating commands in dozens of file types.

The old method didn't work with some third party context menu handlers that need to be run via the shell.

The new method does work, but only when they're added to the actual file type that Windows believes the extension to be, because the Windows shell apparently gets confused when asked to run something otherwise.

When they're added to one file type (mpc-be64.mkv) but that is then taken over by another (mplayer64.exe, I think it was in this case) is where you run into problems. But those menu items shouldn't really even be shown, so if we fix this it'd just be to hide the broken menu items entirely so we're at parity with File Explorer.

(And we could potentially make the file type editor edit the overriding file type rather than the overridden one, but that's quite complicated. We could also just remove the file type editor, which is what Microsoft did to theirs years ago when they made things too complex for themselves... But it's useful and we don't want to do that, even if it's imperfect. I don't think the file type editor is where those menu items came from anyway.)

You only need to add the menu item once, to the Movies file type group.

To remove all the non-working menu items at once, configure MPC-BE and tell it not to add its menu items by turning off these two checkboxes:

(Those are what we're looking at here; none of them are self-created in Opus 11, they are what MPC-BE creates when these checkboxes are turned on.)

If the checkboxes are greyed out, you need to click the Modify button shown below, and accept the UAC prompt, so that MPC-BE has access to modify the registry:

1 Like
  1. I need for all video files to be opened by default by MPC-HC
  2. I need for all video files context menu root item "Play by MPC-BE"

Tried to register shell context menu commands from MPC-BE with no luck -
When I pressed "Apply" button only "Default application" window has opened.

Can I safely downgrade to Dopus 11?

Have you tried doing what I suggested in my previous reply?

You won't need to change the default application at all if you do that, nor will you need to go to a years-old version of Opus. :slight_smile:

Yes. Tried to register shell context menu commands from MPC-BE with no luck -
When I pressed "Apply" button, only "Default application" window has opened and nothing changed. The error is still shown when I execute context menu root item "Play in MPC-BE".

You should turn off the Directory and File checkboxes in MCP-BE, so that it removes its items from the registry.

If the Windows default app UI appears, just close it; it shouldn't be needed for this.

Failing that, you can also delete them using RegEdit.