【问题标题】:Can't open the service control manager despite running command prompt as administrator尽管以管理员身份运行命令提示符,但无法打开服务控制管理器
【发布时间】:2018-11-27 19:00:36
【问题描述】:

我在 C# 中创建了一个服务,它生成了一个可执行文件“GodzillaService.exe”。服务本身只是一个完全根据这个链接生成的基本模板,除了名称:https://www.c-sharpcorner.com/article/create-windows-services-in-c-sharp/

当我尝试运行 InstallUtil 时出现问题。根据上面的文章,我执行

cd C:\Windows\Microsoft.NET\Framework\v4.0.30319 

在提升的命令提示符下,以管理员身份运行。然后输入

InstallUtil.exe C:\Path\To\My\EXE\Godzilla.exe

我遇到了这个错误:

安装阶段发生异常。 System.InvalidOperationException:无法打开服务控制管理器 在电脑上'.'。此操作可能需要其他权限。这 引发了内部异常 System.ComponentModel.Win32Exception 以下错误消息:访问被拒绝。

查看错误消息,经验告诉我我需要授予对某事或某人的访问权限,但是什么?我已经以管理员身份运行该程序。到目前为止,我已经尝试过这些事情:

  • 以管理员身份运行命令提示符。
  • 以管理员身份运行 VS 2017 的开发人员命令提示符。
  • 退出我的用户帐户,登录到我的管理员帐户,然后尝试运行它。
  • 将 GodzillaService.exe 文件移动到 Program Files 目录中,以防 applocker 弄乱它。
  • 以管理员身份运行 VS 2017,重建 exe 文件,然后试一试。
  • 尝试使用 exe 文件和 InstallUtil 的完整路径。
  • 确保我的管理员帐户在本地管理员组中。
  • 尝试查看事件查看器以获取更多信息(未找到与此问题相关的任何日志,也许我找错地方了?)
  • 尝试将服务程序中的帐户从 LocalSystem 更改为 User、LocalService 和 NetworkService

我的想法很新鲜...有没有人对我可以做些什么来进一步解决这个问题有什么建议?感谢您提供的任何建议!

【问题讨论】:

    标签: c# windows service windows-services installutil


    【解决方案1】:

    我花了一段时间,但我终于弄明白了!问题是,尽管我说我是以管理员身份运行它,但我是以具有管理员权限的用户身份运行它。完全不同。

    在我的环境(这是一个域环境)中,出于某种原因,我们阻止了“以管理员身份运行”选项来运行程序。因此,要以管理员身份运行,我们实际上必须以不同的用户身份运行它,然后选择我们的管理员帐户。这适用于 99% 的事情,但不适用于这种情况。

    解决方案是我必须完全退出我的常规用户帐户并使用我的管理帐户登录。然后,我必须右键单击命令提示符并以管理员身份运行。执行此操作后,我不再收到错误消息!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-17
      • 2011-12-29
      • 2023-03-15
      • 1970-01-01
      • 2013-02-15
      • 1970-01-01
      相关资源
      最近更新 更多