При обновлении или переустановке платформы 1С:Предприятие 8.3 системные администраторы часто сталкиваются с неприятной ситуацией: сервер «теряет» список информационных баз, настройки кластера и журналы регистрации. Происходит это из-за того, что рабочая папка сервера (каталог srvinfo, где хранится папка reg_1541) самопроизвольно переносится из стандартного расположения в недра системного профиля Windows: C:\Windows\System32\config\systemprofile\AppData\Local\1C\1cv8\.
В этой статье мы подробно разберем, почему так происходит, как правильно диагностировать проблему и какими способами можно вернуть привычный путь к данным сервера 1С.
Рассмотрим механизм запуска службы 1С. Основной исполняемый файл сервера — ragent.exe. При запуске он ищет параметр -d, в котором явно указан путь к каталогу данных. Если этот параметр отсутствует в строке запуска службы, сервер 1С использует путь по умолчанию.
Проблема заключается в том, что по умолчанию рабочим каталогом считается профиль пользователя, от имени которого запущена служба. Поскольку в большинстве случаев служба 1C:Enterprise 8.3 Server Agent работает под учетной записью «Local System» или специальной технической записью, Windows определяет путь именно в папке systemprofile.
Проанализируем ситуацию, почему параметр -d может исчезнуть:
-d.DDIR), система инициализирует настройки по умолчанию.Это самый быстрый и распространенный метод, позволяющий вернуть сервер «на место» без переустановки платформы. Разберем его по шагам.
Прежде всего, нам необходимо открыть редактор реестра (regedit) от имени администратора. Нам нужно найти ветку, отвечающую за конфигурацию службы сервера 1С. Рассмотрим, по какому адресу она находится:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent (x86-64)
Обратите внимание: в некоторых случаях в пути может фигурировать ControlSet001. Однако рекомендуется вносить правки именно в CurrentControlSet, так как это динамическая ссылка на текущую рабочую конфигурацию системы. Если сервер 32-битный, в названии службы не будет приписки (x86-64).
ImagePath.-d. Если его нет или там указан неверный путь, добавьте его в конец строки в кавычках.Пример правильного значения ImagePath:
"C:\Program Files\1cv8\8.3.22.1750\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"
Здесь часть после -d как раз и указывает серверу, где искать настройки кластера и папку reg_1541. После внесения изменений необходимо перезапустить службу 1С через консоль services.msc.
Если вы опасаетесь вручную править реестр, можно воспользоваться встроенным функционалом самого агента сервера 1С. Этот метод более «чистый», так как ragent.exe сам пропишет все необходимые ключи.
Рассмотрим последовательность действий в командной строке (CMD), запущенной от имени администратора:
bin установленной версии платформы:
cd /d "C:\Program Files\1cv8\8.3.22.1750\bin"
ragent.exe /remove
ragent.exe /instsrv -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"
Этот способ гарантирует, что в реестре окажутся правильные пути, соответствующие именно той версии платформы, которую вы планируете использовать как основную.
Проанализируем ситуацию, которая часто возникает после возврата пути: путь в реестре исправлен, но служба не запускается или базы выдают ошибку доступа.
Когда вы перемещаете рабочую директорию обратно в C:\Program Files\1cv8\srvinfo, обязательно проверьте права доступа к этой папке. Учетная запись, под которой работает служба 1С (обычно это USR1CV8 или Локальная система), должна обладать правами «Полный контроль» (Full Control) на этот каталог.
Посмотрим, как это сделать:
srvinfo.USR1CV8 (или тот, который указан в настройках службы) добавлен в список и имеет все галочки в колонке «Разрешить».Если сервер 1С уже успел поработать с путем в systemprofile, там могли накопиться новые данные (новые базы, логи, изменения в списках пользователей). Проанализируем, как поступить в этом случае:
systemprofile более актуальны, скопируйте содержимое папки reg_1541 из системного профиля в ваш целевой каталог C:\Program Files\1cv8\srvinfo\reg_1541\ (с заменой файлов) при выключенной службе.srvinfo, просто верните путь в реестре, как описано выше, и сервер подхватит старые настройки.Чтобы избежать подобных инцидентов при будущих обновлениях, придерживайтесь следующих правил:
setup.exe всегда выбирайте опцию «Настройка параметров запуска сервера». В появившемся окне проверьте поле «Каталог данных».DDIR="C:\Program Files\1cv8\srvinfo".Таким образом, мы выяснили, что изменение пути — это не ошибка программы, а следствие работы алгоритмов установки по умолчанию. Своевременный контроль параметров запуска службы в реестре позволит вам поддерживать стабильную работу сервера 1С.