无法在 Windows 7 x64 上使用 VB 脚本中的 CreateObject

Posted

技术标签:

【中文标题】无法在 Windows 7 x64 上使用 VB 脚本中的 CreateObject【英文标题】:Cannot use CreateObject from VB scripts on Windows 7 x64 【发布时间】:2011-01-26 15:12:21 【问题描述】:

当我尝试在 Windows 7(64 位)机器上用 VB 脚本创建 COM 对象时,我总是收到以下错误:

"ActiveX 组件无法创建对象'xxx.xxx'。代码:800A01AD

我的应用程序使用 COM 对象没有任何问题。我试过在管理员模式下运行命令行,没有区别。

有什么办法可以启用吗?

【问题讨论】:

【参考方案1】:

VBScript 解释器 (cscript.exe/wscript.exe) 在 64 位版本的 Windows 上有两种版本:32 位版本和 64 位版本。

32位版本只能创建和使用32位COM组件,64位版本只能创建和使用64位COM组件。

默认情况下,.vbs 文件与 64 位版本相关联。您的 COM 组件很可能是 32 位的,因此会出现错误。

您可以在 %windir%\SysWOW64 文件夹中找到 32 位版本。启动此版本应该可以让您访问所有 32 位 COM 组件:

%windir%\SysWOW64\wscript.exe myScript.vbs

%windir%\SysWOW64\cscript.exe myScript.vbs

【讨论】:

在敲了我几个小时的头之后,你拯救了这一天! 你知道如何使它适用于 HTA 应用程序吗?我看到这样的代码: 和这样做显然失败了: @JeremyThompson:您需要启动正确版本的mshta.exe,即32位版本:c:\Windows\SysWOW64\mshta.exe c:\page.hta。如果您想通过在资源管理器中双击来启用启动 .hta,您可能可以使用正确版本的 mshta.exe 重新启动您的 .hta。 感谢 Dirk,我最初尝试了 SysWOW64\mshta.exe,但它并没有强制 VBS 文件在 32 位下运行,这就是我尝试在 HTA 文件中执行此操作的原因。当我得到这个工作时,我会报告。 %windir%\SysWoW64\wscript.exe 在浏览中我在添加参数中使用了文件路径,并在路径中设置了程序启动但我无法完成。任务似乎是成功完成,但没有预期的输出

以上是关于无法在 Windows 7 x64 上使用 VB 脚本中的 CreateObject的主要内容,如果未能解决你的问题,请参考以下文章

无法调用 JSLint! jslint.vim 无法在 Windows 7 (x64) 中工作

Perfmon 无法在 Windows 7 x64 上创建数据收集器集

Windows 7 x64 上带有 libNFC 的 RFIDIOt

在 Windows 7 x64 PC 上安装 node.js 的回滚

在 Windows 7 / 8 / 10 上安装 VB6 [重复]

在 Windows 7 x64 上检测 DVD-RAM 介质是不是为空