title: Rename a running executable (exe) file
body: <p>We are trying to push updates to multiple servers at once and my manager has found that it is possible to rename  running .exe file. Using that knowledge he wants to rename a running exe and copy over a new version of said exe such that anyone running their in memory copy of foo.exe are fine and anybody who opens a shortcut pointing to foo.exe will get a new copy with updates applied. </p>
  
  <p>I guess I need to clarify, He doesn't expect the old copy to magically update, he just           expects them to keep running the old copy until they open the exe again, in which case it will then open the new one that has the name of the old one.</p>
  
  <p>It sometimes throws an exception that the file is in use on his program but if he tries renaming it in a loop it will eventually succeed. On my machine I have yet to be able to get it to work even in a loop. </p>
  
  <p>My first and main question is this: Is it ever acceptable to do this. Should renaming a running executable ever be a valid scenario?</p>
  
  <p>Secondly, if it is a valid scenario then how could one reliably do this? Our current thoughts are try a bunch of times using File.Move (C#) to do a rename and if it doesn't work then write out to an error log so it can be handled manually. </p>