从.NET Windows服务启动进程

时间:2010-05-07 16:25:37

标签: c# .net windows service

我正在尝试从.NET Windows服务启动控制台应用程序。该服务正在Windows 2008服务器上运行。

我使用Process.Start运行控制台应用程序并运行(我可以在任务mgr中看到它),但我从未获得进程ID,并且对Process.Start的调用只是挂起。 如果我从我的Windows 7计算机上运行相同的服务,则该过程会运行,并且我的进程ID也没有问题。

我很困惑..

3 个答案:

答案 0 :(得分:5)

我有同样的问题。对我来说,关键是设置StartInfo.UseShellExecute = false;

答案 1 :(得分:1)

您正在产生的进程是否可能尝试提示窗口站进行用户输入?在这种情况下它可能会挂起......

你从哪个过程开始?它是平台/操作系统(如cmd.exe)的一部分还是自定义的东西?

答案 2 :(得分:0)

经过很长一段时间寻找解决方案后,我找到了解决问题的明智之石。

我创建了一个基于WindowsForm的新程序,使用相同的Process.Start命令,然后使用标准" Windows警告安全"对话框出现,这就是为什么它起作用。

关闭后#34;用户访问控制" Windows服务正常运行。