فایل exe اصلی رو بریز نو ریسورس، با استفاده تابع writeAllByte در یجایی (مثلا temp) ایجادش کن و با process.Start اجراش کن بره پی کارش
البته یکم ظرافت باید به خرج بدی
1- مثلا با تابع WaitForExit منتظر بسته شدنش باشی و بعد فایل ایجاد شده رو دیلیت کنی
2- چون اجرای بدون وقفه بعد از ایجاد فایل ممکن استثنا رخ بده باید چند میلی ثانیه thred رو متوقف کنی بعد اجراش کنی و امثالهم
string exeFilePath = Environment. GetFolderPath(Environment .SpecialFolder.Templates) + @"\myFile.exe";
System.IO.File. WriteAllBytes(exeFilePath, Properties.Resources.myFile);
System.Threading.Thread.Sleep(200);
System.Diagnostics.Process p = System.Diagnostics .Process.Start(exeFilePath);
p.WaitForExit();
System.IO.File.Delete(exeFilePath);