When do we need to set UseShellExecute to True?
<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>
