Настройка автоматического обновления тонкого клиента «1С:Предприятие 8.3» — это отличный способ избавить системного администратора от рутинного обхода рабочих мест пользователей при каждом выходе нового релиза платформы. Однако на практике этот процесс часто омрачается непредвиденными сбоями. Пользователи сталкиваются с тем, что обновление запускается, доходит до середины, после чего процесс прерывается и система выдает критическую ошибку о несоответствии версий клиента и сервера.
В этой статье мы подробно разберем, как устроен механизм автоматического обновления тонкого клиента, проанализируем основные причины сбоев при интеграции с веб-серверами Apache и IIS, а также выясним, как решить проблему с правами локального администратора на рабочих станциях.
Для начала снимем популярное заблуждение, которое часто встречается на форумах. Существует мнение, что автоматическое обновление платформы — это эксклюзивная функция лицензий КОРП, а на лицензиях ПРОФ она работать не будет. Это верно лишь отчасти.
Штатный механизм автоматического обновления силами самого сервера «1С:Предприятия» (когда тонкие клиенты подключаются напрямую по протоколу TCP/IP через порт 1541) действительно требует наличия лицензий уровня КОРП. Если у вас лицензии ПРОФ, то при попытке обновиться напрямую через сервер система выдаст ошибку.
Однако для владельцев лицензий ПРОФ существуют абсолютно легальные альтернативные пути, которые не нарушают лицензионную политику фирмы «1С»:
1cestart.cfg или 1cescmn.cfg с помощью параметра DistributiveLocation.Ниже мы подробно рассмотрим самый популярный и универсальный способ — публикацию дистрибутивов на веб-сервере.
Если процесс обновления инициируется (пользователь видит диалоговое окно с предложением обновиться), но затем аварийно завершается, проблема кроется в технических нюансах настройки веб-сервера или самого архива с дистрибутивом. Рассмотрим основные причины.
Это одна из самых частых ошибок системных администраторов. Программа запуска 1cestart.exe ожидает получить «плоский» архив. Это значит, что внутри zip-файла не должно быть вложенных папок.
Разберем, как правильно подготовить архив:
setup.exe, 1CEnterprise 8.msi и сопутствующие файлы) во временную папку.windows_8_3_23_1688/setup.exe), то загрузчик 1С скачает архив, распакует его, не найдет исполняемых файлов в корне и аварийно завершит работу, выдав ошибку несовместимости версий.Если при использовании Apache все работает «из коробки», то веб-сервер IIS от Microsoft по умолчанию заблокирует скачивание файлов с неизвестными расширениями. Из-за этого тонкий клиент мгновенно выдает ошибку о несоответствии версий, даже не пытаясь начать загрузку (так как сервер возвращает ошибку HTTP 404 или 403).
Чтобы исправить это, нам необходимо явно разрешить IIS отдавать ZIP-архивы. Выполним настройку по шагам:
.zipapplication/zip (или application/x-zip-compressed)Если вы хотите настроить это через файл конфигурации web.config в папке с дистрибутивами, добавьте в него следующий блок кода:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<staticContent>
<mimeMap fileExtension=".zip" mimeType="application/zip" />
</staticContent>
</system.webServer>
</configuration>
Также в IIS следует проверить настройки фильтрации запросов (Request Filtering). По умолчанию IIS может накладывать ограничение на максимальный размер скачиваемого файла (обычно около 30 МБ). Если ваш ZIP-архив с тонким клиентом весит больше, веб-сервер оборвет загрузку на середине. Увеличьте параметр maxAllowedContentLength в настройках фильтрации запросов.
При настройке веб-сервера Apache администраторы часто копируют старые инструкции из интернета, написанные для версии Apache 2.2. Например, использование директив Order allow,deny и Allow from All в Apache 2.4 приведет к ошибке разбора конфигурации или к полной блокировке доступа к каталогу.
Проанализируем правильный вариант настройки каталога с дистрибутивами в файле httpd.conf для Apache 2.4:
Alias /distrib "C:/Distr1C"
<Directory "C:/Distr1C">
Options Indexes FollowSymLinks Includes
AllowOverride All
Require all granted
</Directory>
Использование директивы Require all granted гарантирует, что у тонкого клиента не возникнет проблем с доступом к скачиванию файлов по HTTP.
Даже если веб-сервер настроен идеально и архив скачивается без ошибок, процесс установки может прерваться из-за отсутствия у пользователя прав локального администратора на компьютере. Рассмотрим три рабочих сценария решения этой проблемы.
Современные версии платформы «1С:Предприятие 8.3» умеют устанавливаться без прав администратора. Для этого инсталлятор разворачивает файлы не в стандартный каталог C:\Program Files, а в личную папку пользователя — %LOCALAPPDATA%\Programs\1cv8.
Если при первой установке тонкого клиента на компьютере пользователя запустить программу установки и выбрать вариант установки «Для текущего пользователя», то все последующие автоматические обновления будут проходить под учетной записью обычного пользователя без каких-либо запросов прав администратора (UAC).
Если вам обязательно нужно, чтобы платформа устанавливалась в Program Files, системный администратор домена может настроить групповую политику AlwaysInstallElevated. Это заставит службу Windows Installer (MSI) выполнять установку пакетов с правами системы (SYSTEM).
Эта политика настраивается в редакторе GPO в двух ветках:
Если ранее на компьютерах пользователей тонкий клиент устанавливался централизованно (например, через GPO в домене или с помощью скриптов), в каталоге конфигов 1С (обычно это C:\Program Files\1cv8\conf) мог остаться файл adminstall.cfg.
Этот файл принудительно блокирует любые попытки интерактивного обновления платформы силами самого пользователя, перенаправляя его к системному администратору. Если вы хотите перейти на схему автоматического обновления через веб-сервер, этот файл необходимо удалить с клиентских машин.
Место, где прописывается ссылка на скачивание дистрибутива, напрямую зависит от того, как именно тонкий клиент подключается к информационной базе:
В этом случае адрес каталога обновлений прописывается в файле публикации базы default.vrd на веб-сервере. Используются параметры pubdst (для 32-битных систем) и pubdstwin64 (для 64-битных систем):
<point enable="true"
schema="http://tempuri.org/connector"
pubdst="http://myserver/distrib/x86/distr.zip"
pubdstwin64="http://myserver/distrib/x64/distr.zip"/>
В этом сценарии адрес загрузки дистрибутивов должен быть прописан в файле конфигурации conf.cfg на стороне самого сервера «1С:Предприятия» (в каталоге C:\Program Files\1cv8\conf сервера). Используются параметры PublishDistributiveLocationWindows32 и PublishDistributiveLocationWindows64:
PublishDistributiveLocationWindows32=http://myserver/distrib/x86/distr.zip
PublishDistributiveLocationWindows64=http://myserver/distrib/x64/distr.zip
Начиная с современных релизов платформы (с версии 8.3.26), разработчики 1С значительно улучшили пользовательский опыт, добавив «тихий» режим обновления тонкого клиента по протоколу HTTP.
Раньше при несоответствии версий у пользователя обязательно прерывался рабочий процесс и всплывало модальное окно с выбором действий («Обновить», «Запустить веб-клиент», «Отмена»). Это пугало пользователей и генерировало лавину обращений в техподдержку.
Теперь, если на веб-сервере опубликован новый дистрибутив, система может скачать его незаметно в фоновом режиме. При следующем запуске базы тонкий клиент автоматически и бесшумно установит обновление за несколько секунд, после чего сразу откроет интерфейс программы, минимизируя простои в работе пользователей.