我有一台在我的本地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
。有没有办法在不中等管理员组的情况下运行此服务?
答案 0 :(得分:0)
您可能遇到了UAC问题。您需要向应用程序添加清单文件,表明应用程序必须以管理员身份运行。这将导致Windows在程序运行时提示提升。这篇文章将引导您完成问题/解决方案:
http://www.codeproject.com/Articles/17968/Making-Your-Application-UAC-Aware
相关的stackoverflow帖子:
答案 1 :(得分:0)