从Windows服务调用时,Process.Start不起作用

时间:2014-03-24 10:14:27

标签: c# .net service process

在Windows 8上,我正在运行Windows服务。该服务应该由

启动一个程序
Process.Start(exePath);

但是进程立即退出 - 即使主程序中的第一行也没有执行。之前,当在Windows 7上的同一服务中运行相同的进程时,一切正常。

如何让它再次运作?如何从Windows服务正确启动进程?

2 个答案:

答案 0 :(得分:12)

找到解决方案。流程必须像这样开始:

ProcessStartInfo info = new ProcessStartInfo(exePath);
info.CreateNoWindow = true;
info.UseShellExecute = false;
Process.Start(info);

由于某种原因,在SYSTEM背景中创建shell窗口时存在特权问题。

答案 1 :(得分:-3)

在Process实例上使用WaitForExit方法将指示等待时间结束或进程退出。

See this MSDN link for more.