Как предотвратить перезапись файла 1CEStart.cfg при первом запуске 1С

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

При автоматическом развертывании платформы 1С:Предприятие на рабочих станциях системные администраторы часто используют копирование заранее подготовленных файлов конфигурации. Однако при первом запуске программы стартер (1cestart.exe) может внезапно подтереть подготовленный файл 1CEStart.cfg и заново сгенерировать пустой шаблон с дефолтными настройками. Проанализируем, почему так происходит, и разберем способы решения этой проблемы.

Причина перезаписи файла 1CEStart.cfg

Рассмотрим внутренний механизм первичной инициализации профиля пользователя 1С. Когда стартер запускается на компьютере, он проверяет наличие пользовательского окружения в каталоге %APPDATA%\1C\1CEStart\.

Если в указанном каталоге отсутствует файл со списком информационных баз ibases.v8i, программа интерпретирует этот запуск как самый первый для текущей учетной записи. В этот момент запускается алгоритм автоматического поиска баз предыдущих версий и шаблонов конфигураций, после чего файл 1CEStart.cfg в папке пользователя принудительно пересоздается с базовыми значениями, стирая все ранее подложенные параметры.

Также важно следить за кодировкой конфигурационного файла. По умолчанию файл 1CEStart.cfg создается в кодировке UTF-16LE (Little Endian) с BOM. Если файл был создан сторонним скриптом в ANSI или UTF-8 без BOM, стартер может расценить его содержимое как некорректное и пересоздать заново.

Решение 1. Добавление файла ibases.v8i при развертывании

Выясним наиболее простой способ обхода инициализации стартера. Чтобы 1cestart.exe не считал запуск первичным и не перезаписывал конфигурацию, достаточно добавить в ту же папку файл ibases.v8i.

Разберем порядок действий по шагам:

  1. Сформируем нужный файл 1CEStart.cfg в кодировке UTF-16LE.
  2. Создадим в каталоге %APPDATA%\1C\1CEStart\ пустой файл с именем ibases.v8i (или файл с предварительно заполненным списком информационных баз).
  3. Скопируем созданный 1CEStart.cfg в ту же папку.

При наличии файла ibases.v8i стартер определяет профиль как существующий, считывает пользовательский 1CEStart.cfg без изменений и подхватывает все содержащиеся в нем настройки с первого запуска.

Решение 2. Использование общесистемного файла конфигурации

Посмотрим на альтернативный вариант развертывания, который избавляет от необходимости манипулировать пользовательскими папками %APPDATA%. Платформа 1С позволяет задавать общие настройки для всех пользователей компьютера через системный каталог ProgramData.

Разместить файл 1CEStart.cfg можно по пути:

%ProgramData%\1C\1CEStart\1CEStart.cfg

Преимущества этого подхода:

  1. Общесистемный файл доступен для чтения всем учетным записям компьютера.
  2. Стартер считывает настройки из %ProgramData% при каждом запуске.
  3. Данный файл не перезаписывается стартером при инициализации пользовательского профиля.

Решение 3. Централизованное управление через сетевую шару

Проанализируем ситуацию, когда необходимо централизованно управлять списками баз и версиями платформы у большого количества пользователей. В этом случае в локальный 1CEStart.cfg (в %ProgramData% или %APPDATA%) достаточно добавить ссылку на общий сетевой файл конфигурации:


CommonCfgLocation=\\server\share\1CESCmn.cfg
CommonInfoBases=\\server\share\bases.v8i

Разберем особенности работы параметров:

  1. Параметр CommonCfgLocation указывает путь к центральному файлу конфигурации. Обратите внимание: сетевой файл, указанный в CommonCfgLocation, не должен содержать повторную ссылку на другие конфигурационные файлы.
  2. Параметр CommonInfoBases позволяет подключить общий файл со списком информационных баз для всей компании.
  3. Приоритеты параметров распределяются следующим образом: настройки UseHwLicenses и DefaultVersion из пользовательского файла приоритетнее общих, а списки баз из CommonInfoBases суммируются из всех уровней конфигурации.
← На главную