After years of MM faithfully opening to my 30K library of files, today it opened to a blank screen with no license and no files, much like this post from 2022 titled "My library is gone, everything reset in the app including the license"
My MM installation has been portable forever, with multiple updates of new beta versions successfully installing. There have been no updates to Windows (Win 10, no longer updated) and all of the files are in their usual spot on the drive, as they had been when I closed MM down an hour before.rockisalive wrote: ↑Tue Aug 16, 2022 3:19 am I opened a ticket but I wanted to share my experience on the forum too.
Based on responses to that earlier post I went looking for the mediamonkey.ini file in my portable installation. What I found is that the mediamonkey.ini file was corrupted - it occupied 45K on disk but showed no characters in notepad. I was able to restore my MM system by using Windows' File History feature to bring the previous copy of the mediamonkey.ini file back from the day before, uncorrupted.
There was nothing exceptional about today's shutdown and reopen process, and I have done exactly that hundreds of times, so I am not aware of any action on my part which would have precipitated a corruption of the ini file. If I had not previously ensured that File History was working, I would now be in a serious world of hurt.
Given the importance of the mediamonkey.ini file to the operation of MM, I suggest some thought to automatic resilience for the detection of a corruption and automatic fallback to a known good copy might be worth attention from the devs. For example:
- Have a current/father/grandfather set of the mediamonkey.ini file;
- If loading the Current version of the mediamonkey.ini fails then try opening with the content in the Father version of the file, and if that fails then try the Grandfather;
- If such action is taken, advise the user (though I don't know what you'd want them to do - submit a helpdesk ticket?)
- On successful open, advance the file set by copying the content of Father over Grandfather, copy content of Current over Father, and save the Current version.
Cheers
Matt