Не удалось получить фабрику класса COM для компонента с CLSID {46521B1F-0A5B-4871-A4C2-FD5C9276F4C6} из-за следующей ошибки: 80040154 - PullRequest
1 голос
/ 14 июля 2011

Я использую некоторые библиотеки DLL, которые разработаны в 32-битном приложении.когда я пытаюсь использовать некоторые Dll в 64-битной операционной системе, я получаю следующую ошибку.

"Получение фабрики класса COM для компонента с CLSID {46521B1F-0A5B-4871-A4C2-FD5C9276F4C6}не удалось из-за следующей ошибки: 80040154. "

Когда я использую те же DLL в Windows Forms, он работает нормально.но когда я помещаю в IIS, я получаю вышеуказанную ошибку.

Я перепробовал все возможности, такие как «Включить 32-битные приложения», «Изменить платформу на X86», «зарегистрировать библиотеки DLL в SysWOW64 с помощью regsvr32», «предоставить всем разрешения для этого Dll ".....

Может кто-нибудь предложить, это мне очень помогает.Спасибо.

1 Ответ

1 голос
/ 14 июля 2011

80040154 это "Класс не зарегистрирован" Ваш 64-битный IIS не может вызвать 32-битную COM Dll. Вы получаете сообщение, потому что IIS ищет в собственном 64-разрядном реестре, и вы зарегистрировали Dll в 32-разрядном представлении реестра, потому что это 32-разрядный Dll.

Попробуйте настроить IIS для запуска 32-разрядных веб-приложений в 64-разрядной версии Windows. Например.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...