среда, 29 июня 2016 г.

1С: Автоматическое обновление клиентского дистрибутива

Варианты развертывания системы

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

Если клиенты локальные, то может быть реализована схема установки и обновления с помощью административных средств windows (групповой политики, logon-скрипта). В этом случае при административной установке в каталог конфигурации conf помещается adminstall.cfg. В нем указано единственный параметр

AdmInstall=<Mode>
<Mode>
Logon – установка выполнена с помощью logon-скрипта во время входа пользователя в домен.
Restart – установка выполнена с помощью групповых политик.


Если при запуске ИБ не будет обнаружена требуемая версия клиента, будет предложено выполнить действие, указанное в этом параметре, т.е. повторный вход или перезагрузка системы. Обновление версии происходит logon-скриптом при входе пользователя в домен либо через групповую политику (предварительно администратор должен добавить новый дистрибутив в групповых политиках).
Обновление можно так же реализовать с помощью общего каталога дистрибутивов.
Для выполнения обновления системы в Win пользователю или группе (можно для группы Authenticated users) необходимо установить политику AlwaysInstallElevated для компьютера и пользователя.
Для того, чтобы получение дистрибутива обновления клиентского приложения работало необходимо чтобы клиент был запущен с ключом /AppAutoCheckVersion и программой запуска была разрешена установка AppAutoInstallLastVersion. 

Если помимо локальных есть удаленные клиенты, то обновление тонкого клиента происходит с помощью публикации каталога дистрибутивов. Об этом речь далее и идет.
Если версия клиента различается с версией сервера 1С или расширения веб-сервера, то поиск нужного дистрибутива при несовпадении версий происходит в следующем порядке:
  1. Поиск по локальным ресурсам, согласно параметру DistributiveLocation конфигурационных файлов 1cestart.cfg и 1cescmn.cfg
  2. Получение по ссылке из файла настроек default.vrd каталога веб сервера, элемент point атрибут pubdst или далее из conf.cfg (параметр PublishDistributiveLocation)
  3. Получение через Web-сервис. Для этого в настройках окна запуска указывается адрес сервиса публикации дистрибутива или в 1cestart.cfg параметр InternetService или WebDistributiveLocation

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


  1. Скачать дистрибутив тонкого клиента, переупаковать в zip
  2. На web-сервере создать виртуальный каталог, для которого установить MIME-тип для расширения zip в "application/zip"
  3. Опубликовать на веб сервере (атрибут pubdist или из интерфейса публикации в конфигураторе) в этот каталог

Создание и публикация web-сервиса обновления дистрибутива