// Restart current process Method 1
System.Windows.Forms.Application.Restart();
Application.Current.Shutdown();
// Restart current process Method 2
System.Reflection.Assembly.GetEntryAssembly();
string startpath = System.IO.Directory.GetCurrentDirectory();
System.Diagnostics.Process.Start(startpath + "\\xxx.exe");
Application.Current.Shutdown();
// Restart current process Method 3
Process p = new Process();
p.StartInfo.FileName = System.AppDomain.CurrentDomain.BaseDirectory + "xxx.exe";
p.StartInfo.UseShellExecute = false;
p.Start();
Application.Current.Shutdown();