let's try and get the error code when MOVEFILE_DELAY_UNTIL_REBOOT fails
log when the folder is populated, not when each file
clean up some of the test files
bugfix for scenario where bootstrapper is running without a UI
the message is now less wrong
tracing a rogue uninstall step
tidy up and indenting
when the hidden unstall happens, don't go to the UI
contracts should always be first
simplify the cleanup code
added failing test for when installing a new version over the top
extracted package detection to extension method
extracted helper functions for tidying up test code
refactoring more boilerplate code away
and now the test passes
refactor to introduce common methods
making the uninstall more robust when it fires in the background
getting the uninstall tests passing now using more Rx-friendly patterns
guard check for when the folder doesn't exist
the folder, it may not exist