Erro 800A01AD no VBScript no Windows Vista de 64 bits ao criar o objeto ActiveX

1

Escrevo scripts em VBScript para converter imagens. Ele usa o ImageMagic ActiveX. Eu escrevo esse script no Windows XP, é executado normalmente, o mesmo com o Windows Vista de 32 bits, mas em 64 bits tenho o erro 800A01AD ao tentar criar o objeto ActiveX (ambos os 32 e 64 bits têm o mesmo service pack instalado)

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

Tento instalar o ImageMagic como administrador (executado como administrador no menu de contexto), também tento executar como administrador:

regsvr32 wshom.ocx
regsvr32 scrrun.dll

sem sucesso. E também tente correr

regsvr32 ImageMagickObject.dll

Que são executados com êxito, mas o script ainda retorna erro (o mesmo que o script de teste do ImageMagic)

jcubic
fonte

Respostas:

1

Dado que o script é executado em duas máquinas de 32 bits, mas não na de 64 bits, parece um problema de 32/64 bits.

Um pouco de fundo: um processo de 64 bits (Aplicativo) não pode carregar DLL / OCX de 32 bits etc., e um processo de 32 bits não pode carregar arquivos DLL / OCX etc. de 64 bits etc.

Estou assumindo que um dos seguintes está acontecendo:

1) Você instalou a versão de 64 bits do ImageMagick e tenta acessá-la no ambiente de script de 32 bits.

2) Você instalou a versão de 32 bits do ImageMagick e tenta acessá-la no ambiente de script de 64 bits. Veja esta pergunta SO para uma solução para este cenário.

Tex Hex
fonte