自分自身を更新することは通常はできないので、プログラムAが自身を更新したい場合は、「プログラムAが終了するまで無駄に自身にpingを飛ばすことで5秒間ほど待って、プログラムAを上書きコピーする」というコマンドプロンプトを呼び出すことで、擬似的に自分自身を更新する。
string strCmd = "cmd /c ping localhost -n 5 & copy /y /b " + strSrcFile + " " + strDstFile; System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo(); psi.FileName = System.Environment.GetEnvironmentVariable("ComSpec"); psi.CreateNoWindow = true; psi.UseShellExecute = false; psi.Arguments = strCmd; System.Diagnostics.Process.Start(psi);