title: Process.Start() does nothing
body: <p>I have to start a VPN connection (Fortinet) by code.
  I have a cmd file that establish the connection.
  If I call the cmd file on the shell it works pretty fine.
  When I call it via Process.Start it does nothing.
  It doesn't throw any exception, it seems to execute but VPN does not connect.</p>
  
  <p>On the standard output I can read the echo I put on the cmd file (so it is executing the right file).
  I launched a ping -d to see when the vpn goes up, when I call it via shell it goes up in a few seconds, via C# it is not.</p>
  
  <p>I also tried a sleep(30000) but nothing.</p>
  
  <p>My cmd (ConnectFile.cmd):</p>
  
  <pre><code>@echo off
  @echo Connecting to VPN
  "C:\Program Files (x86)\Fortinet\SslvpnClient\FortiSSLVPNclient.exe" connect -s "vpn myvpn"
  </code></pre>
  
  <p>My code (connectFile and disconnectFile are strings that contain the full path of the cmd files):</p>
  
  <pre><code>try
  {
      var startInfo = new System.Diagnostics.ProcessStartInfo();
      startInfo.FileName = connectFile;
      startInfo.WorkingDirectory = System.IO.Path.GetDirectoryName(connectFile) ?? "";
      System.Diagnostics.Process process = System.Diagnostics.Process.Start(startInfo);
      System.Threading.Thread.Sleep(30000);
      base.GetFiles(folder);
  }
  finally
  {
      System.Diagnostics.Process.Start(disconnectFile);
  }
  </code></pre>