Как настроить автоматическое обновление тонкого клиента 1С через веб-сервер?

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

Начиная с версии платформы 8.3.1, компания 1С реализовала механизм, позволяющий пользователям автоматически получать актуальную версию тонкого клиента при подключении к информационной базе через веб-сервер. Это избавляет системных администраторов от необходимости вручную обновлять платформу на каждом рабочем месте, что особенно актуально для удаленных сотрудников и филиалов — поможет инструмент централизованного администрирования и автоматизации установки программ. Однако на практике настройка этого механизма часто вызывает затруднения. В этой статье мы подробно разберем все этапы конфигурации, рассмотрим типовые ошибки и выясним, как заставить автообновление работать стабильно.

Принцип работы механизма обновления

Прежде всего, проанализируем, как происходит взаимодействие клиента и сервера. Когда пользователь запускает тонкий клиент и пытается подключиться к базе, опубликованной на веб-сервере, система проверяет соответствие версий — для контроля сессий пригодится система управления кластерами серверов и сеансами 1С. Если версия клиентского приложения ниже версии сервера, платформа инициирует процесс загрузки дистрибутива. Для этого в файле публикации default.vrd должен быть указан путь к архиву с новой версией. Клиент скачивает архив, распаковывает его и запускает установку.

Подготовка дистрибутива тонкого клиента

Первым делом нам необходимо подготовить сам файл, который будет скачиваться пользователями. Разберем требования к этому архиву:

  1. Формат: Это должен быть обычный ZIP-архив.
  2. Состав: Внутри архива должны находиться файлы дистрибутива "Тонкого клиента" без вложенных папок. Обязательно наличие setup.exe, 1CEnterprise 8 Thin client.msi и сопутствующих файлов .cab и .mst. Не стоит упаковывать туда полный дистрибутив платформы, так как он слишком велик; достаточно именно дистрибутива тонкого клиента.
  3. Имя файла: Рекомендуется давать файлу понятное имя, например thin_8_3_22_1709.zip.

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

Настройка публикации в файле default.vrd

Теперь рассмотрим, как указать системе, где именно лежит наш дистрибутив. При публикации информационной базы через конфигуратор или утилиту webinst, на веб-сервере создается файл default.vrd. Нам нужно отредактировать элемент point, добавив или изменив атрибут pubdst (Public Distribution).

Проанализируем пример структуры файла default.vrd:


<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
       base="/MyBase"
       ib="Srvr=&quot;MyServer&quot;;Ref=&quot;MyBase&quot;;"
       pubdst="https://myserver.com/distrib/thin_8_3_22.zip">
    <standardOdata enable="false"/>
</point>

Обратите внимание на значение pubdst. Мы выяснили, что наиболее надежный способ — указывать полный URL-адрес к ZIP-файлу, доступный извне. Использование локальных путей (типа C:\distr\...) часто приводит к ошибкам, так как клиентское приложение не всегда может корректно интерпретировать права доступа к файловой системе сервера через протокол HTTP.

Настройка веб-сервера IIS: MIME-типы

Одной из самых частых причин, по которой "градусник" загрузки мелькает и исчезает, является неправильная настройка типов данных на сервере IIS. По умолчанию IIS может отдавать файлы .zip с типом application/x-zip-compressed, в то время как тонкий клиент 1С ожидает строго application/zip.

Выполним следующие шаги для настройки IIS:

  1. Запустим Диспетчер служб IIS.
  2. В дереве слева выберем наш сайт (например, Default Web Site).
  3. В центральной части откроем раздел Типы MIME.
  4. Найдем расширение .zip. Если оно имеет значение application/x-zip-compressed, необходимо изменить его на application/zip.
  5. Если расширения нет, добавим его вручную.

После этого веб-сервер будет корректно сообщать клиенту тип передаваемого файла, и загрузка не будет обрываться.

Настройка веб-сервера Apache

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

В файле httpd.conf (для настройки которого можно применить PowerShell скрипт автоматической установки Apache) добавим следующие строки:


Alias "/Download" "C:/1S_Distr/Download/"
<Directory "C:/1S_Distr/Download/">
    Options Indexes Includes
    AllowOverride All
    Order allow,deny
    Allow from all
    Require all granted
</Directory>

В настройках публикации default.vrd в этом случае путь будет выглядеть так: pubdst="http://my-apache-server/Download/thin.zip". Также убедимся, что в Apache зарегистрирован корректный MIME-тип. Обычно это делается в файле mime.types строкой: application/zip zip.

Особенности работы через SSL (HTTPS)

Если ваша база опубликована с использованием SSL-шифрования, мы сталкиваемся с дополнительными требованиями к безопасности. Платформа 1С крайне чувствительна к валидности сертификатов при скачивании обновлений.

Разберем основные причины неудач при использовании HTTPS:

  1. Самоподписанные сертификаты: Если вы используете самоподписанный сертификат, автообновление, скорее всего, не сработает. Платформа не сможет проверить цепочку доверия.
  2. Доверенные центры сертификации: Необходимо убедиться, что корневой сертификат вашего центра (даже если это Let's Encrypt или внутренний корпоративный CA) установлен на клиентском компьютере в хранилище "Доверенные корневые центры сертификации".
  3. Соответствие имен: URL в атрибуте pubdst должен строго соответствовать имени (CN или SAN), указанному в сертификате. Если сертификат выдан на 1c.company.ru, а в пути указан IP-адрес, загрузка будет заблокирована из-за соображений безопасности.

Права доступа в операционной системе

Даже если файл успешно скачан, установка может завершиться ошибкой, если у пользователя недостаточно прав в Windows. Тонкий клиент пытается запустить msiexec для установки новой версии. Если пользователь работает под ограниченной учетной записью, система запросит пароль администратора.

Для решения этой проблемы в доменной среде рекомендуется использовать групповые политики (GPO) — задачи по поддержке пользователей удобнее решать через конфигурация для организации техподдержки и учета заявок. Рассмотрим параметр AlwaysInstallElevated. Если включить его в разделах конфигурации компьютера и пользователя, это позволит установщику Windows запускаться с повышенными правами для любых инсталляционных пакетов. Однако будьте осторожны, так как это может создать брешь в безопасности системы.

Использование файла 1cestart.cfg

Посмотрим на еще один инструмент управления — файл 1cestart.cfg, который находится в папке %AppData%\1C\1CEStart\ на компьютере пользователя. Мы можем прописать в нем параметр UpdateFrom, чтобы указать альтернативный источник обновлений.

Пример содержания файла:


InstalledLocation=C:\Program Files\1cv8
DefaultVersion=8.3.22.1709
UpdateFrom=http://server.com/distrib/thin.zip

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

Анализ ошибок и логирование

Если после всех настроек обновление всё равно не запускается, нам необходимо проанализировать логи — для этого есть мониторинг производительности и анализ технических ошибок 1С. Процесс установки оставляет следы в папке временных файлов пользователя. Перейдем в %TEMP% и найдем файлы с маской MSI*.log. В них будет зафиксирована причина отказа установщика (например, отсутствие прав или повреждение архива).

Также стоит проверить журналы самого веб-сервера (access.log в Apache или логи в IIS). Если в логах запросов к ZIP-файлу возвращается код 404 (не найдено) или 403 (запрещено), значит, проблема в путях или правах доступа на стороне сервера.

Подводя итог, можно сказать, что механизм автообновления 1С — это мощный инструмент, требующий филигранной настройки веб-окружения. Тщательная проверка MIME-типов, корректное заполнение default.vrd и внимание к SSL-сертификатам позволяют автоматизировать поддержку клиентских мест практически до нуля.

← На главную