title: Process.start does not find file when useshellexecute = false
body: <p>I need to call batch-files from my UWP Application. The way to do seems to be Process.Start(), but it says it does not find the file even tough it is definitly there when I follow the path it outputs. 
  Filepath and Working Directory are both given as full paths as is requiered when using shellexecute = false. </p>
  
  <p>It works when I set useshellexecute = true. Since the full path works here, the file is clearly there.
  With shellexecute = true the working directory only specifies where it should search for the file and the command prompt starts in the system32 directory, but I need the working directory to be where the opened batch is located.</p>
  
  <p>Hence the ShellExecute = false.</p>
  
  <p>I tried:
  1. ShellExecute = true. It finds the file but the working directory is not set correctly.
  2. Hardcoding the absolute path to a batch. Still not found.
  3. Setting StartInfo.FileName instead of giving it via argument.
  4. relative paths
  5. Process.Start(Filename). Can't set Working Directory without StartInfo
  6. Look at similar questions, but the answer is always what I already have (Use full path when shellexecute = false)</p>
  
  <pre><code>string executable = args[2];
  
  string path = Assembly.GetExecutingAssembly().CodeBase;
  string directory = Path.GetDirectoryName(path);
  
  var startInfo = new ProcessStartInfo(directory + @"\Diagnose\_data\Updater\" + executable);
  
  startInfo.UseShellExecute = false;
  startInfo.WorkingDirectory = directory + @"\Diagnose\_data\Updater";
  
  startInfo.RedirectStandardError = true;
  startInfo.RedirectStandardInput = true;
  startInfo.RedirectStandardOutput = true;
  
  Process.Start(startInfo);
  </code></pre>
  
  <p>It should find the file since there is a full, absolute path given and the file is defintily there, but it gives an file not found error.</p>