在 Windows Vista 64 位上创建 ActiveX 对象时,VBScript 中出现错误 800A01AD

在 Windows Vista 64 位上创建 ActiveX 对象时,VBScript 中出现错误 800A01AD

我用 VBScript 编写脚本来转换图像。它使用 ImageMagic ActiveX。我在 Windows XP 中编写此脚本,它运行正常,在 Windows Vista 32 位中也是如此,但在 64 位中,当我尝试创建 ActiveX 对象时出现 800A01AD 错误(32 位和 64 位都安装了相同的服务包)

Set imageMagick = CreateObject("ImageMagickObject.MagickImage.1")

我尝试以管理员身份安装 ImageMagic(在上下文菜单中以管理员身份运行),我也尝试以管理员身份运行:

regsvr32 wshom.ocx
regsvr32 scrrun.dll

没有成功。并尝试运行

regsvr32 ImageMagickObject.dll

运行成功但脚本仍然返回错误(与 ImageMagic 的测试脚本相同)

答案1

鉴于该脚本可以在两台 32 位机器上运行,但不能在 64 位机器上运行,因此这似乎是 32/64 位问题。

背景知识:64 位进程(应用程序)可以不是加载 32 位 DLL/OCX 等,并且 32 位进程可以不是加载64位DLL/OCX等文件。

我假设发生了下列情况之一:

1) 您已经安装了 64 位版本的 ImageMagick,并尝试从 32 位脚本环境访问它。

2) 您已安装 32 位版本的 ImageMagick,并尝试从 64 位脚本环境访问它。请参阅这个问题针对此场景的解决方案。

相关内容