Не удается использовать CreateObject из сценариев VB в Windows 7 x64


Когда я пытаюсь создать COM-объект в скрипте VB на 64-разрядной машине Windows 7, я всегда получаю следующую ошибку:

"компонент ActiveX не может создать объект "xxx. xxx". Код: 800A01AD

У меня есть приложения, которые используют COM-объект без каких-либо проблем. Я пробовал запустить командную строку в режиме администратора, никакой разницы.

Есть ли способ включить это?

1 26

1 ответ:

Интерпретатор VBScript (cscript.ехе или WScript.exe) поставляется в двух вариантах на 64-разрядной версии Windows: 32-разрядная версия и 64-разрядная версия.

32-разрядная версия может создавать и использовать только 32-разрядные COM-компоненты, а 64-разрядная версия может создавать и использовать только 64-разрядные COM-компоненты.

По умолчанию,.файлы vbs ассоциируются с 64-разрядной версией. Ваш COM-компонент, скорее всего, 32-разрядный, отсюда и ошибка.

32-разрядную версию можно найти в папке %windir%\SysWOW64. Запуск этой версии должен предоставить вам доступ ко всем 32-битным компонентам COM:
%windir%\SysWOW64\wscript.exe myScript.vbs

Или

%windir%\SysWOW64\cscript.exe myScript.vbs