Ошибка при получении фабрики класса COM для компонента - PullRequest
2 голосов
/ 01 февраля 2012

У меня есть веб-сервис, который загружает 32-битный компонент COM. Я запускаю этот веб-сервис с сервером IIS на моем локальном компьютере.

Когда я загружаю тестовую страницу из Visual Studio, она успешно, с другой стороны, при загрузке ее с использованием IIS, она отображает следующую ошибку

Retrieving the COM class factory for component XXX failed due to the following error: 80070005.

Я попытался изменить платформу веб-сервиса на x86 с любого процессора, но это не помогло. Я запускаю это на Windows Server 2008 R2 - 64 бит.

Ответы [ 3 ]

1 голос
/ 09 января 2013

Мне пришлось включить 32-битные приложения из настроек пулов приложений.

0 голосов
/ 07 февраля 2013

Сарат, это не может быть правдой.Параметр «Включить 32-разрядные приложения» в разделе «Пулы приложений по умолчанию» не предназначен для запуска 32-разрядных приложений или решения вашей проблемы.Он предназначен для принудительного запуска 32-разрядных приложений только под 32-разрядными процессами, что в данном случае не требуется.Большинство 32-битных приложений отлично работают на 64-битных процессах.Вот почему вы можете запускать MS Office 2010 (который все еще является 32-разрядным приложением) на 64-разрядных компьютерах с Windows 7.

Вы должны проверить другие параметры и установить их значение true после почти полного года решения первоначальной проблемы.

0 голосов
/ 01 февраля 2012

Проверьте разрешения на этом COM. Может случиться так, что когда вы запускаете тесты из VS, вы работаете как администратор, а пользователь, использующий пул приложений на сайте, совершенно другой. Этому пользователю необходимо добавить разрешения на чтение + выполнение (или активировать, что угодно) для «локальных».

Может также увидеть это: Получение фабрики классов COM для ошибки компонента при генерации документа word

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