title: C# synchronous process starting
body: <p>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.</p>
  
  <p>Here's the code.</p>
  
  <pre><code>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();
  </code></pre>