ActiveX组件无法创建对象

Gor*_*yII 34 dll vbscript activex dllregistration windows-server-2008

我刚刚在我的Windows Server 2008服务器上安装了第三方应用程序,我得到了

ActiveX组件无法创建对象

我尝试使用CreateObjectVBScript中的访问时出现错误消息.

它肯定已安装并存在于"程序和功能"下.有没有人有一个我可以检查的事项清单,以弄清楚发生了什么?

我现在尝试使用regsvr32.exe /i bob.dll建议注册DLL 但我收到此错误:

模块"Bob.dll"已加载,但未找到入口点DllRegisterServer.

确保"Bob.dll"是有效的DLL或OCX文件,然后再试一次.

我应该注意到,这是64位计算机上的32位应用程序.它也可以在我的机器上运行,这是Windows XP 32位.

Gor*_*yII 45

事实证明这个应用程序在VBScript下工作,我不得不做两件事.

  1. 运行RegAsm.exe以注册DLL.
  2. 运行C:\ Windows\SysWOW64\cscript.exe以运行我的VBScript.

感谢你的帮助.

ALSO如果这些不工作,检查出其他答案在这里有关启用32位应用程序.

  • 很好的保存!在过去的20分钟里,我正在敲打这个.我对32位解释器缺少有用的错误消息感到有些沮丧. (3认同)
  • 如果有人想知道"为什么用cscript而不是wscript?" 就像我做的那样:cscript就像wscript,但是`Wscript.Echo`输出到控制台而不是消息框. (3认同)
  • @Gordyll我在哪里可以找到RegAsm.exe? (2认同)

小智 39

在IIS中的DefaultAppPool的高级设置中,还要检查是否已将"启用32位应用程序"设置为True.

  • 我同意@LeeEnglestone。它位于“高级设置”>(常规)>“启用 32 位应用程序”中 (2认同)

MrT*_*lly 10

该应用程序正在尝试创建一个COM对象,即使该COM DLL存在,它可能依赖于另一个未安装的DLL.您可以使用DependencyWalker来查明是否是这种情况.


Dan*_*ell 5

我知道这是一个老问题,已经有一个标记为正确的答案,但这对我没有帮助.

对于将来以这种方式出现的任何可怜的灵魂,请检查您的浏览器设置 -

对我来说,使用IE,修复方法是进入工具/ Internet选项,安全选项卡,相关区域,"自定义级别"并检查ActiveX设置.将"初始化并将未标记为脚本安全的ActiveX控件脚本"设置为"启用"可以解决此问题


Ver*_*kso 5

此外,当您注册组件时,请确保使用32位版本的regsvr32.exe.如果您只是在提升的提示符下运行regsvr32.exe,它将默认采用标准的64位版本(奇怪的是它位于C:\ Windows\System32中)

我相信您需要的版本位于C:\ Windows\SysWow64\regsvr32.exe