【问题标题】:Windows Server 2008 and com objectsWindows Server 2008 和 com 对象
【发布时间】:2009-12-22 11:18:13
【问题描述】:

我正在将一个 Dll(内置 c++)从 Windows 2000 服务器移动到 2008 服务器,但我在注册它时遇到了一些问题。在 2000 年,您通常需要做的只是“regsrv32 name.dll”,但这在 2008 年将不起作用,因为您收到指针错误,iv 还尝试使用“gacutil /i name.dll”,因为有人告诉我这可能有效,但它没有。所以,我有点绝望,有没有人有一些解决方案来解决我如何让这个 c++ dll 在 2000 服务器中工作,以便我可以从一个旧的经典 asp 页面访问它。

编辑: 这是运行 regsrv 时的错误: " 模块“name.dll”已加载,但未找到入口点 DllRegisterServer。

确保“name.dll”是有效的 DLL 或 OCX 文件,然后重试。 "

请注意,无论如何我都无法编辑 dll 文件。

【问题讨论】:

  • 引用来自 regsvr32 的错误消息的确切文本可能会有所帮助。

标签: com asp-classic windows-server-2008


【解决方案1】:

如果启用了 UAC,您是否在调用 regsvr32 时运行提升的命令提示符?如果没有,您可能会在注册功能中收到拒绝访问错误(对于旧的东西,这可能会以各种不好的方式表现出来)。

您必须以管理员身份登录,然后右键单击“以管理员身份运行”运行命令提示符。

【讨论】:

  • 我以真正的管理员身份运行。
  • 但是您是否正在运行提升的命令提示符? Vista、2008 和 Win7 还具有另一层安全性 - 您必须在启动进程时“声明”您的权限,否则您会得到一个无法真正做任何事情的“弱酱”版本的管理员。
  • 啊没关系 - 你的错误信息证明它不是一个普通的 COM 服务器。如果 DllRegisterServer 不存在,则使用 regsvr32 进行自我注册将不起作用。
猜你喜欢
  • 2012-05-06
  • 2011-05-01
  • 1970-01-01
  • 2016-10-25
  • 2014-02-12
  • 1970-01-01
  • 2010-11-15
  • 1970-01-01
  • 2012-04-08
相关资源
最近更新 更多