View Issue Details

IDProjectCategoryView StatusLast Update
0017397MMW 5Install/Configpublic2022-09-14 14:33
Reporterdrakinite Assigned To 
PriorityurgentSeverityminorReproducibilityalways
Status newResolutionopen 
Product Version5.0 
Target Version5.2 
Summary0017397: Setting portable install of MM5 to open media files causes MM4 to open them instead
DescriptionUser has pointed out that setting a portable install of MM5 as the default to open media files is not possible, and causes MM4 to open the files instead.

https://www.mediamonkey.com/forum/viewtopic.php?f=30&t=98170
Steps To Reproduce1) Open With>Choose Another App>More Apps>Look For Another App On This PC>
2) Choose portable/MediaMonkey.exe
3) MediaMonkey 4 opens the file.

Occurs even if another app (e.g. Windows Media Player) is set to be the default to open that filetype.
TagsNo tags attached.
Fixed in build

Relationships

related to 0017398 closedpetr 'Open with' and 'Default' apps can have multiple near-identical entries for 'MediaMonkey' 

Activities

rusty

2021-01-17 00:56

administrator   ~0061396

Last edited: 2021-01-17 01:02

I've confirmed that this is a Windows limitation. The full set of tests and solution appear below, but to summarize, if there's a 'normal' installation of an app and a portable installation of an app, and both have the same name, then 'Open With' of the portable install will always open the 'normal' installation (regardless of whether it's configured as the default app). The solution is to use a different name for the portable version of the app.

Tested on Windows 10.0.19041 / MediaMonkey 5.0.0.2295

1) Replicate user-reported problem as follows
1 Install MM4, set as default Music Player using 'Default programs'
--> tracks appear with MM icon
2 Double click track
--> Opens in MM4
3 Close MM4 and verify that terminated
4 Install MM5 Portable, Select track > Open with > Choose another App > More apps > Look for another app on this PC > Choose MediaMonkey.exe ( v5 portable)
--> MM4 Opens! (note: tested with M4A/MP3/FLAC)

2) Test the same as 1) but with Groove as the default program, to verify whether the issue is a MediaMonkey-specific problem or a Windows problem

5 Set 'Groove Music' as default Music Player using 'Default programs'
--> tracks appear with Groove icon
6 Double click track
--> Opens in Groove
7 Close Groove
8 Select track > Open with > Choose another App > More apps > Look for another app on this PC > Choose MediaMonkey.exe ( v5 portable)
--> MM4 Opens! (note: tested with M4A/MP3/FLAC)

3) Test the same as 2) but with another Portable app to verify whether the issue is related to the fact that MediaMonkey.exe from V4 regular install and v5 portable install have the same name

9 Install AIMP Portable, Select track > Open with > Choose another App > More apps > Look for another app on this PC > Choose AIMP_Portable.exe
--> AIMP Opens and plays the track (note: tested with M4A/MP3/FLAC). This implies that the problem may be related to the MediaMonkey filename being identical across both the regular and portable installations

4) Test the same as 3) but after renaming AIMP executable to MediaMonkey.exe to see whether the identical filename is the problem

10 Install AIMP Portable to MediaMonkey.exe, Select track > Open with > Choose another App > More apps > Look for another app on this PC > Choose MediaMonkey.exe (AIMP)
--> MM4 Opens and plays the track (note: tested with M4A/MP3/FLAC). This confirms that the problem is related to the MediaMonkey filename being identical across both the regular and portable installations

5) Verify that renaming MediaMonkey.exe to a non-identical filename resolves the problem

11 Rename \MediaMonkey 5\MediaMonkey.exe to \MediaMonkey 5\MediaMonkeyPortable.exe ; Select track > Open with > Choose another App > More apps > Look for another app on this PC > Choose MediaMonkeyPortable.exe
--> MM5 Opens and plays the track (note: tested with M4A/MP3/FLAC). This confirms that the problem is related to the MediaMonkey filename being identical across both the regular and portable installations

6) Verify whether this issue occurs with other Portable Apps to ensure that the MM4 installer isn't somehow responsible for this behavior

12 Install VLC (normal), set as default Music Player using 'Default programs'. Set dark skin.
13 Install VLC portable and leave default native skin.
14 Select track > Open with > Choose another App > More apps > Look for another app on this PC > VLC.exe (portable)
--> VLC (normal) opens (with dark skin).
This confirms that it's a Windows problem and not a MediaMonkey problem.

Proposed solution:
When MM5 is installed in Portable mode, the .exe should be MediaMonkeyPortable.exe (rather than MediaMonkey.exe)

drakinite

2021-01-17 01:15

developer   ~0061397

Proposed solution might even assist with an issue I've had personally, but haven't reported, which is that "Allow only one instance of MediaMonkey" prevents other versions/installs from running. So if portable versions' exe are named MediaMonkeyPortable.exe, then that may allow for a consequential solution to that issue.

drakinite

2021-01-17 01:22

developer   ~0061398

Renaming MediaMonkey.exe to MediaMonkeyPortable.exe works, though expectedly it causes a few problems with app exit and reload (which I'm sure can be fixed).

However, one issue is that on the "Open With" menu, there are now two listings titled MediaMonkey (one portable and one non-portable), with no way of distinguishing the two. Ideally, the portable would be displayed as "MediaMonkey Portable" or "MediaMonkey (Portable)".
image.png (93,710 bytes)   
image.png (93,710 bytes)   

rusty

2021-01-17 04:41

administrator   ~0061399

I've entered a new bug to track the multiple identical 'MediaMonkey' entries in 'Open with' at 0017398.

jiri

2021-01-18 09:48

administrator   ~0061411

Per IM with Petr, we'll rename the exe as suggested. Few things will need to be tweaked, but probably nothing serious.

Ludek

2021-01-18 11:22

developer   ~0061412

Last edited: 2021-01-18 12:01

Isn't renaming MediaMonkey.exe to MediaMonkeyPortable.exe unnecessary risk at this point? I suppose that the issue happens, because portable version isn't registered into OS (Options > OS Integration is missing).

So the simple workaround should be to install MM5 as non-portable -- or register the portable version via already existing command line option /PREPAREASSOC

One of the porblems with renaming to MediaMonkeyPortable.exe is e.g. that deleting /Portable/ folder will make non-portable version with MediaMonkeyPortable.exe.
Also there is a high risk that user will end by both MediaMonkeyPortable.exe and MediaMonkey.exe in one install folder (when installing various MMX versions to a single folder) -- which would result in further mess.

Alternativelly we could rename to MediaMonkey5.exe for both portble/non-portable versions, which would be less risky, but I would say that it is still something not to do now in RC 5.0 state.

rusty

2021-01-18 17:53

administrator   ~0061420

Renaming the exe could allow the user to right click on a media file and Open with > MediaMonkey (the portable MM5 version) as it would allow MM5 portable to get added to the MRU list. This is useful for individuals who want to keep both MM4 (normal) and either test MM5 (portable) or use MM5 Portable (because they want to keep both versions installed due to missing features in MM5).

Nonetheless, it was agreed that the bug doesn't actually prevent the use of MM5 portable with MM4--it just limits a specific feature (right click > open with). So we should defer to 5.0.1 and revisit if needed.

There was also discussion re. whether to document in the helpdesk the workaround of manually renaming MediaMonkey.exe to MediaMonkeyPortable.exe . This was rejected it would break skin switching / addon installation since restart.bat currently checks for MediaMonkey.exe

There was also some discussion about using MediaMonkey5.exe rather than MediaMonkeyPortable.exe. This approach might be problematic for 5.0.1 (at which point most MM5 installs will already use MediaMonkey.exe).

rusty

2021-01-18 22:02

administrator   ~0061426

Note also: as per 0017398, even portable instances of MediaMonkey seem to prevent another identically named portable instance from being run from the 'Open with...' menu. e.g. If MM4 Portable and MM5 Portable exist, and the user configures 'Open with...' for MM5, then every attempt to Open with.... MM4 causes MM5 to open.

The implication is that to solve all cases requires:
- different .exe names for MM4 vs MM5 (e.g. MediaMonkey.exe / MediaMonkey5.exe)
- different .exe names for regular vs portable (e.g. MediaMonkey5.exe / MediaMonkeyPortable5.exe)