我有一个Windows Service
,我想使用ServiceController
来启动它。该服务以LocalSystem
的身份运行。当我尝试Start
时,我得到了: >
System.InvalidOperationException:'无法在以下位置打开[service]服务 电脑 '。'。'
内部异常Win32Exception:访问被拒绝
主要
static void Main(string[] args) {
using (ServiceController controller = new ServiceController("someService")) {
controller.Start();
}
}
我可以以某种方式以编程方式提升权利以启动服务(即使我需要为P/Invoke
使用Winapi
吗?)。
答案 0 :(得分:1)
您确实确实需要提升。这就需要创建一个新的进程来启动服务,或者使用runas
shell动词来显式地启动,或者使用COM高程标记。