Как исправить ошибку 0x80004005 в IIS после обновления платформы 1С:Предприятие?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При обновлении платформы «1С:Предприятие» и повторной публикации информационной базы на веб-сервере IIS пользователи часто сталкиваются с системной ошибкой. В журнале или на странице браузера отображается сбой: Модуль IsapiModule, Уведомление ExecuteRequestHandler, Обработчик 1C Web-service Extension, Код ошибки 0x80004005. Разберем основные причины этого сбоя и рассмотрим пошаговые методы его устранения.

Выясняем причину ошибки

Код ошибки 0x80004005 в IIS является неопределенной ошибкой (Unspecified error), которая при работе с 1С обычно указывает на невозможность загрузить или выполнить библиотеку расширения wsisapi.dll. Проанализируем ключевые факторы, приводящие к этой проблеме:

  1. Указание на старый каталог платформы: В файле web.config или в настройках обработчика IIS остался путь к предыдущему релизу 1С (например, к папке 8.3.9.1850 вместо 8.3.11.2867).
  2. Блокировка библиотеки в «Ограничениях ISAPI и CGI»: Новый DLL-файл веб-сервера не добавлен в список разрешенных модулей IIS.
  3. Несоответствие разрядности: Для 64-разрядного пула приложений IIS ошибочно включена поддержка 32-битных приложений, либо установлена не та разрядность модуля 1С.
  4. Отсутствие компонентов Visual C++ Redistributable: Новая версия `wsisapi.dll` может требовать более свежую версию системных библиотек C++.
  5. Права доступа: Отсутствие прав «Чтение и выполнение» для встроенной группы IIS_IUSRS на новую папку платформы.

Шаг 1. Проверка конфигурационного файла web.config и сопоставления обработчиков

Рассмотрим первоочередное решение. Очень часто при повторной публикации или при ее выполнении без прав администратора файл конфигурации веб-сайта сохраняет ссылки на старый релиз платформы.

  1. Перейдем в каталог на диске, куда опубликована база (например, C:\inetpub\wwwroot\Base1C).
  2. Откроем текстовым редактором файл web.config.
  3. Найдем секцию <handlers> и проверим атрибут scriptProcessor.
  4. Убедимся, что путь ведет к актуальной папке платформы:

    C:\Program Files\1cv8\8.3.11.2867\bin\wsisapi.dll

    Если там прописан старый релиз, изменим его вручную и сохраним файл.
  5. Откроем Диспетчер служб IIS, перейдем к нашей опубликованной базе и откроем раздел Сопоставление обработчиков (Handler Mappings). Проверим, чтобы обработчик 1C Web-service Extension ссылался на верную библиотеку.

Шаг 2. Настройка «Ограничений ISAPI и CGI» в IIS

Веб-сервер IIS из соображений безопасности блокирует запуск любых сторонних DLL-файлов, если они явно не разрешены в правилах сервера.

  1. Откроем Диспетчер служб IIS и выберем самый верхний (корневой) узел сервера.
  2. В центральном окне откроем модуль Ограничения ISAPI и CGI (ISAPI and CGI Restrictions).
  3. Проверим наличие записи для новой версии 1С. Если запись указывает на старый путь, изменим его или добавим новую запись.
  4. В поле «Путь к расширению» укажем точный путь к wsisapi.dll нового релиза.
  5. Установим флаг Разрешить выполнение пути расширения (Allow extension path to execute).

Шаг 3. Проверка разрядности и настроек пула приложений

Проанализируем параметры пула приложений, в котором работает наша публикация:

  1. В Диспетчере IIS перейдем в раздел Пулы приложений (Application Pools).
  2. Выберем пул, используемый сайтом 1С, и откроем Дополнительные параметры (Advanced Settings).
  3. Если используем 64-разрядную платформу 1С и 64-битный IIS, убедимся, что параметр Разрешить 32-разрядные приложения (Enable 32-Bit Applications) установлен в значение False.
  4. Параметр Версия .NET CLR рекомендуется перевести в значение Без управляемого кода (No Managed Code).

Шаг 4. Права доступа на каталоги 1С

Убедимся, что рабочие учетные записи IIS имеют доступ к исполняемым файлам 1С:

  1. Перейдем к папке установленной платформы C:\Program Files\1cv8\8.3.11.2867.
  2. В свойствах папки на вкладке «Безопасность» предоставим права «Чтение и выполнение», «Список содержимого папки» и «Чтение» для пользователей:
    • IIS_IUSRS (локальная группа IIS)
    • IUSR (встроенная учетная запись)

Шаг 5. Системные библиотеки и перепубликация

Если вышеописанные шаги не помогли, выполним следующие операции:

  1. Установим на сервер актуальные компоненты Microsoft Visual C++ Redistributable (x64). Ошибка 0x80004005 часто свидетельствует о том, что `wsisapi.dll` не может загрузить зависимые системные DLL.
  2. Убедимся, что в компонентах Windows Server включены роли «Расширения ISAPI» (ISAPI Extensions) и «Фильтры ISAPI» (ISAPI Filters).
  3. Выполним перепубликацию базы с помощью утилиты webinst из командной строки от имени Администратора:

    "C:\Program Files\1cv8\8.3.11.2867\bin\webinst.exe" -publish -wsiis -dir "C:\inetpub\wwwroot\Base1C" -connstr "Srvr=SQLServer;Ref=Base1C;" -confpath "C:\inetpub\wwwroot\Base1C\web.config"

  4. Выполним перезапуск веб-сервера через командную строку с помощью команды iisreset.

После выполнения этих шагов сопоставление путей обновляется, блокировки снимаются, и публикация базы 1С на IIS начинает работать в штатном режиме.

← На главную