Windows UMS uninstaller should check that UMS is not running
Posted: Tue Oct 29, 2013 4:30 am
I was occasionally having problems with UMS suddenly not launching and had to do a clean uninstall and reinstall to fix the problem. I later discovered it was because most of the jar files had mysteriously disappeared, I didn't delete them and Microsoft Security Essentials didn't quarantine them. I did some investigating and taking into consideration that it happened after a restart, concluded that it must be a pending deletion.
When deleting files that are in use, the Windows Session Manager may add them to the PendingFileRenameOperations registry for deletion on next restart. So it is possible to run the uninstaller while UMS is still running and have it complete successfully despite failing to delete files and instead marking them for pending deletion. Then run the installer which notifies that UMS is still running, so you shut it down, complete installation successfully and have everything working great until next restart when Windows deletes all the jar files. Even if the files are unlocked and manually deleted they will still remain marked for deletion.
This can be addressed by making the uninstaller check that UMS is not running before continuing. This is an easy mistake to make since UMS is often running constantly in the tray and also if it crashes its javaw.exe process can stay running indefinitely.
When deleting files that are in use, the Windows Session Manager may add them to the PendingFileRenameOperations registry for deletion on next restart. So it is possible to run the uninstaller while UMS is still running and have it complete successfully despite failing to delete files and instead marking them for pending deletion. Then run the installer which notifies that UMS is still running, so you shut it down, complete installation successfully and have everything working great until next restart when Windows deletes all the jar files. Even if the files are unlocked and manually deleted they will still remain marked for deletion.
This can be addressed by making the uninstaller check that UMS is not running before continuing. This is an easy mistake to make since UMS is often running constantly in the tray and also if it crashes its javaw.exe process can stay running indefinitely.