C # синхронный запуск процесса - PullRequest
16 голосов
/ 26 октября 2009

Я пытаюсь запустить процесс из фрагмента кода, но я хочу, чтобы код приостановил выполнение, пока процесс не завершится и не завершится. В настоящее время я использую класс 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 Ответ

36 голосов
/ 26 октября 2009

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

proc.WaitForExit();

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...