3

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

4

2 回答 2

0

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

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

以及相关的stackoverflow帖子:

如何强制我的 .NET 应用程序以管理员身份运行?

于 2012-09-07T12:08:26.300 回答
0

它可能与您无法选择的框架有关。你可以选择它然后刷新你的IIS。 在此处输入图像描述

于 2017-02-24T05:58:13.503 回答