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

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

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

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

有什么办法可以启用吗?

【问题讨论】:

    标签: vbscript windows-7 64-bit windows-7-x64


    【解决方案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 在浏览中我在添加参数中使用了文件路径,并在路径中设置了程序启动但我无法完成。任务似乎是成功完成,但没有预期的输出
    猜你喜欢
    • 2014-01-12
    • 2014-01-05
    • 1970-01-01
    • 2011-07-02
    • 1970-01-01
    • 1970-01-01
    • 2012-08-27
    • 1970-01-01
    • 2012-02-10
    相关资源
    最近更新 更多