c++ - Services.msc 中未显示 ATL 服务

标签 c++ service atl

我们有一个用 Visual Studio 6 编写的 ATL 服务,现在需要进行一些更改。这是在一台新的开发机器上完成的。在这台机器上构建时,该服务不会出现在 services.msc 中。据我所知,这是设计使然。为了让它显示,我在命令提示符中键入“servicename.exe/service”。但是,它仍然没有出现。这里有什么明显遗漏的吗?

最佳答案

我能想到的两个原因,假设服务代码没有被更改破坏:

  1. 您必须拥有管理权限才能注册服务。如果您的开发机器开启了 UAC(它应该开启),那么仅仅编写命令是不够的。您必须以管理员身份运行 cmd.exe(右键单击 + 以管理员身份运行),然后从那里进行注册。
  2. 如果在您尝试注册新服务时服务控制台处于打开状态,则注册可能会失败。我不知道为什么,但我不止一次遇到过这个问题。因此,请确保在运行注册之前关闭 service.msc。

除此之外,您可能会在事件查看器中找到一些线索。

关于c++ - Services.msc 中未显示 ATL 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11187925/

相关文章:

android - 在服务中使用 Looper 与使用单独的线程一样吗?

android - 如何不打开已通过最近的应用程序完成的 Activity

c++ - ATL COM+ 使用接口(interface)作为参数

c# - 使用 COM 互操作将 BSTR 从 C++ 编码到 C#

C++ Utf-8转换使用atlconv.h/W2A和中文文本

c++ - 如何修复宏定义太大的错误

c++ - C++ 模板的两阶段名称查找 - 为什么?

c++ - Boost::Hana 元组,修改值的最佳方式

java - 验证 Spring 服务层

c++ - 使用 Divide and Conquer 在 char 数组中搜索字符串