【问题标题】:Service {ServiceName} was not found on computer '.'在计算机“。”上找不到服务 {ServiceName}
【发布时间】:2012-09-01 06:39:06
【问题描述】:

我有一个在本地 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。有没有办法在不影响管理员组的情况下运行此服务?

【问题讨论】:

标签: c# windows-services windows-security


【解决方案1】:

您可能遇到了 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?

【讨论】:

    【解决方案2】:

    这可能与您无法选择的框架有关。你可以选择它然后刷新你的IIS。

    【讨论】:

      猜你喜欢
      • 2011-02-12
      • 1970-01-01
      • 1970-01-01
      • 2015-08-26
      • 2019-01-11
      • 2012-10-16
      • 1970-01-01
      • 2016-04-28
      • 2018-04-02
      相关资源
      最近更新 更多