Cómo esperar que un proceso termine??
Publicado por Rudy Castañeda (24 intervenciones) el 01/08/2007 20:17:13
Acabo de hacer un programa que se encarga de instalar multiples aplicaciones... el problema que tengo es que éstas llevan un orden de instalacione y pues a la hora de ejecutar el código, pues no espera a que termine el anterior y ejecuta al final todos los instaladores al mismo tiempo... a continuación presento una parte del código...
//todos los p, p1 p2.. son los procesos..
System.Diagnostics.Process p = new System.Diagnostics.Process();
System.Diagnostics.Process p1 = new System.Diagnostics.Process();
System.Diagnostics.Process p2 = new System.Diagnostics.Process();
System.Diagnostics.Process p3 = new System.Diagnostics.Process();
p.StartInfo.FileName = path1;
p.Start();
p.WaitForExit();
p.Close();
string processname = "msiexec";
System.Diagnostics.Process[] myprocess = System.Diagnostics.Process.GetProcessesByName(processname);
WaitforExitProcess(myprocess);
p1.StartInfo.FileName = path2;
p1.Start();
p1.WaitForExit();
p1.Close();
string processname1 = "msiexec";
System.Diagnostics.Process[] myprocess1 = System.Diagnostics.Process.GetProcessesByName(processname1);
WaitforExitProcess(myprocess1);
y en general así siguen los demás... pero por ejemplo p1 no espera a que termine p...
.. ayuda por favor... realmente la necesito.. le he dado muchas vueltas y no le encuentro.. gracias.
//todos los p, p1 p2.. son los procesos..
System.Diagnostics.Process p = new System.Diagnostics.Process();
System.Diagnostics.Process p1 = new System.Diagnostics.Process();
System.Diagnostics.Process p2 = new System.Diagnostics.Process();
System.Diagnostics.Process p3 = new System.Diagnostics.Process();
p.StartInfo.FileName = path1;
p.Start();
p.WaitForExit();
p.Close();
string processname = "msiexec";
System.Diagnostics.Process[] myprocess = System.Diagnostics.Process.GetProcessesByName(processname);
WaitforExitProcess(myprocess);
p1.StartInfo.FileName = path2;
p1.Start();
p1.WaitForExit();
p1.Close();
string processname1 = "msiexec";
System.Diagnostics.Process[] myprocess1 = System.Diagnostics.Process.GetProcessesByName(processname1);
WaitforExitProcess(myprocess1);
y en general así siguen los demás... pero por ejemplo p1 no espera a que termine p...
.. ayuda por favor... realmente la necesito.. le he dado muchas vueltas y no le encuentro.. gracias.
Valora esta pregunta


0