If I create an update to my program and then later on my application downloads the latest version. How can I overwrite the currently running executable with the newer version? Should I create a seperate application that waits until my program is closed and then runs the installation? Is there a better way to do this?