Page 1 of 1

Wrong error msg "Installation directory not empty"

Posted: Thu Nov 08, 2018 6:24 pm
by tangofan
When upgrading from the previous version of MakeMKV to 1.14 (using Windows 10 x64 1709), the installer uninstalled the previous version and after that gave me the error "Installation directory not empty". So I had to exit the installer and then actually reboot, because Windows Explorer still was telling me that the directory was in use. (At the time I unfortunately didn't think about checking which process was holding the handle).

I double- and triple-checked the MakeMKV directory, there were absolutely no files and directories in there, not even hidden ones. (My MakeMKV profile file is in my user directory).

In order to verify this I uninstalled MakeMKV 1.14 and manually deleted the "MakeMKV" program directory. Then I manually created that directory in the same sport and started the installer again. And sure enough I once again got the error that the installation directory is not empty.

So at the last step I did the following:
1. Deleted "MakeMKV" program directory
2. Installed MakeMKV 1.12.3
3. Started installation for MakeMKV 1.14
4. Click "Ok" when prompted to remove previous version
5. When I got the confirmation popup that the previous version was uninstalled, I saw that the program directory was removed.

So here are my conclusions:

a) The check for empty installation directory is wrong, it actually checks, if the installation directory already exists and then triggers the error popup.

b) Usually that is not a problem, since the uninstaller will remove the installation directory.

c) However sometimes (for whatever reason) the installation directory is in use and cannot be removed. (I didn't check at the time which process was holding a handle on this directory and I couldn't reproduce this, when trying the upgrade again). When that happens, the erroneous check for empty installation directory triggers.

So it would be nice, if the check for empty installation directory in the installer could be fixed, at least for those cases when case c) happens.