在计算机上找不到服务{ServiceName}。'

时间:2012-09-07 11:19:03

标签: c# windows-services windows-security

我有一台在我的本地PC上运行的Windows服务。我的操作系统是Windows 7.我想通过C#代码启动我的服务,而无需通过“计算机管理>服务”。

当我运行下面的代码时,它会给我以下Exception

  

“在计算机上找不到服务{ServiceName}”。'。“

ServiceController service = new ServiceController(serviceName);
try
{
    TimeSpan timeout = TimeSpan.FromMilliseconds(timeoutMilliseconds);

    service.Start();
    service.WaitForStatus(ServiceControllerStatus.Running, timeout);
}
catch
{
    // ...
}

我在这个场景中经历了很多帖子,并且都提到这是security feature of Windows 7。有没有办法在不中等管理员组的情况下运行此服务?

2 个答案:

答案 0 :(得分:0)

您可能遇到了UAC问题。您需要向应用程序添加清单文件,表明应用程序必须以管理员身份运行。这将导致Windows在程序运行时提示提升。这篇文章将引导您完成问题/解决方案:

http://www.codeproject.com/Articles/17968/Making-Your-Application-UAC-Aware

相关的stackoverflow帖子:

How do I force my .NET application to run as administrator?

答案 1 :(得分:0)

它可能是关于你的框架无法选择。你可以选择它然后刷新你的IIS。 enter image description here