我正在尝试从.NET Windows服务启动控制台应用程序。该服务正在Windows 2008服务器上运行。
我使用Process.Start运行控制台应用程序并运行(我可以在任务mgr中看到它),但我从未获得进程ID,并且对Process.Start的调用只是挂起。 如果我从我的Windows 7计算机上运行相同的服务,则该过程会运行,并且我的进程ID也没有问题。
我很困惑..
答案 0 :(得分:5)
我有同样的问题。对我来说,关键是设置StartInfo.UseShellExecute = false;
答案 1 :(得分:1)
您正在产生的进程是否可能尝试提示窗口站进行用户输入?在这种情况下它可能会挂起......
你从哪个过程开始?它是平台/操作系统(如cmd.exe)的一部分还是自定义的东西?
答案 2 :(得分:0)
经过很长一段时间寻找解决方案后,我找到了解决问题的明智之石。
我创建了一个基于WindowsForm的新程序,使用相同的Process.Start命令,然后使用标准" Windows警告安全"对话框出现,这就是为什么它起作用。
关闭后#34;用户访问控制" Windows服务正常运行。