Your suggestion won't work if we want to allow users to launch a second, modified instance of a program if it is already running.

I've also just realized that there is a race condition if `-of`/`-od`/`--build-only` is used - the temporary file lies outside of the locked directory. It needs to be in the locked directory, and we need to remember to replace the final target atomically (although I think that's not possible on Windows if the file is locked by a running process).