github/Shimmer — pull request #144 by shiftkey (2013-09-13 12:33:34+00:00)
Title: WIP - fixing some edge case issues with uninstall

A bunch of assorted fixes:

- run a new installer on a system which already had the application installed
- log the Win32 message when MoveFileEx fails
- log files are suffixed with the process number - to help trace scenarios where install AND uninstall are involved
- uninstall step would always try and navigate to a ViewModel (only do this when Full)
- ShouldQuit would fail when a UI is not present
- log messages are less terrible than before

Test Plan:

- [ ] install version A, then install version A again.

Expected:
- A runs
- A in Programs & Features list
- No other folders in %LOCALAPPDATA%

- [ ] install version A, then install version A+1 while app A is open. Close A and restart. Click shortcut.

Expected:
- A remains open.
- A+1 in Programs List & shortcut.
- Folder A is around after install.
- A+1 is opened when clicking shortcut
- Folder A is removed after restart.

- [ ] install version A, then version A+1. Open A+1 via shortcut. Install version A+2 while A+1 is open. Close A+1 and restart.

Expected:
- A, A+1 remain usable throughout installs
- A+2 in Programs List & shortcut.
- Only folder A+2 is around after install.
- A+2 is opened when clicking shortcut
- Folder A, A+1 is removed after restart.