Новая версия платформы на сервере, а клиент старый: что делать

· 9 мин

Содержание

Чтобы обновить тонкий клиент 1С, установите на компьютер пользователя ту же версию платформы, что стоит на сервере 1С (или на веб-сервере с публикацией), до последней цифры: например, 8.3.25.1445 на сервере — 8.3.25.1445 у клиента. Старую версию удалять не обязательно: стартер 1cestart.exe сам выберет подходящую.

Обычно об обновлении вспоминают, когда утром база не открывается с сообщением о разных версиях клиента и сервера. Чаще всего хватает поставить новую версию рядом со старой. Сложности начинаются, когда у пользователей нет прав администратора, а база опубликована на IIS — эти случаи тоже разобраны.

Подготовка: какую версию тонкого клиента ставить

Тонкий клиент — это исполняемый файл 1cv8c.exe из состава платформы. Он лежит в папке конкретной версии, например C:\Program Files\1cv8\8.3.25.1445\bin\1cv8c.exe. На одном компьютере могут стоять несколько версий рядом, они друг другу не мешают.

Главное правило одно: версия клиента должна совпадать с версией сервера полностью, все четыре числа. Совпадения по 8.3.25 недостаточно.

Как узнать версию сервера:

  • 🖥️ на сервере 1С откройте C:\Program Files\1cv8\ — там папки с номерами версий; рабочая та, что указана в пути к службе «Агент сервера 1С:Предприятия» (свойства службы в services.msc);
  • 🌐 для веб-публикации версия видна в пути к модулю расширения веб-сервера (об этом ниже, в разделе про IIS);
  • 👤 у пользователя, у которого база уже открывается: меню с «гамбургером» в заголовке окна → Справка → О программе.

Как узнать, что стоит у клиента: загляните в C:\Program Files\1cv8\ (64-битные версии) и C:\Program Files (x86)\1cv8\ (32-битные). Каждая папка с номером — установленная версия.

Ещё один момент подготовки — разрядность. Тонкий клиент бывает 32- и 64-битный. Для работы с базой разницы нет, но 64-битный лучше справляется с большими отчётами. Если в компании пользуются внешними компонентами (драйверы торгового оборудования, старые COM-объекты), проверьте, что они есть в нужной разрядности.

Способ 1. Автоматическое обновление при запуске базы

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

Откуда берётся дистрибутив, зависит от способа подключения.

ПодключениеОткуда клиент берёт новую версиюЧто настроить
Через веб-сервер (http://…)Адрес из атрибута pubdst в файле default.vrd публикацииВыложить дистрибутив тонкого клиента и прописать адрес
Напрямую к серверу 1С (Srvr=…)Только локально установленные версииПоставить версию заранее (способ 2 или тихая установка)
Файловая базаСтартер берёт версию из настроек списка базУказать версию в свойствах базы

Как настроить загрузку с веб-публикации

  1. Скачайте дистрибутив тонкого клиента той версии, что стоит на веб-сервере, с портала поддержки 1С (нужен действующий договор ИТС).
  2. Распакуйте его в каталог, доступный по HTTP, например рядом с публикацией.
  3. Откройте файл default.vrd в каталоге публикации и добавьте в элемент point атрибут pubdst с адресом этого каталога.
  4. Перезапустите пул приложений IIS или службу Apache, чтобы публикация перечитала настройки.
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
       base="/buh"
       ib="Srvr=&quot;srv1c&quot;;Ref=&quot;buh&quot;;"
       pubdst="http://srv-web/distr/thinclient/">
</point>

Повторная публикация из Конфигуратора перезаписывает default.vrd. Ручную правку с pubdst после неё нужно вернуть — держите копию файла.

Ограничение у автообновления одно, но частое: установка в Program Files требует прав администратора. Если пользователь работает без них, загрузка начнётся, а установка остановится на запросе UAC. Как это обойти, разобрано в разделе про права.

Версия базы в списке баз

В окне запуска у каждой базы есть свойство «Версия 1С:Предприятия». Откройте Изменить → Далее и посмотрите, что указано в последнем шаге мастера.

  • 8.3 — стартер возьмёт самую новую установленную версию ветки 8.3;
  • 8.3.25 — самую новую из 8.3.25;
  • 8.3.25.1445 — строго эту версию.

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

Способ 2. Ручная установка новой версии тонкого клиента

Самый надёжный вариант для одного-двух компьютеров.

  1. Скачайте дистрибутив нужной версии. Для пользователей хватит пакета «Тонкий клиент»; полный пакет «Технологическая платформа» тоже подойдёт — при установке отметьте только компонент тонкого клиента.
  2. Распакуйте архив и запустите setup.exe от имени администратора.
  3. В списке компонентов оставьте «Тонкий клиент». Конфигуратор и сервер пользователю не нужны.
  4. Язык интерфейса — русский, драйвер защиты (HASP) ставьте, только если лицензии на ключах.
  5. Дождитесь окончания и запустите базу из окна запуска.

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

Тихая установка на много компьютеров

Для развёртывания через групповые политики или скрипт используйте MSI-пакет из дистрибутива. Имя файла .msi смотрите в распакованном архиве — оно зависит от разрядности и пакета.

@echo off
rem Тихая установка тонкого клиента из сетевой папки
set DISTR=\\fileserver\distr\1c\8.3.25.1445
msiexec /i "%DISTR%\<имя пакета>.msi" /qn /norestart /l*v "%TEMP%\1c_install.log"
if %errorlevel% neq 0 echo Установка завершилась с кодом %errorlevel%, смотрите журнал %TEMP%\1c_install.log

Ключ /qn убирает окна установщика, /l*v пишет подробный журнал — он пригодится, если что-то пошло не так.

Не запускайте установку на компьютере, где в эту минуту открыта 1С. Установщик может потребовать перезагрузку или не заменить файлы, которые заняты процессом.

Очистка кэша после обновления тонкого клиента

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

Где лежит кэш:

  • 📁 %APPDATA%\1C\1cv8\ — папки с длинными именами-идентификаторами, по одной на каждую базу;
  • 📁 %LOCALAPPDATA%\1C\1cv8\ — тоже кэш, его чистят вместе с первой папкой.

Способы очистки, от мягкого к жёсткому:

  1. Параметр запуска. В свойствах базы в окне запуска, в поле дополнительных параметров, добавьте /ClearCache. Клиент очистит кэш этой базы при следующем входе. Потом параметр уберите, иначе база будет каждый раз загружаться дольше.
  2. Ручное удаление. Закройте все окна 1С, затем удалите папки с идентификаторами в обоих каталогах выше.
  3. Удаление всего каталога 1cv8. Крайний вариант — вместе с кэшем пропадут сохранённые настройки окна запуска.

Список баз хранится в файле %APPDATA%\1C\1CEStart\ibases.v8i. Перед ручной чисткой скопируйте его в надёжное место — если случайно удалить, пользователь останется без списка баз.

Кэш на клиенте — это не данные базы. Документы и справочники от его удаления не пострадают, пострадает только скорость первого запуска: конфигурация загрузится с сервера заново.

Права доступа и реестр при установке

Обычная беда в компаниях, где пользователи работают без прав администратора: автообновление скачивает дистрибутив и останавливается.

Что можно сделать:

ВариантКак работаетМинусы
Развёртывание через групповые политикиMSI-пакет ставится от имени системы при загрузке компьютераНужен домен и время на настройку политики
Скрипт в планировщике от имени SYSTEMТот же msiexec /qn по расписаниюНужно следить, чтобы версия в скрипте была актуальной
Администратор ставит вручнуюПодключение удалённо и установкаНе масштабируется

Политику Windows AlwaysInstallElevated, которую советуют на форумах, не включайте. Она разрешает любому пользователю ставить любые MSI-пакеты с правами системы — это дыра в безопасности, а не настройка для 1С.

Где искать следы установки в реестре:

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall — записи об установленных версиях 64-битной платформы;
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall — то же для 32-битной.

Если версия «стоит» по реестру, но папки в Program Files нет, установщик откажется ставить её заново. Удалите версию через «Программы и компоненты» (или командой msiexec /x с кодом продукта из этой записи), затем установите снова.

Пользователю для работы нужны права на запись в свои %APPDATA%\1C и %LOCALAPPDATA%\1C. Если их урезали политиками, тонкий клиент не сможет сохранить кэш и настройки — база откроется с ошибкой или будет загружаться заново при каждом входе.

Выбор версии по умолчанию

Стартер читает файл 1cestart.cfg: для одного пользователя — в %APPDATA%\1C\1CEStart\, для всех — в %ALLUSERSPROFILE%\1C\1CEStart\. Строка DefaultVersion задаёт версию, которую стартер берёт, если в свойствах базы версия не указана.

DefaultVersion=8.3.25.1445

Обновление клиента для базы, опубликованной на IIS

Когда пользователи подключаются по адресу http://…, версия определяется модулем расширения веб-сервера. Для IIS это wsisapi.dll, для Apache 2.4 — wsap24.dll. Модуль лежит в папке bin конкретной версии платформы на веб-сервере.

Порядок обновления:

  1. Установите на веб-сервер новую версию платформы с компонентом «Модули расширения веб-сервера» той же версии, что и сервер 1С.
  2. Обновите публикацию: запустите Конфигуратор новой версии от имени администратора и откройте Администрирование → Публикация на веб-сервере. Нажмите «Опубликовать» для существующей публикации — путь к обработчику перепишется на новую версию.
  3. Проверьте в диспетчере IIS, в «Сопоставлениях обработчиков» сайта, что путь к wsisapi.dll ведёт в папку новой версии.
  4. Перезапустите пул приложений.
  5. Обновите тонкие клиенты у пользователей — вручную или через pubdst.

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

Разрядность модуля должна совпадать с разрядностью пула приложений. 32-битный wsisapi.dll работает только в пуле, где в дополнительных параметрах включено «Разрешены 32-разрядные приложения». Ставите 64-битный модуль — этот параметр выключите.

Если тонкий клиент не запускается после обновления

Сначала проверьте текст ошибки. По нему почти всегда понятно, в какую сторону копать.

Диагностика: выберите симптом

Если не помогло

  • 🔁 Удалите проблемную версию через «Программы и компоненты» и поставьте заново из свежескачанного дистрибутива: битый архив — частая скрытая причина.
  • 🧪 Создайте новую запись базы в окне запуска с нуля. Если с ней всё работает, дело в настройках старой записи.
  • 👥 Зайдите под другой учётной записью Windows. Если там база открывается, проблема в профиле пользователя: кэш, права, 1cestart.cfg.
  • 🛡️ Временно добавьте папку C:\Program Files\1cv8\ в исключения антивируса. Некоторые антивирусы блокируют распаковку 1cv8c.exe при установке.

Частые вопросы

Нужно ли удалять старую версию тонкого клиента перед установкой новой?
Нет. Версии ставятся в разные папки и работают параллельно. Удаляйте старые, когда все базы переведены на новую.
Можно ли обновить тонкий клиент без прав администратора?
Установка в Program Files требует прав администратора. Без них нужен администратор, групповая политика или скрипт от имени системы.
Обновится ли тонкий клиент сам, если сервер 1С обновили?
При подключении через веб-публикацию с настроенным pubdst клиент предложит скачать новую версию. При прямом подключении к серверу нужную версию ставят заранее.
Что будет с данными, если очистить кэш?
Ничего. В кэше только копия конфигурации и служебные файлы, данные базы хранятся на сервере. Первый запуск после очистки будет дольше.
Нужно ли обновлять конфигурацию вместе с тонким клиентом?
Нет, это разные вещи. Тонкий клиент — часть платформы, конфигурация (Бухгалтерия, ЗУП) обновляется отдельно. Новые релизы конфигураций иногда требуют версию платформы не ниже указанной в описании релиза.