我对无注册COM和体现非常有经验,但我被一个我无法克服的问题所困扰。我有一个作为Windows服务运行的可执行文件,它产生另一个可执行文件(使用CreateProcess)。衍生的可执行文件使用COM库(我们也制作),并有一个定义COM程序集的清单文件。
应该注意的是,Windows服务也可以从命令提示符作为控制台模式运行,以进行调试。当我在控制台模式下运行服务时,生成的可执行文件“看到”COM库,因此清单正常工作。当它作为服务运行时,我总是在生成的进程中得到“类未注册”错误。
我不知道为什么它不起作用。这是免注册限制吗?如果我注册COM库然后一切正常(在控制台模式或服务模式下),但我显然想避免这种情况。
谢谢,
诺曼德
答案 0 :(得分:1)
可能是Windows服务的当前目录是system32文件夹吗?尝试在运行后更改环境,看看它是否会解析清单文件。
这可能是问题,但我不想花费时间来模拟它并测试它。 :)