Atl服务没有注册

时间:2008-11-06 15:32:55

标签: windows service atl

我正在尝试使用

注册atl服务

ExeName.exe / service

如此处所述:http://msdn.microsoft.com/en-us/library/74y2334x(VS.80).aspx

在这样做之后,它没有出现在我的服务控制面板中(通过在vista的开始框中键入Services来实现)。

我试图挖掘atl代码以查看它处理/ service开关的位置,但找不到它,虽然我可以找到代码来处理/ RegServer和/ UnregServer

这曾经工作,我以前以某种方式设法注册这项服务。但是,现在我已移动其位置,无法再次注册。当我运行ExeName.exe / service时,如果我先执行/ RegServer,它会启动为本地服务器,但我希望它作为服务安装。

我错过了什么,你知道/ service交换机的处理在哪里吗?

4 个答案:

答案 0 :(得分:1)

在黑暗中拍摄:你在Vista上运行吗?如果是这样,请确保您使用完全管理员权限运行。否则,您可能通过虚拟化注册此应用程序。

答案 1 :(得分:1)

与JaredPar一样,尝试使用具有完全管理员权限的Power Shell命令。

答案 2 :(得分:1)

使用开箱即用的CAtlServiceModule :: Install方法运行,必须在每个参数上使用正确的大写字母 - “/ Service”,“/ UnregServer”等。

答案 3 :(得分:0)

检查您是否在atlbase.h中定义的CAtlServiceModuleT类中的ParseCommandLine函数名称中不小心输入了某些字符

如果你这样做了,基类中也有这个函数的一个版本,这意味着eveything会很好地编译,你可能需要一整天才能发现这个愚蠢的错误!

- )

相关问题