【发布时间】: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