Начиная с версии платформы 8.3.1, компания 1С реализовала механизм, позволяющий пользователям автоматически получать актуальную версию тонкого клиента при подключении к информационной базе через веб-сервер. Это избавляет системных администраторов от необходимости вручную обновлять платформу на каждом рабочем месте, что особенно актуально для удаленных сотрудников и филиалов — поможет инструмент централизованного администрирования и автоматизации установки программ. Однако на практике настройка этого механизма часто вызывает затруднения. В этой статье мы подробно разберем все этапы конфигурации, рассмотрим типовые ошибки и выясним, как заставить автообновление работать стабильно.
Прежде всего, проанализируем, как происходит взаимодействие клиента и сервера. Когда пользователь запускает тонкий клиент и пытается подключиться к базе, опубликованной на веб-сервере, система проверяет соответствие версий — для контроля сессий пригодится система управления кластерами серверов и сеансами 1С. Если версия клиентского приложения ниже версии сервера, платформа инициирует процесс загрузки дистрибутива. Для этого в файле публикации default.vrd должен быть указан путь к архиву с новой версией. Клиент скачивает архив, распаковывает его и запускает установку.
Первым делом нам необходимо подготовить сам файл, который будет скачиваться пользователями. Разберем требования к этому архиву:
setup.exe, 1CEnterprise 8 Thin client.msi и сопутствующих файлов .cab и .mst. Не стоит упаковывать туда полный дистрибутив платформы, так как он слишком велик; достаточно именно дистрибутива тонкого клиента.thin_8_3_22_1709.zip.Важно: Если ваши пользователи используют разные архитектуры (x86 и x64), помните, что атрибут публикации поддерживает указание только одного файла. Обычно рекомендуется публиковать 32-битный клиент, так как он универсален, либо создавать разные публикации для разных групп пользователей.
Теперь рассмотрим, как указать системе, где именно лежит наш дистрибутив. При публикации информационной базы через конфигуратор или утилиту webinst, на веб-сервере создается файл default.vrd. Нам нужно отредактировать элемент point, добавив или изменив атрибут pubdst (Public Distribution).
Проанализируем пример структуры файла default.vrd:
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
base="/MyBase"
ib="Srvr="MyServer";Ref="MyBase";"
pubdst="https://myserver.com/distrib/thin_8_3_22.zip">
<standardOdata enable="false"/>
</point>
Обратите внимание на значение pubdst. Мы выяснили, что наиболее надежный способ — указывать полный URL-адрес к ZIP-файлу, доступный извне. Использование локальных путей (типа C:\distr\...) часто приводит к ошибкам, так как клиентское приложение не всегда может корректно интерпретировать права доступа к файловой системе сервера через протокол HTTP.
Одной из самых частых причин, по которой "градусник" загрузки мелькает и исчезает, является неправильная настройка типов данных на сервере IIS. По умолчанию IIS может отдавать файлы .zip с типом application/x-zip-compressed, в то время как тонкий клиент 1С ожидает строго application/zip.
Выполним следующие шаги для настройки IIS:
.zip. Если оно имеет значение application/x-zip-compressed, необходимо изменить его на application/zip.После этого веб-сервер будет корректно сообщать клиенту тип передаваемого файла, и загрузка не будет обрываться.
Для пользователей 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-шифрования, мы сталкиваемся с дополнительными требованиями к безопасности. Платформа 1С крайне чувствительна к валидности сертификатов при скачивании обновлений.
Разберем основные причины неудач при использовании HTTPS:
pubdst должен строго соответствовать имени (CN или SAN), указанному в сертификате. Если сертификат выдан на 1c.company.ru, а в пути указан IP-адрес, загрузка будет заблокирована из-за соображений безопасности.Даже если файл успешно скачан, установка может завершиться ошибкой, если у пользователя недостаточно прав в Windows. Тонкий клиент пытается запустить msiexec для установки новой версии. Если пользователь работает под ограниченной учетной записью, система запросит пароль администратора.
Для решения этой проблемы в доменной среде рекомендуется использовать групповые политики (GPO) — задачи по поддержке пользователей удобнее решать через конфигурация для организации техподдержки и учета заявок. Рассмотрим параметр AlwaysInstallElevated. Если включить его в разделах конфигурации компьютера и пользователя, это позволит установщику Windows запускаться с повышенными правами для любых инсталляционных пакетов. Однако будьте осторожны, так как это может создать брешь в безопасности системы.
Посмотрим на еще один инструмент управления — файл 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-сертификатам позволяют автоматизировать поддержку клиентских мест практически до нуля.