代码之家  ›  专栏  ›  技术社区  ›  Nim

作为Windows服务运行应用程序时报告COM错误80040154

  •  0
  • Nim  · 技术社区  · 14 年前

    我正在尝试将普通应用程序转换为服务。应用程序使用已安装的COM组件。当它作为一个独立的应用程序运行时,它会发现并连接到COM组件,但是在将应用程序转换为服务之后,我得到了上面的错误。

    我理解这可能与服务经理的“环境”有关,它无法找到适当的DLL或注册表项-我希望您能考虑如何“修复”服务管理器的“环境”以获取适当的注册表项/DLL(我相信在安装COM组件后该框已重新启动)-这也可能是由于用户的路径包含适当的目录,但不确定服务管理器的路径是什么或如何设置(我是一名unix开发人员,所有这些花哨的windows东西对我来说都是新鲜事……)

    谢谢

    1 回复  |  直到 14 年前
        1
  •  1
  •   Hans Passant    14 年前

    很明显,您的COM服务器尚未正确注册。服务的一个区别是,它通常在不同的帐户下运行。使用Regedit.exe并确保注册存在于HKLM\Software\Classes\CLSID中,而不存在于HKCU中。重新注册,这一次请确保您在UAC关闭的管理员帐户中运行Regsvr32.exe。