Не удалось получить фабрику класса COM для компонента с CLSID {00024500-0000-0000-C000-000000000046} из-за следующей ошибки: 80070005

У меня есть веб-сайт ASP.NET на IIS, и он автоматически создает файлы Excel, проблема в том, что я получаю эту ошибку:

"Не удалось получить фабрику классов COM для компонента с CLSID {00024500-0000-0000-C000-000000000046} из-за следующей ошибки: 80070005."

Я попытался почти все в сети, чтобы решить эту проблему, но я не смог: я изменил конфигурации DCOM Excel для пользователя, используемого для веб-сайта, создал папку Desktop в System32 и SysWOW64 с полным контролем для того же пользователя, я даже изменил настройки безопасности папки установки Miscrosoft Office для того же пользователя, но безуспешно.

В моем случае мой веб-сайт подключается к другому серверу с помощью службы отчетов SQL Server для получения некоторых отчетов, поэтому, если я изменю пользователя, которого использует веб-сайт, на пользователя "LocalSystem", я не смогу получать отчеты со второго сервера, но могу генерировать файлы Excel.

Таким образом, решение может быть одним из двух: либо я могу создать файлы Excel с этим пользователем, либо получить отчеты со второго сервера как пользователь "LocalSystem".

2 ответа

Попробуйте сделать следующее:

  1. Убедитесь, что сборки взаимодействия Office установлены.
  2. Проверьте версию сборок по разработке и производству.
  3. Создайте папку "Рабочий стол" в системном файле.
  4. установить безопасность DCOM явно для пользователя службы.

Вы можете найти более подробную информацию здесь

У меня была такая же проблема. Вот решение для того же.

Перейдите к своему менеджеру IIS. → ApplicationPools → AdvancedSettings → Enable32BitApplication → True.

Также дайте полный доступ к вашей папке.

Это может быть полезно для вас.

Другие вопросы по тегам