我们有一个用 Visual Studio 6 编写的 ATL 服务,现在需要进行一些更改。这是在一台新的开发机器上完成的。在这台机器上构建时,该服务不会出现在 services.msc 中。据我所知,这是设计使然。为了让它显示,我在命令提示符中键入“servicename.exe/service”。但是,它仍然没有出现。这里有什么明显遗漏的吗?
最佳答案
我能想到的两个原因,假设服务代码没有被更改破坏:
- 您必须拥有管理权限才能注册服务。如果您的开发机器开启了 UAC(它应该开启),那么仅仅编写命令是不够的。您必须以管理员身份运行 cmd.exe(右键单击 + 以管理员身份运行),然后从那里进行注册。
- 如果在您尝试注册新服务时服务控制台处于打开状态,则注册可能会失败。我不知道为什么,但我不止一次遇到过这个问题。因此,请确保在运行注册之前关闭 service.msc。
除此之外,您可能会在事件查看器中找到一些线索。
关于c++ - Services.msc 中未显示 ATL 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11187925/