← На главную
При обновлении платформы «1С:Предприятие» и повторной публикации информационной базы на веб-сервере IIS пользователи часто сталкиваются с системной ошибкой. В журнале или на странице браузера отображается сбой: Модуль IsapiModule, Уведомление ExecuteRequestHandler, Обработчик 1C Web-service Extension, Код ошибки 0x80004005. Разберем основные причины этого сбоя и рассмотрим пошаговые методы его устранения.
Выясняем причину ошибки
Код ошибки 0x80004005 в IIS является неопределенной ошибкой (Unspecified error), которая при работе с 1С обычно указывает на невозможность загрузить или выполнить библиотеку расширения wsisapi.dll. Проанализируем ключевые факторы, приводящие к этой проблеме:
- Указание на старый каталог платформы: В файле
web.config или в настройках обработчика IIS остался путь к предыдущему релизу 1С (например, к папке 8.3.9.1850 вместо 8.3.11.2867).
- Блокировка библиотеки в «Ограничениях ISAPI и CGI»: Новый DLL-файл веб-сервера не добавлен в список разрешенных модулей IIS.
- Несоответствие разрядности: Для 64-разрядного пула приложений IIS ошибочно включена поддержка 32-битных приложений, либо установлена не та разрядность модуля 1С.
- Отсутствие компонентов Visual C++ Redistributable: Новая версия `wsisapi.dll` может требовать более свежую версию системных библиотек C++.
- Права доступа: Отсутствие прав «Чтение и выполнение» для встроенной группы
IIS_IUSRS на новую папку платформы.
Шаг 1. Проверка конфигурационного файла web.config и сопоставления обработчиков
Рассмотрим первоочередное решение. Очень часто при повторной публикации или при ее выполнении без прав администратора файл конфигурации веб-сайта сохраняет ссылки на старый релиз платформы.
- Перейдем в каталог на диске, куда опубликована база (например,
C:\inetpub\wwwroot\Base1C).
- Откроем текстовым редактором файл
web.config.
- Найдем секцию
<handlers> и проверим атрибут scriptProcessor.
- Убедимся, что путь ведет к актуальной папке платформы:
C:\Program Files\1cv8\8.3.11.2867\bin\wsisapi.dll
Если там прописан старый релиз, изменим его вручную и сохраним файл.
- Откроем Диспетчер служб IIS, перейдем к нашей опубликованной базе и откроем раздел Сопоставление обработчиков (Handler Mappings). Проверим, чтобы обработчик
1C Web-service Extension ссылался на верную библиотеку.
Шаг 2. Настройка «Ограничений ISAPI и CGI» в IIS
Веб-сервер IIS из соображений безопасности блокирует запуск любых сторонних DLL-файлов, если они явно не разрешены в правилах сервера.
- Откроем Диспетчер служб IIS и выберем самый верхний (корневой) узел сервера.
- В центральном окне откроем модуль Ограничения ISAPI и CGI (ISAPI and CGI Restrictions).
- Проверим наличие записи для новой версии 1С. Если запись указывает на старый путь, изменим его или добавим новую запись.
- В поле «Путь к расширению» укажем точный путь к
wsisapi.dll нового релиза.
- Установим флаг Разрешить выполнение пути расширения (Allow extension path to execute).
Шаг 3. Проверка разрядности и настроек пула приложений
Проанализируем параметры пула приложений, в котором работает наша публикация:
- В Диспетчере IIS перейдем в раздел Пулы приложений (Application Pools).
- Выберем пул, используемый сайтом 1С, и откроем Дополнительные параметры (Advanced Settings).
- Если используем 64-разрядную платформу 1С и 64-битный IIS, убедимся, что параметр Разрешить 32-разрядные приложения (Enable 32-Bit Applications) установлен в значение
False.
- Параметр Версия .NET CLR рекомендуется перевести в значение Без управляемого кода (No Managed Code).
Шаг 4. Права доступа на каталоги 1С
Убедимся, что рабочие учетные записи IIS имеют доступ к исполняемым файлам 1С:
- Перейдем к папке установленной платформы
C:\Program Files\1cv8\8.3.11.2867.
- В свойствах папки на вкладке «Безопасность» предоставим права «Чтение и выполнение», «Список содержимого папки» и «Чтение» для пользователей:
IIS_IUSRS (локальная группа IIS)
IUSR (встроенная учетная запись)
Шаг 5. Системные библиотеки и перепубликация
Если вышеописанные шаги не помогли, выполним следующие операции:
- Установим на сервер актуальные компоненты Microsoft Visual C++ Redistributable (x64). Ошибка
0x80004005 часто свидетельствует о том, что `wsisapi.dll` не может загрузить зависимые системные DLL.
- Убедимся, что в компонентах Windows Server включены роли «Расширения ISAPI» (ISAPI Extensions) и «Фильтры ISAPI» (ISAPI Filters).
- Выполним перепубликацию базы с помощью утилиты
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"
- Выполним перезапуск веб-сервера через командную строку с помощью команды
iisreset.
После выполнения этих шагов сопоставление путей обновляется, блокировки снимаются, и публикация базы 1С на IIS начинает работать в штатном режиме.