title: Process.Start() throws an "Access Denied" error
body: <p>When I execute a process through and try to redirect the output/error, I get the following error:</p>
  
  <pre><code>System.ComponentModel.Win32Exception (0x80004005): Access is denied 
  at System.Diagnostics.Process.CreatePipe(SafeFileHandle&amp; parentHandle, SafeFileHandle&amp; childHandle, Boolean parentInputs) 
  at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo) 
  ...
  </code></pre>
  
  <p>What could be wrong? Here is a repro:</p>
  
  <pre><code>string path = "C:\\batch.cmd";
  using (Process proc = new Process())
  {
      bool pathExists = File.Exists(path);
      if(!pathExists) throw new ArgumentException("Path doesnt exist");
  
      proc.StartInfo.FileName = path;
      proc.StartInfo.WorkingDirectory = workingDir.FullName;
      proc.StartInfo.UseShellExecute = false;
      proc.StartInfo.RedirectStandardError = true;
      proc.StartInfo.RedirectStandardOutput = true;       
  
      proc.Start(); //Exception thrown here
      proc.WaitForExit();
  }
  </code></pre>