Установка и обновление платформы на большом числе компьютеров через общий сетевой каталог

Обновлено: 08.07.2024

И так, какие же способы развертывания совего софта нам предлагает 1с?

1. Установка с помощью logon-скрипта

2. Установка, путем размещения в общем сетевом каталоге

3. Установка с помощью групповых политик

Первые два способа мы отвергаем, т.к. в данную статью рассмотрим именно установку с помощью групповых политик (GPO).

Ивформация на страницах 1С:ИТС которую нам предлагает производитель о развертывании своего продукта при помощи групповых политик, весьма скупа:

При установке через групповые политики для указания языка установки нужно указывать соответствующий языковой файл трансформации. Имена файлов соответствуют десятичному представлению LCID Microsoft Windows (с расширением.mst). Файл трансформации для русского языка называется 1049.mst.

Кроме этого, дополнительно нужно указать файл трансформации adminstallrestart.mst. В этом случае система «1С:Предприятие» при несовпадении версий клиента и сервера будет предлагать перезагрузку компьютера для установки новой версии. Администратор должен позаботиться, чтобы новый дистрибутив уже был добавлен в групповых политиках.

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

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

1049.mst – очевидна, а о adminstallrestart.mst не слишком полезна. Поэтому мы создадим свой файл транформации.
В первую очередь хотелось бы понять, как можно указать установщику, какие компоненты продукта мы хотим установить, а какие – нет? Не смотря на то, что документация от 1c в основном достаточно обширна и подробна, об этом почему-то не говориться ни слова. Но выйти из положения нам поможет logon-скрипт, который мы отвергли в самом начале. В скрипте мы можем увидеть следующие строки:

CmdLine = cmdLine & " DESIGNERALLCLIENTS=1 THINCLIENT=1 WEBSERVEREXT=0 SERVER=0 CONFREPOSSERVER=0 CONVERTER77=0 SERVERCLIENT=1 LANGUAGES=RU"

Где:
DESIGNERALLCLIENTS – все клиенты и конфигуратор.
THINCLIENT – тонкий клиент для клиент-серверного варианта работы.
THINCLIENTFILE – тонкий клиент с возможностью работы с файловыми информационными базами.
SERVER – сервер «1С:Предприятия». Если программа установки запускается из программы запуска, то сервер будет установлен как приложение.
WEBSERVEREXT – компоненты расширения для веб-сервера.
CONFREPOSSERVER – сервер хранилища конфигураций «1С:Предприятия».
SERVERCLIENT – компоненты для администрирования кластера серверов «1С:Предприятия».
CONVERTER77 – конвертер информационных баз из версии «1С:Предприятия 7.7».
LANGUAGES – список языков интерфейса для установки. Если указано несколько языков, они перечисляются через «,».

В этой строке скрипта формируется командная строка, которая будет передана на обработку установщику msiexec.

Необходимо перейти к таблице “Property”. Вправой части ищем строку “DEFLANGUAGE”, со значением “Auto”. Значение необходимо поменять на “RU” (Без кавычек конечно).

Для большенства пользователей необходимо установить минимум компонентов, это Тонкий клиент, Толстый клиент, и язык (например русский)
Поэтому создадим новые поля (Ctrl+R), где нужно указать имя и значение.
DESIGNERALLCLIENTS = 1
THINCLIENT = 1
THINCLIENTFILE = 1
SERVER = 0
WEBSERVEREXT = 0
CONFREPOSSERVER = 0
SERVERCLIENT = 0
CONVERTER77 = 0
LANGUAGES = RU

Т.е. Должно получится как на картинках:


Далее идем в меню “Transform” – “Generate Transform…”. Сохраняем файл, можно в папку с дистрибутивом, например Client.mst
На этом генерация файла транформации закончена.
Чтобы проверить установку, необходимо открыть программу “cmd”. Перейти в папку с дистрибутивом. И выполнить команду:
setup.exe /S TRANSFORMS=Client.mst TRANSFORMS =1049.mst
или
msiexec /i " " TRANSFORMS \Client.mst TRANSFORMS \1049.mst /passive

В первой команде параметр “/S” и во второй команде парамерт “/passive” означает, что установка будет прооходить в фоновом режиме.

После некоторого времени можно проверять. Должно установиться Толстый клиент, Тонкий клиент и русский интерфейс.

Далее нужно создать новую установку в групповых политиках домена.
Так же нужно создать общий каталог в вашей сети, где будут хранится установочные файлы. Проверить чтобы пользователи домена имели права чтения из этого каталога.
Открываем редактор GP. Создаем новую политику. Открываем её для редактирования. Переходим в раздел «Конфигурация компьютера» - «Установка программ».

Создаем новый пакет. Выбираем файл 1CEnterprise 8.2.msi, путь до файла необходимо указывать через сетевое окружение \\SRV\…..\1CEnterprise 8.msi, метод развертывания выбираем - особый, для того чтобы можно было внести модификации.

После создания пакета откроется окно свойств пакета.
Необходимо перейти на закладку «Модификации» и добавить файл трансформации для русского языка называется 1049.mst и файл трансформации Client.mst.

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

При установке или обновлении программы 1С Предприятие многие администраторы сталкиваются с невозможностью корректного выполнения этих заданий с помощью групповых политик. Наиболее распространена ошибка 1720:

Product: 1C:Enterprise 8.1 — Error 1720.There is a problem with this Windows Installer package. A script required for this install to complete could not be run. Contact your support personnel or package vendor. Custom action customDetectPrevVersion script error -2147467259, Msi API Error: ProductInfo,Product,Attribute Line 7, Column 5

Данная ошибка вызвана некорректной работой механизма обновления программы, то есть мы не можем выполнить установку свежего билда поверх установленной предыдущей версии.

Для выполнения обновления необходимо вручную отредактировать установочный файл msi до создания групповой политики. Для этого мы используем бесплатный инструмент компании Microsoft для редактирования файлов msi под названием Orca . Эта утилита входит в состав Microsoft Windows Software Development Kit (SDK) , а такжe её можно скачать отдельно .

  1. Скачиваем и устанавливаем Orca ;
  2. Открываем программой файл 1CEnterprise 8.1.msi
  3. Находим раздел «CustomAction » и в нем параметр «customDetectPrevVersion «. Удаляем этот параметр, сохраняем изменения;
  4. Копируем в общедоступную сетевую папку дистрибутив, который установлен на текущий момент (если мы обновляем билд) и новую версию 1С с измененным нами файлом msi. Копируем, естественно, в разные папки

Теперь нам необходимо создать групповую политику и создать в разделе «Установка программм » два пакета установки — старой (например 8.1.11)и новой (8.1.13) версий (рис.2).



Затем в свойствах пакета установки новой версии 1С нам необходимо указать, что данный пакет выполняет обновление старой версии 8.1.11 (рис.3). После назначения политики может потребоваться дополнительная перезагрузка компьютера, так как не синхронизированы удаление старой и установка новой версий ПО.


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

Установить платформу на каждый клиентский компьютер можно вручную.

Но тогда администратору придется обойти все компьютеры последовательно.
Если компьютеров 2-3, то это не проблема. Но если компьютеров десяток или больше, то такой процесс может затянуться.

Обновление платформы на клиентских компьютерах также будет проблемой.

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

Такой способ можно использовать, когда на клиентских компьютерах установлена ОС Windows.
Администратор располагает в общем сетевом каталоге дистрибутивы платформы и набор конфигурационных файлов.
Для обновления платформы необходимо только разместить новый дистрибутив платформы в общем каталоге.

Массовая установка и обновление 1С: 9 видео и PDF

Предлагаем посмотреть более детальные материалы:

Структура общего каталога

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

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

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

Действия на клиентском компьютере

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

Обновление платформы

В этом видео рассказывается, как правильно расположить в общем сетевом каталоге дистрибутив платформы нового релиза. Рассказывается, какие действия на клиентском компьютере нужно выполнить, чтобы произошло обновление платформы.

Конфигурационный файл, определяющий расположение общего сетевого каталога

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

Права доступа при установке платформы через общий сетевой каталог

В этом видео рассказывается о самой распространенной ошибке, возникающей при работе с общим сетевым каталогом.

Работа под пользователем без административных прав

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

Потенциальные проблемы с безопасностью при использовании политики AlwaysInstallElevated

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

И последний день стартовых скидок.

Этот курс позволит решать ВСЕ задачи по развертыванию и поддержке информационных систем на 1С.

Вот несколько тем из курса:

  • Установка и обновление платформы «1С:Предприятие 8» – ручная и автоматическая, под Windows и Linux
  • Автоматический запуск для выполнения регламентных операций
  • Обновление конфигураций из пользовательского режима
  • Обновление нетиповых конфигураций. Как избежать проблем при обновлении измененных типовых конфигураций
  • Создание собственных cfu-файлов поставки
  • Инструменты БСП : внешние формы, обработки заполнения документов и т.п.
  • Использование бесплатной СУБД PostgreSQL
  • Установка и запуск кластера серверов 1С:Предприятие 8
  • Утилита администрирования для настройки кластера и рабочих серверов
  • Настройка RLS на примере УПП 1.3 и ERP 2
  • Что делать, если данные в ИБ повреждены
  • Настройка обменов данными между конфигурациями
  • Организация групповой разработки
  • Настройка и использование аппаратных ключей защиты
  • Программные лицензии 1С : установка и привязка к внешнему оборудованию

Вам в любом случае когда-то придется разворачивать 1С, настраивать резервирование, права доступа, различные режимы запуска, тестировать целостность баз, обеспечивать работу серверов и т.д.

И лучше это сразу делать правильно.

Чтобы потом не было “…! Ну что за …! Твою же …!” – и прочих выражений сожаления:)

Навеяно недавним постом - «Управление списком баз 1С 8.2 с помощью Active Directory» , поделюсь альтернативным решением данной задачи:

  • без использования скриптов
  • без правки файлов 1С (ibases.v8i, 1CEStart.cfg)

Данный способ удобен только если пользователь работает с небольшим количеством баз 1С (от одной до десяти), так как он предполагает вынесение для каждой базы отдельного ярлыка на рабочий стол.

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


Создадим в AD группы для пользователей баз 1С:

Можно заметить, для запуска базы с другими параметрами (в данном случае в режиме толстого клиента) создается отдельная группа.

Создаем групповую политику, управляющую ярлыками пользователя:


К сожалению, для 1С еще не существует версии клиента для платформы х64, поэтому расположение клиента по умолчанию зависит от разрядности платформы. Для версии 1С 8.3 на 32-разрядной версии Windows клиент установлен в %ProgramFiles%\1cv8\common\1cestart.exe, а на 64-разрядной Windows - %ProgramFiles(x86)%\1cv8\common\1cestart.exe

Теперь более подробно рассмотрим создание каждого элемента.


На вкладке «Общие» зададим параметры подключения к базе, расположение ярлыка (в данном случае - рабочий стол). Пример создания ярлыка для платформы Win x64

Небольшое отступление для тех, кто только планирует переход с платформы 1С 8.2 на 8.3:


Во вкладке «Общие параметры» сделаем нацеливание нашего ярлыка на сделанные ранее группы AD:

Настройка для платформы Win x86:



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

P. S. Если у вас есть сотрудники, самостоятельно расставляющие ярлыки на рабочем столе , то этот способ доступа к базам лучше не использовать.

В этом варианте работы пользователь, в общем случае, взаимодействует с информационной базой по следующей схеме:


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

Пользователь запускает тонкого клиента. На компьютере пользователя исполняется код на встроенном языке в контексте клиента. На компьютере кластера серверов исполняется код в контексте сервера.

Развертывание, запуск и отладка

    , содержащую кластер серверов; , поддерживаемую платформой.


Предупреждение: При работе в ОС macOS возможен единственный вариант — с использованием кластера, существующего в локальной сети, т. к. кластер работает только под управлением операционных систем Windows и Linux.
    новую клиент-серверную базу; ее конфигурацию в новый проект; в проект нужные вам объекты конфигурации и алгоритмы; тонкого клиента, имитируя работу пользователя.

Для отладки в этом варианте работы требуется дополнительная настройка (подробнее).

Когда конфигурация готова, вы можете создать CF-файл конфигурации, DT-файл информационной базы, собрать их в комплект поставки и создать дистрибутив (подробнее).

Установка платформы «1С:Предприятие 8»

Для разных операционных систем минимальный набор компонентов следующий:

  • 1С:Предприятие (содержит конфигуратор и тонкого клиента);
  • Сервер 1С:Предприятия 8 .
  • common ;
  • client ;
  • server (т. к. client зависит от server ).
  • Подробнее в документации «1С:Предприятие 8.3. Клиент-серверный вариант. Руководство администратора»;


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

Для администрирования кластера (в любой операционной системе) начиная с версии платформы 8.3.15 вы можете использовать стандартную функцию Управление серверами . Она доступна в любом прикладном решении в режиме 1С:Предприятие — Главное меню > Все функции > Стандартные > Управление серверами . Возможная проблема: Если команда Все функции отсутствует, включите ее видимость — Главное меню > Настройки > Параметры. > Отображать команду «Все функции» .

В платформе 8.3.14 такая стандартная функция отсутствует, но вы можете использовать аналогичную универсальную обработку Управление серверами . Эту обработку можно запустить в любом прикладном решении.

Про администрирование кластера в более ранних версиях платформы вы можете прочитать в документации 1С:Предприятие 8.3. Клиент-серверный вариант. Руководство администратора.

Установка системы управления базами данных

Вам нужно будет установить одну из СУБД, работу с которыми поддерживает платформа «1С:Предприятие 8». Подробнее вы можете прочитать в документации «1С:Предприятие 8.3. Клиент-серверный вариант. Руководство администратора».

Другие варианты развертывания

Если в вашей локальной сети установлена подходящая СУБД, вы можете установить на своем компьютере только кластер серверов и не устанавливать СУБД. Информационную базу вы создадите в имеющейся СУБД.


В этом случае предметы отладки ( Тонкий клиент , Сервер ) будут исполняться на вашем компьютере.

Если в вашей локальной сети установлен кластер серверов «1С:Предприятия 8», вы можете не устанавливать на своем компьютере кластер и СУБД. Информационную базу вы создадите в имеющемся кластере.


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

Может Боян, может нет, но поиск мне ничего не дал. Данная статья посвящается тем, у кого многовато (5+) пользователей и нет домена. Для тех кто не хочет бегать по пользователям и обновлять платформу ручками, или через удалённое управление, облегчённые вариант – "побегать". Итак, приступим.

Для автоматического обновления платформы на клиенте, в сети необходимо создать общий ресурс \\server\СписокБаз.

8.2.14.XXX - папки с дистрибутивом платформы.

ALL.v8i – файл содержащий список баз.

*. Epf – Файлы отчётов и обработок необходимые при старте системы.

1CESCmn.cfg – содержащий параметры запуска.

1cestart.exe - запускающий файл

Запуск 1с8 ярлык для пользователя

  1. Для автоматического обновления платформы на клиентской машине необходим запуск файла 1cestart.exe из каталога \\server\СписокБаз (ярлык на раб столе у пользователя) Необходимо скопировать ярлык «Запуск 1с8» на раб стол пользователя.
  2. Размещения нового дистрибутива платформы в папках со строгим названием формата 8.2.14.XXX. Необходимо, чтобы было как минимум 2 дистрибутива, остальные можно удалять.
  3. Необходимо удалить из файла «ibases.v8i» по адресу %Пользователь\AppData\Roaming\1C\1CEStart базы, которые содержатся в файле ALL.v8i или удалить название и пути баз в списке баз пользователя совпадающие с файлом ALL.v8i, иначе выдаст ошибку «не уникальное имя базы».

Так же появилось возможность заменить расположение и количество баз у всех пользователей, для этого необходимо внести изменения в файл со списком баз ALL.v8i

Примечание: обновление платформы происходит в принудительном режиме, без дополнительных вопросов в автоматическом режиме и в зависимости от настроек 1CESCmn.cfg, будет происходит установка толстого или любого другого клиента.

Открываем, можно блокнотом, файл 1CESCmn.cfg и конфигурируем его.

Возможны следующие компоненты:

  • DESIGNERALLCLIENTS — все клиенты и конфигуратор.
  • THINCLIENT — тонкий клиент для клиент-серверного варианта работы.
  • THINCLIENTFILE — тонкий клиент с возможностью работы с файловыми информационными базами.
  • SERVER — сервер 1С:Предприятия. Если программа установки запускается из программы запуска, то сервер будет установлен как приложение.
  • WEBSERVEREXT — компоненты расширения для веб-сервера.
  • CONFREPOSSERVER — сервер хранилища конфигураций 1С:Предприятия.
  • SERVERCLIENT — компоненты для администрирования кластера серверов 1С:Предприятия.
  • CONVERTER77 — конвертер информационных баз из версии 1С:Предприятия 7.7.
  • LANGUAGES — список языков интерфейса для установки. Если указано несколько языков, они перечисляются через «,». Перечень кодов языков локализации см. здесь.

InstallComponents=DESIGNERALLCLIENTS=1 THINCLIENTFILE=0 THINCLIENT=0 WEBSERVEREXT=0 SERVER=0 CONFREPOSSERVER=0 CONVERTER77=0 SERVERCLIENT=0 LANGUAGES=RU

По идее,после этих настроек, обновление клиентов закончится тем, что вы просто кладёте в папку \\server\СписокБаз\ следующий дистрибутив 8.2.14.540

И всё, клиент при запуске ярлычка Запуск 1с8 ярлык ( \\server\СписокБаз \1cestart.exe) смотрит есть ли обновление, если есть то инсталлирует его без дополнительных вопросов в соответствии с настройками конфигурационного файла и вуаля – новая платформа стоит. А если изменились названия баз или пути, то достаточно заменить файл ALL.v8i, на новый. Можно пойти дальше, например, ели разные отделы юзают разные базы, то можно по каталогам разграничить. В принципе, это всё дело описано в книжках по администрированию, но почему-то юзают это единицы…

PS:Ценное дополнение внёс пользователь Spartan:

При административной установке на компьютере пользователя локально создается файл 1CEStart.cfg, в котором указывается путь к общему файлу настроек 1CEStart.cfg в сетевом каталоге (параметр CommonCfgLocation), а в общем конфигурационном файле уже указан порядок обновления платформы. Поэтому специально ярлык к сетевому 1cestart.exe не нужен. По ярлыку, создаваемому платформой, все обновится. Главное, первый раз запустить установку с помощью сетевого 1cestart.exe.
Если у пользователя нет админских прав и не используются домены, необходимо установить политику AlwaysInstallElevated для компьютера и пользователя. Для этого: выполнить команду «gpedit.msc», в открывшейся консоли «Групповая политика» перейти к разделу «Конфигурация компьютера\Административные шаблоны\Компоненты Windows\Установщик Windows». В данном разделе включить параметр «Всегда производить установку с повышенными привелегиями». Этот же параметр необходимо включить в разделе «Конфигурация пользователя\Административные шаблоны\Компоненты Windows\Установщик Windows». Данный порядок используется для ХР, но в других ОС от мелкомягких принцип, думаю, тот же.

Также Интересное дополнение внес пользователь " iiceberg":

Возникла Проблема при организации автообновления. Система безопасности Винды 7 требовала каждый раз подтверждения на запуск.
см. рис.1
нашел решение данной проблемы в сети
см. рис 2

  1. Простота настройки
  2. Простота использования
  1. Нельзя установить 64-битные дистрибутивы
  2. Нет автоматического удаления старого дистрибутива
  3. Нужны права локального админа у пользователей

1) Подготовка на сервере

1.1) Общедоступный каталог на сервере \\server\bases:


Конфигурационный файл 1CESCmn.cfg (полное описание формата):
DistributiveLocation= \\server\bases\
InstalledLocation=C:\Program Files\1cv8
InstallComponents=DESIGNERALLCLIENTS=1 THINCLIENTFILE=0 THINCLIENT=0 WEBSERVEREXT=0 SERVER=0 CONFREPOSSERVER=0 CONVERTER77=0 SERVERCLIENT=0 LANGUAGES=RU
CommonInfoBases= \\server\bases\common_bases.v8i
UseHWLicenses=0

Расшифровка параметра InstallComponents:
DESIGNERALLCLIENTS — все клиенты и конфигуратор.
THINCLIENT — тонкий клиент для клиент-серверного варианта работы.
THINCLIENTFILE — тонкий клиент с возможностью работы с файловыми информационными базами.
SERVER — сервер 1С:Предприятия. Если программа установки запускается из программы запуска, то сервер будет установлен как приложение.
WEBSERVEREXT — компоненты расширения для веб-сервера.
CONFREPOSSERVER — сервер хранилища конфигураций 1С:Предприятия.
SERVERCLIENT — компоненты для администрирования кластера серверов 1С:Предприятия.
CONVERTER77 — конвертер информационных баз из версии 1С:Предприятия 7.7.
LANGUAGES — список языков интерфейса для установки. Если указано несколько языков, они перечисляются через «,».

1.2) Примечания (не проверял лично):

2) Подготовка на клиенте
2.1) Запустить \\server\bases\1cestart.exe (единственный раз, чтобы обновился локальный конфиг. файл). Если в \\server\bases лежит какая-либо более новая версия платформы, чем установлена локально, то запустится установка, иначе просто клиент 1С

2.2) В локальном конфиг. файле (User\AppData\Roaming\1C\1CEStart\1CEStart.cfg) добавятся следующие параметры:

3) Как будет работать

1) Просто кладем в папку \\server\bases\ новый дистрибутив 8.3.y.y
2) Клиент при запуске смотрит есть ли обновление в \\server\bases\, если есть устанавливает его без дополнительных вопросов в соответствии с настройками конфигурационного файла

Читайте также: