1

Я пишу сценарий в VBScript для преобразования изображений. Это использует ImageMagic ActiveX. Я пишу этот сценарий в Windows XP, он выполняется нормально, то же самое с 32-битной Windows Vista, но в 64-битной я имею ошибку 800A01AD при попытке создать объект ActiveX (как 32-битный, так и 64-битный установлен один и тот же пакет обновления)

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

Я пытаюсь установить ImageMagic от имени администратора (запускать от имени администратора в контекстном меню), я также пытаюсь запустить от имени администратора:

regsvr32 wshom.ocx
regsvr32 scrrun.dll

без успеха. А также попробуйте запустить

regsvr32 ImageMagickObject.dll

Которые работают успешно, но скрипт по-прежнему возвращает ошибку (так же, как тестовый скрипт из ImageMagic)

1 ответ1

1

Учитывая, что скрипт выполняется на двух 32-битных машинах, но не на 64-битной, это кажется проблемой 32/64-битной.

Немного предыстории: 64-разрядный процесс (Приложение) не может загрузить 32-разрядные DLL/OCX и т.д., А 32-разрядный процесс не может загрузить 64-разрядные файлы DLL/OCX и т.д.

Я предполагаю, что происходит одно из следующего:

1) Вы установили 64-разрядную версию ImageMagick и пытаетесь получить к ней доступ из среды 32-разрядных сценариев.

2) Вы установили 32-разрядную версию ImageMagick и пытаетесь получить к ней доступ из среды 64-разрядных сценариев. Посмотрите этот ТАК вопрос для решения этого сценария.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .