我正尝试从.NET Windows服务启动控制台应用程序。 该服务正在Windows 2008服务器上运行。
我使用Process.Start来运行控制台应用程序,它运行(我可以在任务pipe理器中看到它),但我从来没有得到进程id,并且调用Process.Start只是挂起。 如果我从Windows 7机器上运行相同的服务,则进程运行,并且我得到进程Id没有问题。
我很困惑 ..
我有完全相同的问题。 对我来说关键是设置StartInfo.UseShellExecute = false;
是否有可能你正在产卵的过程是试图提示窗口站的用户输入? 在这种情况下,它可能会挂起…
你开始哪个过程? 它是平台/操作系统(如cmd.exe)或自定义的一部分?
经过很长时间的寻找解决方案,我发现了我的问题的明智的石头。
我做了一个新的基于WindowsForm的程序,使用相同的Process.Start命令,然后显示标准的“Windows警告安全”对话框,这就是为什么它的工作。
关闭“用户访问控制”后,Windows服务正常工作。