В процессе установки или обновления платформы 1С:Предприятие системный установщик Windows Installer (MSI) может выдавать предупреждение о том, что используемые файлы заблокированы, и для завершения операции потребуется перезагрузка операционной системы. Разберем детально, почему возникает такое поведение инсталлятора, какие системные службы вызывают конфликт и как правильно выполнить установку без остановки работы всего сервера.
Проанализируем архитектуру платформы 1С:Предприятие. Несмотря на то что различные версии платформы устанавливаются в отдельные каталоги (например, C:\Program Files\1cv8\8.3.X.XXXX), инсталлятор всегда обновляет ряд общих системных компонентов. К ним относятся программа запуска 1cestart.exe, системные библиотеки интеграции, драйверы защиты и регистрационные записи COM-объектов в реестре Windows. Если в момент установки эти разделяемые ресурсы заняты запущенными процессами, установщик не может перезаписать их напрямую.
Рассмотрим основные источники блокировки файлов:
1cv8.exe или 1cv8c.exe), общие модули запуска оказываются заблокированными.ragent.exe, а также rmngr.exe и rphost.exe) удерживает системные библиотеки. Инсталлятор не всегда может корректно перерегистрировать службу без ее предварительной остановки.w3wp.exe или httpd.exe) удерживают загруженными модули расширения веб-сервисов (например, wsisapi.dll).V83.COMConnector удерживаются системным процессом dllhost.exe, что блокирует библиотеку comcntr.dll.Разберем по шагам стандартный порядок действий перед запуском обновления платформы на сервере или локальном компьютере:
1cv8.exe и 1cv8c.exe. При необходимости завершим их вручную.services.msc), найдем службу «Агент сервера 1С:Предприятия 8.3» и временно остановим ее.iisreset /stop.setup.exe. В этом случае инсталляция пройдет штатно без диалоговых окон с требованием перезагрузки ОС.iisreset /start).Рассмотрим ситуацию, когда все видимые окна 1С закрыты, но инсталлятор продолжает сообщать о занятых файлах. Выясним, какой именно системный процесс держит ресурсы платформы открытыми:
resmon.exe и нажмем Enter.1cv8 или путь к папке установки (например, Program Files\1cv8).Если инсталлятор завершается с критической ошибкой и не дает подробного описания проблемы, запустим установку платформы с формированием детального журнала событий. Для этого выполним в командной строке команду:
msiexec /i "1CEnterprise 8.msi" /L*V "C:\install_1c.log"
Посмотрим на результат выполнения команды: в корне диска C появится текстовый файл install_1c.log. Открыв его, можно найти точный код ошибки Windows Installer, а также имена конкретных библиотек или веток реестра, доступ к которым был заблокирован антивирусным ПО или правами учетной записи.