title: When do we need to set ProcessStartInfo.UseShellExecute to True?
body: <pre><code>//
  // Summary:
  //     Gets or sets a value indicating whether to use the operating system shell
  //     to start the process.
  //
  // Returns:
  //     true to use the shell when starting the process; otherwise, the process is
  //     created directly from the executable file. The default is true.
  [DefaultValue(true)]
  [MonitoringDescription("ProcessUseShellExecute")]
  [NotifyParentProperty(true)]
  public bool UseShellExecute { get; set; }
  </code></pre>
  
  <p>If we spawn a new process, when do we need to set UseShellExecute  to True?</p>