View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0012627 | MMW v4 | Other | public | 2015-02-27 20:38 | 2015-02-27 21:24 |
Reporter | peke | Assigned To | |||
Priority | urgent | Severity | crash | Reproducibility | always |
Status | confirmed | Resolution | open | ||
Product Version | 4.1 | ||||
Target Version | 4.1.7 | ||||
Summary | 0012627: Portable Mode: When destination for download needs elevation MMW crashes | ||||
Description | In case that podcast Download needs elevation and user either accept or decline MMW crashes when run in Portable mode | ||||
Tags | No tags attached. | ||||
Fixed in build | |||||
|
I have tested on the user's DB provided by Peke and the download location is C:\Users\User\Music\Podcasts\..... which needs admin rights and elevation. Peke tested on portable version in debug mode so it crashed with "EOleException: The application called an interface that was marshalled for a different thread." The reason is here: http://www.mediamonkey.com/support/index.php?/Knowledgebase/Article/View/146/0/portable-mode-settings-dont-save--addons-dont-install-correctly Namely: 1) To enable OS Integration settings to function in portable mode, register the MediaMonkey elevation COM object, which is used to give MediaMonkey admin rights in cases where changes must be made to the registry (e.g. for file associations): MediaMonkeyCOM.exe /regserver In that case we should probably inform user about the problem in a more graceful manner so that user can know how to "fix" this, i.e. that he needs to call "MediaMonkeyCOM.exe /regserver" to resolve this or even better we should show a dialog and register the elevator automatically after approving the dialog. |
|
Further findings: I can download the files using regular version after acceptation of the elevation and with the portable after registering the COM server and acceptation of the elevation (as expected) The issue is when there are both regular and portable versions installed in different folders, in that case the portable version somehow wants to use the COM server (elevator) of the standard version from different folder and crashes. BTW the same issue appears whenever there are two regular versions installed (in different folders). The elevator works only for the lastly registered/installed, for the other one it crashes the same way: "EOleException: The application called an interface that was marshalled for a different thread." Again, we should inform the users in a more graceful way than crashing 1) When elevation is cancelled 2) When elevator cannot be used |