Разберем достаточно распространенную ситуацию, с которой сталкиваются системные администраторы при обслуживании серверной инфраструктуры. Предположим, мы проводим плановое обновление платформы 1С:Предприятие на сервере (например, с версии 8.3.10 на 8.3.12). Установка проходит штатно, без ошибок, однако при попытке запуска выясняется, что в свойствах службы агента сервера по-прежнему прописан путь к старой версии платформы. Служба пытается запустить старый исполняемый файл ragent.exe, и сервер не регистрируется на новую платформу. Проанализируем причины такого поведения и подробно рассмотрим несколько способов решения этой задачи.
Выясним причину, по которой путь не обновляется автоматически. Чаще всего это происходит, если перед началом обновления администратор забыл остановить работу текущей службы агента сервера 1С, либо процесс обновления был запущен без достаточных прав (не от имени Администратора). Также сбой может возникнуть из-за зависших процессов в памяти операционной системы. В результате инсталлятор новой платформы устанавливает все файлы в новую директорию, но не может перезаписать параметры системной службы в Windows.
Посмотрим на самый быстрый и популярный способ решения проблемы, который обсуждался на форуме — ручную правку системного реестра. Нам не нужно переустанавливать всю платформу, достаточно просто указать операционной системе правильный путь к новому файлу.
regedit и нажмите Enter.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent (x86-64)
ImagePath.
"C:\Program Files\1cv8\8.3.12.1616\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"
Сохраните изменения и запустите службу. Теперь она будет использовать новую версию платформы.
Рассмотрим альтернативный, более "правильный" с точки зрения архитектуры 1С метод. Мы можем перерегистрировать службу штатными средствами самой платформы с помощью утилиты ragent.exe.
Разберем по шагам, как это сделать:
cd "C:\Program Files\1cv8\8.3.12.1616\bin"
-rmsrvc:
ragent.exe -rmsrvc
ragent.exe -instsrvc -usr .\USR1CV8 -pwd ВашПароль -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"
После выполнения этих команд служба будет создана заново и автоматически пропишет правильный путь к текущему каталогу.
Если вы предпочитаете не открывать графический интерфейс реестра, проанализируем ситуацию с использованием встроенной консольной утилиты Windows sc. Этот способ отлично подходит для автоматизации процесса обновления через скрипты.
Откройте командную строку от имени администратора и выполните следующую команду для изменения параметра binPath:
sc config "1C:Enterprise 8.3 Server Agent (x86-64)" binPath= "\"C:\Program Files\1cv8\8.3.12.1616\bin\ragent.exe\" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d \"C:\Program Files\1cv8\srvinfo\""
Важно: Обратите внимание на наличие пробела после binPath= — он обязателен. Также следите за экранированием кавычек с помощью обратного слеша, чтобы операционная система корректно восприняла весь путь с аргументами.
Если вышеописанные методы не помогли или система ведет себя нестабильно (например, служба запускается и сразу останавливается), рассмотрим радикальный подход — чистую переустановку.
Проанализируем сопутствующие настройки, которые могут повлиять на успешный запуск сервера после обновления.
1. Права пользователя службы. Служба агента сервера 1С по умолчанию работает под учетной записью локального пользователя USR1CV8. Убедитесь через локальные политики безопасности (secpol.msc), что у данного пользователя есть привилегия Вход в качестве службы. Также проверьте вкладку "Безопасность" для папки srvinfo — у пользователя USR1CV8 должны быть полные права на чтение и изменение этой директории, иначе сервер не сможет записать настройки кластера.
2. Очистка сеансовых данных (кэша сервера). Если вы перепрыгнули через несколько релизов платформы, старый кэш может вызвать сбои при старте. При остановленной службе перейдите в папку реестра кластера (обычно это C:\Program Files\1cv8\srvinfo\reg_1541) и удалите папку snccntx. Это безопасно — при следующем запуске сервер создаст её заново.
3. Включение режима отладки. Если вам в любом случае пришлось редактировать параметр ImagePath в реестре, вы можете воспользоваться ситуацией и сразу включить отладку на сервере, если это требуется вашим программистам. Для этого просто добавьте ключ -debug в самый конец строки запуска.
"C:\Program Files\1cv8\8.3.12.1616\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug
Применяя описанные методы, вы сможете легко управлять конфигурацией службы сервера 1С:Предприятие и оперативно устранять проблемы с неверными путями при обновлениях платформы.