codeproject上已经有现成的方法了: How To Create a Self-Restartable Application http://www.codeproject.com/KB/threads/RestartableApp.aspx