diff --git a/Update/Program.cs b/Update/Program.cs index 530833cd..08de4ae4 100644 --- a/Update/Program.cs +++ b/Update/Program.cs @@ -12,16 +12,31 @@ namespace Update static void Main(string[] args) { string data; - string procname; + string procname = "cmd.exe"; + string procargs = "/c echo finalizing update&&ping 127.0.0.1 -n 2&&del UpdateTShock.exe"; try { StreamReader sr = new StreamReader("pn"); procname = sr.ReadToEnd(); sr.Close(); + + string[] datat = procname.Split(' '); + procname = datat[0]; + procargs = ""; + for (int i = 0; i < datat.Count(); i++) + { + procargs += datat[i] + " "; + } + + File.Delete("pn"); + sr.Dispose(); + sr = new StreamReader("pid"); data = sr.ReadToEnd(); sr.Close(); + + File.Delete("pid"); } catch (FileNotFoundException) { @@ -50,6 +65,8 @@ namespace Update BinaryWriter bw = new BinaryWriter(new FileStream("TShockAPI.dll", FileMode.Create)); bw.Write(Resources.TShockAPI); bw.Close(); + + Process.Start(new ProcessStartInfo(procname, procargs)); } } }