title: Multiple arguments with cmd.exe via a C# Process
body: <p>I try to call the esriRegAsm.exe with arguments from a C# program.
  The purpose is to register a Dll. Therefore I usually call the esriRegAsm.exe with the Dll as argument plus some additional parameters (/p:Desktop /s). This works fine if I type it into cmd.exe. Somehow I think that the process sends only the first string to the cmd and not the whole argument list, but I need the "" for the space character in the paths.
  For debugging I added a message box and the strings seems to be okay.</p>
  
  <p>Backslash or double backslash seems to be unimportant.</p>
  
  <pre><code>        string targetDir = this.Context.Parameters["targ"];
          string programFilesFolder = this.Context.Parameters["proFiles"];
  
          System.Diagnostics.Process process = new System.Diagnostics.Process();
          System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
          startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
          startInfo.FileName = "cmd.exe";
          startInfo.Arguments = "/C \"" + programFilesFolder + "Common Files\\\\ArcGIS\\\\bin\\\\esriRegAsm.exe\" " + "\"" + targetDir + "RArcGISTest.dll\"  /p:Desktop /s";
          MessageBox.Show("/C \"" + programFilesFolder + "Common Files\\\\ArcGIS\\\\bin\\\\esriRegAsm.exe\" " + "\"" + targetDir + "RArcGISTest.dll\"  /p:Desktop /s");
          process.StartInfo = startInfo;
          process.Start();
  </code></pre>
  
  <p>As I cannot attache a picture of the message box... the output is:</p>
  
  <p>/C "C:\Program Files (x86)\Common Files\ArcGIS\bin\esriRegAsm.exe" "C:\install\RArcGISTest.dll" /p:Desktop /s"</p>