Синхронный процесс С#

Я пытаюсь запустить процесс из куска кода, но я хочу, чтобы код приостанавливал выполнение до тех пор, пока процесс не завершится и не завершится. В настоящее время я использую класс System.Diagnostics.Process.Start() для запуска (в частности) программы удаления, а последующий код полагается на завершение установки установщика, прежде чем он возобновит выполнение.

Здесь код.

using System.Diagnostics;

var procStIfo = new ProcessStartInfo("cmd", "/c " + variableContainingUninstallerPath);
procStIfo.RedirectStandardOutput = true;
procStIfo.UseShellExecute = false;
procStIfo.CreateNoWindow = true;

var proc = new Process();
proc.StartInfo = procStIfo;
proc.Start();

Ответы

Ответ 1

После вызова Start() добавьте:

proc.WaitForExit();

Подробнее см. Process.WaitForExit.