运行 Windows 服务时拒绝访问

Access Denied when running Windows Service

我使用 ASP.Net 核心 3.x 和 C# 创建了一个 Windows 服务。我在构建项目时从新的 Windows 服务模板开始。当我从我的开发环境或控制台 运行 它 window 它 运行 没问题。当我将它安装为 Windows 服务并尝试启动该服务时,我得到了一个 "Error 5: Access is denied." 错误。

我尝试了很多方法,我将在下面概述以消除错误,但似乎没有任何效果所以我下载了 Microsoft 提供的示例应用程序,网址为 sample

相同的结果...当我 运行 来自 Visual Studio 的示例应用程序时,它 运行 没问题,当 运行 宁作为服务时,我获得了访问权限拒绝错误。

我 运行 没有想法,希望这里有人能给我答案。谢谢!

我找到了解决办法,相信我,我觉得我真的很蠢!!!

当我将其作为服务安装时,我只将路径放在 "binPath"。

sc create WindowsService1 binPath="C:\temp".

一旦我将可执行文件实际添加到 binPath 参数中,一切正常。

将其更改为 sc create WindowsService1 binPath="C:\temp\WindowsService.exe" 并且有效。

我知道这是一个 Id10t 错误,但 Microsoft 确实应该为 "sc" 命令提供更好的消息传递。 "Cannot find file specified in the binPath parameter" 之类的消息会很有帮助。本来可以节省我大约 6 个小时的工作时间。

感谢大家审阅和回复此问题。