Как настроить автоматическое обновление платформы 1С на клиентских компьютерах?

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

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

В этой статье мы подробно разберем четыре практических метода настройки автоматического обновления платформы 1С на клиентах: от современного обновления через веб-сервер до классических сценариев с использованием сетевых папок и групповых политик (GPO) в домене Windows. Также мы разберем новые возможности платформы, появившиеся в свежих релизах, которые позволяют сделать этот процесс незаметным для пользователей.

Вариант 1. Автоматическое обновление тонкого клиента через веб-сервер (по протоколу HTTP/HTTPS)

Среди администраторов 1С долгое время существовало заблуждение, что автоматическое обновление тонкого клиента по HTTP доступно исключительно на дорогостоящих лицензиях КОРП. На самом деле, начиная с версии платформы 8.3.15, компания «1С» предоставила эту возможность и владельцам обычных лицензий ПРОФ.

Суть метода заключается в том, что дистрибутивы тонкого клиента упаковываются в архив и выкладываются на веб-сервер (Apache или IIS). При подключении к базе тонкий клиент сверяет свою версию с версией сервера 1С. Если версии не совпадают, клиент автоматически скачивает нужный дистрибутив по HTTP/HTTPS и устанавливает его.

Рассмотрим по шагам, как настроить этот механизм:

  1. Подготовим дистрибутивы тонкого клиента. Для этого необходимо скачать с портала поддержки 1С архив с тонким клиентом нужной версии и разрядности (например, для Windows x64 и x86) и поместить их в общую папку на веб-сервере. Архивы должны содержать файлы установки (MSI-пакеты).
  2. Настроим конфигурационный файл conf.cfg на сервере 1С. В этом файле необходимо прописать пути к опубликованным на веб-сервере дистрибутивам с помощью специальных параметров.

Пример заполнения конфигурационного файла conf.cfg:


PublishDistributiveLocationWindows64=http://web-server-name/1c_distrib/thin_x64.zip
PublishDistributiveLocationWindows32=http://web-server-name/1c_distrib/thin_x86.zip

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

Важное улучшение в версии 1С 8.3.26: Ранее при обновлении через веб-сервер пользователю выдавалось интерактивное диалоговое окно с предложением начать обновление, что часто вызывало вопросы и панику у сотрудников. Начиная с версии 8.3.26, в платформе реализован полноценный «тихий» (бесконтактный) режим обновления по HTTP. Теперь процесс скачивания и установки новой версии проходит полностью в фоновом режиме, не отвлекая пользователя от работы. При необходимости срочного входа система просто предложит альтернативную кнопку «Открыть в браузере» (через веб-клиент), пока идет фоновая установка тонкого клиента.

Вариант 2. Обновление через общую сетевую папку (без использования Active Directory)

Если в вашей организации нет развернутого домена Windows (Active Directory), но развернуть автоматическое обновление необходимо, можно воспользоваться стандартными возможностями программы запуска 1cestart. Для этого используется общий сетевой ресурс, к которому у всех пользователей есть права на чтение.

Проанализируем этот алгоритм:

  1. Создадим на файловом сервере сетевую папку (например, \\Server-FS\1C_Distr) и откроем к ней доступ для всех пользователей сети.
  2. Поместим в эту папку дистрибутивы новых версий платформ.
  3. Настроим общий файл конфигурации 1cescmn.cfg (или отредактируем локальный 1cestart.cfg на компьютерах пользователей), указав в нем параметр DistributiveLocation.

Пример содержимого файла настроек 1cestart.cfg на клиентском компьютере:


CommonCfgLocation=\\Server-FS\1C_Distr\1cescmn.cfg
DistributiveLocation=\\Server-FS\1C_Distr

При запуске 1С утилита 1cestart обратится к сетевой папке, проверит наличие более новой версии и при необходимости запустит процесс установки.

Однако при таком подходе часто возникают две проблемы: выбор правильной разрядности платформы (32 или 64 бита) и нехватка прав у локального пользователя на установку программ. Выясним, как решить эти сложности.

Управление разрядностью и компонентами:
Чтобы принудительно устанавливать только нужные компоненты нужной разрядности (например, только тонкий клиент 64-бит, игнорируя тяжелый толстый клиент и конфигуратор), в файле конфигурации 1cestart.cfg, расположенном в сетевой папке, можно прописать следующие параметры:


DefaultVersion=8.3;x86_64
InstallComponents=DESIGNERALLCLIENTS=0 THINCLIENT=1

Решение проблемы с правами локального администратора:
Поскольку у обычных пользователей на рабочих станциях зачастую заблокирована возможность установки ПО, запуск msi-пакета из сетевой папки завершится ошибкой доступа. Чтобы обойти это ограничение без Active Directory, можно настроить локальную групповую политику на компьютерах пользователей (или распространить этот параметр через ветку реестра Windows). Нам необходимо включить параметр AlwaysInstallElevated (Всегда устанавливать с повышенными правами).

Для этого выполним следующие действия:

  1. Откроем редактор локальной групповой политики (команда gpedit.msc).
  2. Перейдем в раздел: Конфигурация компьютера -> Административные шаблоны -> Компоненты Windows -> Установщик Windows. Включим параметр «Всегда производить установку с повышенными привилегиями».
  3. Аналогичный параметр включим в разделе: Конфигурация пользователя -> Административные шаблоны -> Компоненты Windows -> Установщик Windows.

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

Вариант 3. Использование групповых политик Active Directory (GPO + MSI)

Если в вашей сети развернут домен под управлением Windows Server с Active Directory, то классический сценарий развертывания через GPO является самым надежным и профессиональным решением. В этом случае установка происходит на этапе загрузки операционной системы компьютера с правами учетной записи SYSTEM, что полностью исключает проблемы с правами доступа пользователей.

Разберем процесс настройки по шагам:

  1. Скачаем дистрибутив технологической платформы 1С для Windows. Извлечем из него msi-пакет (например, 1CEnterprise 8.msi).
  2. Поместим извлеченные файлы в общую сетевую папку домена (путь должен быть в формате UNC, например, \\domain.local\DFS\1C_Deploy\). Важно, чтобы у группы «Компьютеры домена» (Domain Computers) был доступ на чтение этой папки.
  3. Откроем консоль управления групповыми политиками (gpmc.msc), создадим новый объект GPO и привяжем его к организационному подразделению (OU) с клиентскими компьютерами.
  4. Перейдем к редактированию политики: Конфигурация компьютера -> Политики -> Конфигурация программного обеспечения -> Установка программ.
  5. Нажмем правой кнопкой мыши, выберем Создать -> Пакет и укажем UNC-путь к файлу 1CEnterprise 8.msi.
  6. В параметрах развертывания выберем тип «Назначенный» (Assigned).
  7. Если требуется настроить установку конкретных компонентов (например, только тонкого клиента и языковых пакетов), используем файл трансформации (mst-файл), который можно создать с помощью сторонних утилит (например, Orca) и указать его при создании пакета в GPO во вкладке «Модификации».

При очередной перезагрузке компьютеров операционная система автоматически установит указанную версию 1С. Старые версии платформы при этом могут оставаться на компьютерах (что полезно для работы с разными информационными базами) или автоматически удаляться средствами GPO при обновлении пакета.

Вариант 4. Сторонние утилиты автоматизации и собственные стартеры

Если стандартные средства платформы или операционной системы по каким-то причинам не подходят, можно рассмотреть альтернативные решения:

Пример простого скрипта на PowerShell для установки платформы в «тихом» режиме:


$msiPath = "\\Server-FS\1C_Distr\1CEnterprise 8.msi"
$arguments = "/i `"$msiPath`" /qn DESIGNERALLCLIENTS=0 THINCLIENT=1 THINCLIENTFILE=1"
Start-Process msiexec.exe -ArgumentList $arguments -Wait -NoNewWindow

Выбор конкретного метода автоматизации зависит от масштаба вашей сети, используемых лицензий (ПРОФ или КОРП) и наличия доменной инфраструктуры. Мы рекомендуем использовать обновление через HTTP-сервер для распределенных сетей без Active Directory и классический метод GPO для крупных корпоративных сетей. При необходимости развертывания обновлений на рабочих станциях под управлением Linux можно использовать сценарий для автоматизации обновления платформы на deb-based операционных системах.

← На главную