【发布时间】:2011-01-26 15:12:21
【问题描述】:
当我尝试在 Windows 7(64 位)机器上用 VB 脚本创建 COM 对象时,我总是收到以下错误:
"ActiveX 组件无法创建对象'xxx.xxx'。代码:800A01AD
我的应用程序使用 COM 对象没有任何问题。我试过在管理员模式下运行命令行,没有区别。
有什么办法可以启用吗?
【问题讨论】:
标签: vbscript windows-7 64-bit windows-7-x64
当我尝试在 Windows 7(64 位)机器上用 VB 脚本创建 COM 对象时,我总是收到以下错误:
"ActiveX 组件无法创建对象'xxx.xxx'。代码:800A01AD
我的应用程序使用 COM 对象没有任何问题。我试过在管理员模式下运行命令行,没有区别。
有什么办法可以启用吗?
【问题讨论】:
标签: vbscript windows-7 64-bit windows-7-x64
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
【讨论】:
mshta.exe,即32位版本:c:\Windows\SysWOW64\mshta.exe c:\page.hta。如果您想通过在资源管理器中双击来启用启动 .hta,您可能可以使用正确版本的 mshta.exe 重新启动您的 .hta。
SysWOW64\mshta.exe,但它并没有强制 VBS 文件在 32 位下运行,这就是我尝试在 HTA 文件中执行此操作的原因。当我得到这个工作时,我会报告。