Error 800A01AD en VBScript en Windows Vista 64bit cuando se crea un objeto ActiveX

1

Escribo script en VBScript para convertir imágenes. Utiliza ImageMagic ActiveX. Escribo este script en Windows XP, se ejecuta normalmente, lo mismo con Windows Vista de 32 bits, pero en 64 bits tengo un error 800A01AD al intentar crear un objeto ActiveX (tanto 32 bits como 64 bits tienen el mismo paquete de servicio instalado)

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

Intento instalar ImageMagic como administrador (ejecutado como administrador en el menú contextual), también intento ejecutar como administrador:

regsvr32 wshom.ocx
regsvr32 scrrun.dll

sin éxito Y también tratar de correr

regsvr32 ImageMagickObject.dll

Que se ejecuta correctamente, pero el script sigue devolviendo un error (igual que el script de prueba de ImageMagick)

jcubic
fuente

Respuestas:

1

Dado que el script se ejecuta en dos máquinas de 32 bits pero no en la de 64 bits, parece un problema de 32/64 bits.

Un poco de fondo: un proceso de 64 bits (Aplicación) puede no cargar DLL de 32 bits / OCX, etc. y un proceso de 32 bits puede no cargar archivos DLL de 64 bits / OCX, etc.

Supongo que está ocurriendo una de las siguientes situaciones:

1) Ha instalado la versión de 64 bits de ImageMagick e intenta acceder desde el entorno Script de 32 bits.

2) Ha instalado la versión de 32 bits de ImageMagick e intenta acceder desde el entorno Script de 64 bits. Ver esta pregunta tan para una solución para este escenario.

Tex Hex
fuente