tags:

views:

164

answers:

1

I'm attempting to start a process from a piece of code but I want the code to pause execution until the process finishes and exits. Currently I'm using the System.Diagnostics.Process.Start() class to start (specifically) an uninstaller program, and the code executing afterwards does rely on the installer uninstaller finishing before it resumes execution.

Here's the code.

 System.Diagnostics.ProcessStartInfo procStIfo =
                 new System.Diagnostics.ProcessStartInfo( "cmd", "/c " + variableContainingUninstallerPath );

                procStIfo.RedirectStandardOutput = true;
                procStIfo.UseShellExecute = false;

                procStIfo.CreateNoWindow = true;

                System.Diagnostics.Process proc = new System.Diagnostics.Process();

                proc.StartInfo = procStIfo;

                proc.Start();
+6  A: 

After your Start() call, add:

proc.WaitForExit();

See Process.WaitForExit for details.

Reed Copsey