the code doesn't actually cleanup if the hash is bad of a file. This is problematic if you try and re-install it on top of itself. It should just clean up like all the other code and just exit 1