启动服务时出错5

时间:2013-04-08 14:11:24

标签: c++ service windows-7 admin

我在c ++中创建了一个Windows服务,当我尝试启动服务时,我收到消息错误5:访问被拒绝。

enter image description here

我的用户帐户设置为管理员,我甚至尝试使用计算机上的默认管理员帐户,但仍然无效。

我可以通过cmd安装/卸载服务而不会出现问题,但我无法启动服务

这里的代码不是用户帐户的问题。关于如何解决这个问题的任何建议?

1 个答案:

答案 0 :(得分:2)

“运行服务”不仅仅是“在我的桌面上启动程序”。它不一定像“你”一样运行。

该服务与任何桌面分离,实际上会忽略您的用户帐户。该服务将在操作系统中存储自己的帐户/密码配置,当您运行它时,您只能命令它启动。它将在自己的用户帐户上启动。如果您已将.exe / .dll文件放在某个受保护的文件夹中,并且如果您既未配置该文件的访问权限也未配置该服务的用户传递,那么该服务尝试在默认服务用户上运行的可能性很大像“LocalService”或“NetworkService”这样的帐户,它根本无法触及文件。

如果您正确安装了服务,请转到ControlPanel - AdministrativeTools - Services,找到您的服务并检查(如果我记得不错)第二个选项卡,并验证此处显示的用户名是否可以访问试图加载的文件并运行。如果用户名错误,请更正。如果您不关心用户名,那么只需查看该名称并在文件夹和/或文件上设置访问权限,以便至少“读取直接内容”和“读取”以及“执行”可用于用户名-the-service-tries-to-run-as。