How can I use Process.Start(), but have the launched process not in the same process tree as the launching process?
Consider this sample console application:
As far as I know, Process.Start() does not support what you are asking for. You would have to use PInvoke to call the Win32 API CreateProcess() function directly so that you can specify the DETACHED_PROCESS flag in its dwCreationFlags parameter.