无法在 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 的回滚