Почему автоматическая установка новой платформы 1С не работает при настроенном 1cestart.cfg и DistributiveLocation?

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

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

Автор исходного сообщения столкнулся с ситуацией, когда после добавления базы на сервере с более новой версией платформы (например, 8.3.19), клиентская часть не обновлялась автоматически, выдавая ошибку несоответствия версий. В папке C:\Distr\1C лежали дистрибутивы тонкого клиента и полного клиента 64-битной версии. Разберем, что могло пойти не так и как это исправить.

Понимание механизма автоматической установки 1С

Автоматическая установка новой версии платформы 1С — это удобный механизм, позволяющий поддерживать актуальность клиентских приложений без ручного вмешательства. Для его работы используются конфигурационные файлы 1cestart.cfg и/или 1cescmn.cfg. Основные параметры, отвечающие за этот процесс, — это DistributiveLocation и AppAutoInstallLastVersion.

Рассмотрим параметры из файла 1cestart.cfg, предоставленного автором:


InstalledLocation=C:\Program Files\1cv8
DistributiveLocation=C:\Distr\1C
InstallComponents=DESIGNERALLCLIENTS=0 THINCLIENT=1 WEBSERVEREXT=0 SERVER=0 CONFREPOSSERVER=0 CONVERTER77=0 SERVERCLIENT=0 LANGUAGES=RU,EN
UseHwLicenses=1
AppAutoInstallLastVersion=1

Давайте проанализируем эти параметры:

Критически важный аспект: Структура каталога дистрибутивов (DistributiveLocation)

Одной из наиболее частых причин, по которой автоматическая установка не срабатывает, является неправильная организация каталога, указанного в параметре DistributiveLocation. Рассмотрим пример автора, где в папке C:\Distr\1C лежали архивные файлы дистрибутивов (например, full_client_8_3_19_1264_x64.zip и thin_client_8_3_19_1264_x64.zip, как это было показано на скриншоте в сообщении).

Важно понимать: система 1С не будет автоматически разархивировать дистрибутивы! Для корректной работы механизма автоматической установки, каталог DistributiveLocation должен содержать подкаталоги, имена которых соответствуют полным номерам версий платформы. Внутри этих подкаталогов должны находиться *распакованные* дистрибутивы.

  1. Разархивируйте дистрибутивы: Прежде всего, распакуйте все архивные файлы с платформами. Не оставляйте их в виде .zip или .rar.

  2. Создайте структуру папок по версиям: Для каждой версии платформы создайте отдельный подкаталог с именем, соответствующим полному номеру версии. Например, если у вас дистрибутив 8.3.19.1264, создайте папку 8.3.19.1264.

  3. Разместите распакованные файлы: Поместите все файлы распакованного дистрибутива (включая client.msi, setup.exe и другие компоненты) внутрь соответствующей версии папки.

  4. Пример правильной структуры:

    Предположим, ваш параметр DistributiveLocation в файле 1cestart.cfg настроен на C:\Distr\1C. Тогда правильная структура каталога с дистрибутивами будет выглядеть следующим образом:

    
    C:\Distr\1C\
    ├── 8.3.19.1264\
    │   ├── client.msi
    │   ├── setup.exe
    │   ├── ... (прочие файлы дистрибутива 8.3.19.1264)
    ├── 8.3.20.1674\
    │   ├── client.msi
    │   ├── setup.exe
    │   ├── ... (прочие файлы дистрибутива 8.3.20.1674)
    

    Если вы хотите разделить дистрибутивы по разрядности (Win32 и Win64) внутри каждой версии, вы можете создать дополнительную вложенность:

    
    C:\Distr\1C\
    ├── 8.3.19.1264\
    │   ├── Win32\
    │   │   ├── client.msi
    │   │   ├── setup.exe
    │   ├── Win64\
    │   │   ├── client.msi
    │   │   ├── setup.exe
    

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

Права доступа для установки платформы

Вопрос о правах доступа является ключевым для успешной автоматической установки. Долгое время для инсталляции платформы 1С требовались права администратора операционной системы. Если пользователь не обладает такими правами, установка могла завершиться ошибкой или просто не произойти.

Однако, с появлением платформы 1С версии 8.3.18 и выше, функционал установки тонкого клиента был расширен. Теперь тонкий клиент может устанавливаться в профиль пользователя (в каталог %LOCALAPPDATA%\Programs) без необходимости полных административных прав на компьютере. Это значительно упрощает процесс для обычных пользователей и обсуждалось в сообщениях форума (7, 8).

Разберем два основных сценария установки и связанные с ними требования к правам:

  1. Установка "для компьютера" (в %PROGRAMFILES% или %PROGRAMFILES(x86)%): В этом случае по-прежнему требуются локальные административные права на рабочей станции или соответствующие разрешения на установку приложений. Иногда для этого используется ключ реестра AlwaysInstallElevated, но его применение не рекомендуется из соображений безопасности.

  2. Установка "для пользователя" (в %LOCALAPPDATA%\Programs): Если система настроена на установку тонкого клиента в профиль пользователя, административные права не требуются, что было подтверждено в сообщении 8. Это очень удобно для неадминистративных пользователей, но может привести к тому, что у каждого пользователя на одной машине будет своя установка платформы, занимающая место в их профилях.

Если автоматическая установка не работает даже с административными правами (как указано в сообщении 9), это может указывать на другие проблемы, например, некорректную структуру дистрибутивов, как мы уже рассмотрели, или конфликты с уже установленными версиями, или специфические настройки безопасности системы.

Параметр AppAutoInstallLastVersion=1

Этот параметр в файле 1cestart.cfg (или общем 1cescmn.cfg) является включателем функции автоматической установки. Убедитесь, что он установлен в значение 1. При каждом запуске 1С, стартер (1cestart.exe) будет проверять наличие более новой версии в каталоге DistributiveLocation и, если таковая обнаружена, запустит процесс установки. Если этот параметр отсутствует или установлен в 0, автоматическое обновление не произойдет.

Мы видим в первоначальном сообщении, что автор его использует:

AppAutoInstallLastVersion=1

Это означает, что сама функция включена, и проблема, скорее всего, кроется в структуре дистрибутивов или правах доступа, что мы уже обсудили.

Распространенные проблемы и их решение

Помимо структуры дистрибутивов и прав доступа, существуют и другие частые причины, по которым автоматическая установка платформы 1С может не работать или приводить к ошибкам. Давайте выясним, с чем вы можете столкнуться, и как это можно исправить.

  1. Несоответствие версий клиента и сервера: Это самая частая ошибка, с которой сталкиваются пользователи, и она прямо упомянута в исходном сообщении. Версии платформы на сервере и клиентских компьютерах должны полностью совпадать. Если на сервере установлен релиз 8.3.20.1674, а у клиента 8.3.19.1264, подключение к информационной базе будет невозможно. Механизм автоматической установки как раз призван решить эту проблему, синхронизируя версии.

  2. Ошибка "Не обнаружена установленная версия 1С:Предприятия": Выясним причины возникновения данной ошибки и способы ее устранения:

    • Установлен только тонкий клиент 1С:Предприятие 8.3 без соответствующей версии платформы: Убедитесь, что компоненты платформы установлены корректно. Возможно, при установке были выбраны не все необходимые компоненты.

    • Запуск платформы осуществляется не стандартным стартером 1cestart.exe, а файлом 1cv8*.exe из каталога с исполняемыми файлами платформы: Всегда используйте стандартный стартер 1cestart.exe. Только он обрабатывает конфигурационные файлы 1cestart.cfg и 1cescmn.cfg, проверяет наличие новой версии в DistributiveLocation и запускает процесс обновления.

    • В параметрах запуска информационной базы или в общих настройках 1С указаны неверные параметры, которым не соответствует ни один из установленных вариантов платформы: Проверьте настройки информационной базы. Возможно, там жестко прописана определенная версия платформы (например, "Использовать версию 8.3.19"), которая отсутствует на компьютере или не соответствует серверу. Измените эти настройки на автоматический выбор или убедитесь, что указанная версия действительно установлена.

  3. Указание разрядности (x86/x64): Если при первой автоматической установке 1С не определяет нужную разрядность (например, вы хотите установить 64-битную версию, но по умолчанию устанавливается 32-битная), вы можете явно указать это в конфигурационном файле 1cestart.cfg или 1cescmn.cfg, добавив параметр DefaultVersion. Например, для 64-битной версии:

    DefaultVersion=8.3;x86_64

    Для 32-битной версии:

    DefaultVersion=8.3;x86

    В некоторых случаях для корректной установки 64-битной платформы может потребоваться сначала вручную установить любую 64-битную платформу, чтобы инициализировать необходимые системные компоненты и зарегистрировать их в системе.

Централизованное управление обновлениями

Для больших инфраструктур, где требуется автоматическое обновление платформы на множестве клиентских машин, рекомендуется использовать централизованный подход. Это значительно упрощает администрирование и обеспечивает консистентность версий.

  1. Разместите общий конфигурационный файл 1cescmn.cfg на сетевом ресурсе, доступном всем пользователям. Например, это может быть путь \\Server\1C_Configs\1cescmn.cfg. Этот файл будет содержать общие настройки для всех клиентских машин.

  2. В локальном файле 1cestart.cfg каждого пользователя (или развернутом через GPO) укажите путь к этому общему файлу с помощью параметра CommonCfgLocation:

    CommonCfgLocation=\\Server\1C_Configs\1cescmn.cfg

    Таким образом, стартер 1cestart.exe сначала загрузит локальные настройки, а затем подтянет общие из сетевого файла.

  3. В этом общем файле 1cescmn.cfg укажите путь к сетевой папке с дистрибутивами:

    DistributiveLocation=\\Server\1C_Distr

    Не забудьте организовать правильную структуру каталога \\Server\1C_Distr, как мы рассмотрели выше (с подкаталогами версий, содержащими распакованные дистрибутивы).

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

Помните, что поддержание идентичных версий платформы на сервере и всех клиентских машинах является залогом стабильной и бесперебойной работы системы 1С. Тщательная настройка параметров 1cestart.cfg и правильная организация каталогов дистрибутивов помогут вам автоматизировать процесс обновления и избежать большинства проблем с несоответствием версий.

← На главную