Я нахожусь в 64-битной системе Windows 10, и я зарегистрировал dll с помощью RegSvr32.DLL зарегистрирована, но не работает
я получил следующее сообщение после RegSvr32:
--------------------------- RegSvr32 --------------------------- DllRegisterServer in myspecial.dll succeeded. --------------------------- OK ---------------------------
Когда я попытался запустить базовый файл VBS, который делает следующее:
Set obj = CreateObject("myspecial.clsmycode")
Я получаю следующее сообщение после попытки для запуска этого кода VBS:
--------------------------- Windows Script Host --------------------------- Script: C:\test.vbs Line: 3 Char: 9 Error: ActiveX component can't create object: 'myspecial.clsmycode' Code: 800A01AD Source: Microsoft VBScript runtime error --------------------------- OK ---------------------------
Кто-нибудь знает, что я делаю неправильно или что мне нужно сделать, чтобы заставить это работать?
[Уже в этом ответили] (http://stackoverflow.com/a/35985827/692942) в большом количестве деталей перед , Несмотря на то, что вопрос относится к классическому ASP, то при регистрации любых COM-библиотек все равно применяется. – Lankymart
Наиболее очевидной причиной является то, что вы запускаете 64-разрядную версию интерпретатора сценариев, но COM-сервер представляет собой 32-разрядную DLL. Или наоборот. Всегда пользуйтесь установщиком, предоставляемым поставщиком, и пользуйтесь телефоном, если у вас нет правильных инструкций по установке. –
@HansPassant Не всегда есть «поставщик» *, COM-библиотека DLL настолько устарела, что больше не существует или в некоторых случаях написана в доме ... Вы можете просто решить проблему, выполнив контрольный список, который я представил в ответ выше * (см. разделы «Как регистрировать COM-DLL с Windows» и «Контрольный список DLL COM») *. Все дело в понимании различий архитектуры между 32/64 бит в ОС Windows. – Lankymart