MOI 5. snatching commands from Mixcraft?

Next
 From:  RIL
10672.1 
I'm puzzled and feel I have to ask @Michael if he may have a clue what's going on with the Beta.

Problem: After I installed the MOI 5 beta, my DAW (Acoustica Mixcraft 9 Pro Studio) suddenly wouldn't open it's help file. Instead, when clicking "Help" in the Mixcraft menu it opened MOI 5 (!).

So I uninstalled MOI 5, but the Help menu in Mixcraft was left "dead". Nothing happens when I click on the Help menu.

Any ideas about what could possibly have caused this?

The Mixcraft Help file is an external PDF-file located in the installed applications folder, if knowing that is of any help for guesstimating how this could happen.




Today I reinstalled MOI 5 again and again MOI5 is started by clicking Help inside Mixcraft. Cool! ;-)

// Rolf
Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
10672.2 In reply to 10672.1 
Hi Rolf, it means your file association for the .pdf file extension has gotten messed up.

This is a setting that is stored in the operating system, you can modify it by right clicking on the file in a file Explorer shell window and then choose "Open with" and in the sub menu pick "Choose another app". On the dialog that comes up pick the PDF viewer that you want like Microsoft Edge or Adobe reader and check the box that says to always open with that app.

There is some additional description of other ways to set this here:
https://www.thewindowsclub.com/change-file-associations-windows

When you run the MoI installer, it registers the file types that MoI knows how to open with the operating system but it should only become the default app for each file type if there is not another one set already. Maybe this part is working a little differently on your machine though, what operating system are you running?

Thanks,
- Michael

EDITED: 26 Apr 2022 by MICHAEL GIBSON

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  RIL
10672.3 In reply to 10672.2 
Hi Michael,

The error comes not from clicking the PDF, it comes from inside Mixcraft (help menu). The file associated with the PDF is Edge and as expected, the Edge browser opens the PDF properly:




The problem occurs when I click the Help menu inside Mixcraft, then MOI is started :



I really don't know why this is happening, but MOI-5 seems to have changed a setting in the registry (which then is stuck there even after uninstall of MOI). Hm, I will try browsing the registry to see if I can find any reference to MOI in the wrong place....

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
10672.4 In reply to 10672.3 
Hi Rolf,

re:
> The error comes not from clicking the PDF, it comes from inside Mixcraft (help menu).

I see, but the normal way for a program to open a PDF file would be to use the system ShellExecute() function which should function the same as double clicking on it in the file Explorer.

What happens if you use the Windows Run dialog (Win+R keyboard shortcut) and put in the PDF file name with full path in it, does it launch Edge or MoI?

If only Mixcraft is launching MoI and not any OS shell functions then that would point to a bug in Mixcraft where it must have some custom code manually going through the registry instead of calling the system ShellExecute() function like it ought to.


> I really don't know why this is happening, but MOI-5 seems to have changed a setting in the
> registry (which then is stuck there even after uninstall of MOI).

It's normal for Moi to put file association information in the registry when it is installed. I'll see about making that get uninstalled.

If you go in regedit to HKEY_CLASSES_ROOT\.pdf there should be a sub-key "OpenWithProgids" that then contains an entry "MoI.PDFFile.1", if you delete the "MoI.PDFFile.1" maybe that will make Mixcraft not try to open MoI for handling .pdf files.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  RIL
10672.5 In reply to 10672.4 
>> Michael wrote: What happens if you use the Windows Run dialog (Win+R keyboard shortcut) and put in the PDF file name with full path in it, does it launch Edge or MoI?

That works as normal. Edge is opening the PDF as it should.

>> Michael wrote: If only Mixcraft is launching MoI and not any OS shell functions then that would point to a bug in Mixcraft where it must have some custom code manually going through the registry instead of calling the system ShellExecute() function like it ought to.

After trying your suggestions, I'll post on Mixcraft's forum with a link back to this trhead and ask them to have a closer look at what's really happening behind that Help menu command.

>> Michael wrote: If you go in regedit to HKEY_CLASSES_ROOT\.pdf there should be a sub-key "OpenWithProgids" that then contains an entry "MoI.PDFFile.1", if you delete the "MoI.PDFFile.1" maybe that will make Mixcraft not try to open MoI for handling .pdf files.

I deleted that key, but the problem remained. But then I found that the parent folder to those keys (".pdf") had the same setting! (the "MoI.PDFFile.1" value). So I deleted that value as well, and there it was! Now Mixcraft Help file opens with Edge again as before. Thank you for your assistance!

Fig 1. The Key Value is deleted in the picture below, and that solved the problem:
Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
 From:  Michael Gibson
10672.6 In reply to 10672.5 
Hi Rolf, that's great I'm glad it is solved.

As best as I can tell it seems to be a bug in Mixcraft where it must be going through
the registry with its own custom code to find a program to launch under the .pdf file
type.

That's not advisable because it can end up launching a program other than the one
that the OS shell has set as the default handler.

The solution is to call the OS ShellExecute() function instead, passing in the path to
the help .pdf file.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged
 

Reply to All Reply to All