Почему 1cestart.exe не запускает версию 8.2 при наличии 8.3 и как это исправить

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

Часто при переходе на новую версию платформы или при необходимости поддерживать старые конфигурации (например, Управление торговлей 10.3 на платформе 8.2) системные администраторы сталкиваются с неприятной ситуацией. После установки 1С:Предприятие 8.3 штатный загрузчик 1cestart.exe внезапно «забывает» о существовании версии 8.2. При попытке запуска базы загрузчик выдает ошибку о несоответствии версий клиента и сервера или сообщает, что нужная версия платформы не обнаружена, хотя вручную через 1cv8.exe всё прекрасно работает. Давайте подробно разберем, почему это происходит и как заставить систему работать корректно.

Проанализируем механику работы загрузчика 1cestart.exe

Для начала нам необходимо понять, как именно 1cestart.exe определяет, какие версии платформы установлены на сервере. В отличие от прямого запуска исполняемого файла из папки bin, загрузчик является «умным» посредником. Он выполняет следующие действия:

  1. Обращается к файлам конфигурации conf.cfg и 1cestart.cfg.
  2. Сканирует ветки реестра, созданные инсталлятором 1С.
  3. Опрашивает сервер 1С (если база клиент-серверная), чтобы узнать требуемую версию.
  4. Ищет подходящий 1cv8.exe в каталогах, указанных как места установки (InstalledLocation).

Если на терминальном сервере Windows Server 2008 R2 x64 установлены обе платформы, конфликт чаще всего возникает из-за путаницы в путях или разрядности приложений. Рассмотрим пошагово, что нужно проверить.

Шаг 1: Проверка установленных компонентов

Первым делом выясним, действительно ли установлены клиентские части платформы 8.2. Бывает так, что при обновлении или установке серверной части 8.3 системные компоненты 8.2 повреждаются или «перекрываются» новыми записями. Рассмотрим, как это проверить:

Зайдем в Панель управления — Программы и компоненты. Найдем в списке 1С:Предприятие 8.2. Нажмем кнопку «Изменить» и выберем пункт «Изменить» в мастере установки. Нам нужно убедиться, что установлены компоненты:

Если эти галочки отсутствуют, 1cestart.exe не будет считать эту папку пригодной для запуска клиента, даже если там лежат файлы сервера. После проверки или переустановки клиента 8.2 обязательно убедитесь, что файлы физически присутствуют по пути C:\Program Files (x86)\1cv82\номер_релиза\bin\1cv8.exe.

Шаг 2: Настройка конфигурационного файла conf.cfg

Это самый важный этап, который часто упускают. Файл conf.cfg управляет тем, где загрузчик ищет платформы. На 64-битных системах таких файлов может быть несколько. Нам нужно проанализировать содержимое файла по пути C:\Program Files (x86)\1cv8\common\conf\conf.cfg.

Рассмотрим пример правильного содержания этого файла, если платформы установлены в стандартные папки:


SystemId=1C-Enterprise-8.2
InstalledLocation=C:\Program Files (x86)\1cv82
InstalledLocation=C:\Program Files (x86)\1cv8

Если параметр InstalledLocation указывает только на папку 1cv8 (где лежит 8.3), то загрузчик просто не «заглядывает» в папку 1cv82. Добавьте строку с путем к 8.2 вручную, используя обычный текстовый редактор от имени администратора. Обратите внимание, что пути должны указывать на корень установки, а не на папку конкретного релиза.

Шаг 3: Проверка индивидуальных настроек пользователя (1cestart.cfg)

На терминальном сервере у каждого пользователя в его профиле создается свой файл настроек. Проанализируем путь %APPDATA%\1C\1CEStart\1cestart.cfg. В этом файле могут содержаться переопределения, которые блокируют запуск 8.2.

Особое внимание уделим параметру UseAppServer. Если он установлен в значение 0, загрузчик не будет пытаться автоматически определить версию платформы через сервер 1С. Попробуем установить его в значение 1:


UseAppServer=1
InstalledLocation=C:\Program Files (x86)\1cv82
InstalledLocation=C:\Program Files (x86)\1cv8

Также проверьте, нет ли в этом файле параметра DefaultVersion, который принудительно заставляет систему всегда использовать 8.3. Если такая строка есть, ее лучше удалить или закомментировать.

Шаг 4: Указание версии платформы в настройках базы

Если автоматическое определение версии не срабатывает, нам нужно явно указать 1cestart.exe, какую платформу использовать для конкретной информационной базы. Рассмотрим, как это сделать правильно:

  1. Запустите окно выбора информационных баз.
  2. Выберите нужную базу и нажмите кнопку «Изменить».
  3. Перейдите на последнюю закладку настроек.
  4. В поле «Версия платформы» вместо пустого значения или просто «8.2» попробуйте прописать полный номер релиза, например 8.2.19.130.

Почему это важно? Если указано просто «8.2», загрузчик ищет в реестре самую последнюю установленную версию, начинающуюся на эти цифры. Если регистрация версии 8.2 в реестре Windows была повреждена при установке 8.3, поиск не даст результатов. Указание полного номера заставляет загрузчик искать конкретную папку на диске.

Шаг 5: Проблемы разрядности и системного реестра

Выясним причину, связанную с архитектурой x64. Поскольку 1С 8.2 чаще всего является 32-битным приложением, ее данные хранятся в специальной ветке реестра для 32-битных программ на 64-битных системах (WOW6432Node).

Проанализируем ветку реестра: HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\1C\1Cv8. Там должен существовать раздел InstalledProducts, в котором перечислены ID установленных версий. Если при установке 8.3 инсталлятор некорректно обновил общие компоненты, записи о 8.2 могут пропасть из этой ветки. В таком случае помогает «Исправление» установки 8.2 через Панель управления, что заново регистрирует компоненты в реестре.

Шаг 6: Настройка портов сервера

В ситуации, когда серверы 8.2 и 8.3 работают одновременно на одной машине, они должны занимать разные сетевые порты. Например, 8.2 остается на стандартном порту 1541, а 8.3 переносится на 2541. Рассмотрим, как это влияет на запуск:

Если в строке соединения с базой не указан порт (например, просто SERVER-1C\BaseName), загрузчик всегда будет стучаться на порт по умолчанию (1540/1541). Если на этом порту теперь «сидит» сервер 8.3, а база требует 8.2, возникнет конфликт версий. Всегда указывайте порт явно в свойствах базы:

ИмяСервера:1541\ИмяБазы (для 8.2)
ИмяСервера:2541\ИмяБазы (для 8.3)

Подведем итоги

Мы выяснили, что проблема «невидимости» платформы 8.2 загрузчиком 1cestart.exe чаще всего не является техническим сбоем самой программы, а является следствием нарушения конфигурационных файлов или регистрации компонентов в реестре. Для восстановления нормальной работы нам достаточно синхронизировать пути в conf.cfg, убедиться в наличии установленного толстого клиента 8.2 и, при необходимости, явно указать номер релиза в настройках подключения к базе. Эти шаги позволяют обеспечить стабильную одновременную работу нескольких поколений платформ 1С на одном терминальном сервере.

← На главную