Установка 1С 8.3 в корпоративной среде при помощи групповых политик

13.08.14

База данных - Инструменты администратора БД

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

Итак, какие же способы развертывания своего софта нам предлагает 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.

Чтобы создать файл трансформации, нам потребуется редактор «Orca».  (http://www.technipages.com/download-orca-msi-editor)
И так, после установки запускаем программу. “Файл” – “Открыть”, и выбираем “1CEnterprise 8.msi” из дистрибутива 1С. В левой части программы появился список таблиц, в правой значения таблиц. Т.к. сам 1С не рекомендует менять msi-пакет, поэтому идем в меню “Transform” – “New Transform”.

Необходимо перейти к таблице “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 необходимо создать такую группу и поместить туда компьютеры, для которых предполагается установка.
 

См. также

Ускоренное проведение документов (x4), устранение ошибок 60/62 счетов и зачет авансов (Бухгалтерия 3.0)

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    28838    86    149    

61

Конфигурация Session Monitor

Мониторинг Инструменты администратора БД Платформа 1С v8.3 Россия Платные (руб)

Конфигурация Session Monitor предназначена для мониторинга сервера 1С с целью отслеживания чрезмерной нагрузки от конкретных сеансов и скорости реакции рабочих процессов.

1500 руб.

01.12.2020    14606    36    0    

51

Хранилище файлов на SQL

Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Управленческий учет Платные (руб)

Привязка файлов / сканов к объектам 1С с сохранением их на SQL-сервере

12000 руб.

09.10.2019    11417    5    8    

9

Подсистема хранения картинок во внешних файлах для УТ 10.3

Инструменты администратора БД Платформа 1С v8.3 1С:Управление торговлей 10 Управленческий учет Абонемент ($m)

Решение позволит вам хранить файлы и картинки вне базы данных, для более лучшей компактности вашей базы данных

10 стартмани

11.08.2021    8077    0    alnovin    7    

2

Доп. панель Alt+Z

Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Панель, вызываемая для объекта комбинацией клавиш Alt+Z (для документа, справочника, плана вида характеристик, плана счетов и т.д.). Возможности: Редактор всех реквизитов, таблиц и движений, Анализ прав к объекту, Поиск ссылок на объект с фильтрами, Сторно движений документа, Выгрузка/загрузка текущего объекта между базами. Подключается как Расширение.

1 стартмани

24.06.2021    21321    195    sapervodichka    74    

170

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

Инструменты администратора БД Платформа 1С v8.3 Бухгалтерский учет Конфигурации 1cv8 Бухгалтерский учет Абонемент ($m)

Немного переделанная стандартная обработка «Проведение документов», контролирует проводки документов и если они изменились — сообщает об этом.

1 стартмани

05.06.2021    13247    22    AnryMc    0    

12

Легкий способ регистрации библиотеки COMCNTR.DLL (для COM-соединения)

Инструменты администратора БД Платформа 1С v8.3 Бесплатно (free)

Устали от командных строк, нюансов с разрядностью 32х/64х или ручного создания V83COMConnector в службе компонентов? Предлагаю простой способ регистрации библиотеки COMCNTR.DLL.

22.12.2020    97011    vakrikun    32    

113

Оптимизация размера изображений из присоединенных файлов УТ 11.4

Инструменты администратора БД Платформа 1С v8.3 1С:Управление торговлей 11 Россия Абонемент ($m)

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

5 стартмани

10.07.2020    19370    34    Neti    9    

17
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. smilebringer 14.08.14 17:19 Сейчас в теме
Проверить чтобы пользователи домена имели права чтения из этого каталога (с).

Права на чтение должны быть не у пользователей, а у компьютеров пользователей. Так как групповая политика установка программ выполняется от имени компьютера, до загрузки окна авторизации пользователя
nnstepan; mykmykpet; +2 Ответить
2. Dragonim 140 20.08.14 06:09 Сейчас в теме
Моя практика работы показала, что установка через logon-скрипт быстрее и проще. Всё упирается в сложность обновления платформы на сервере, а следовательно на клиентских компьютерах.
1. logon-скрипт позволяет удалять старые версии 1С Предприятия, в отличии от групповой политики.
2. Для работы logon-скрипта в нём необходимо поменять 4 стоки, уникальный код устанавливаемой конфигурации + путь до неё, и уникальный код удаляемой версии + путь до неё, а в случае с групповой политикой вам каждый раз придется проделывать всё описанное в статье.
3. Если руки растут из плеч, то можно доработать logon-скрипт для необходимого вам логирования, в групповой политики результаты выполнения пушиться в журнал событий, что не всегда удобно.

Самый главный плюс: скрипт можно запустить в любое время (несмотря на то что он называется logon-скрипт) что позволяет обновлять платформу на клиенте без перезагрузки и дополнительных указаний пользователю что и как делать.
afanasko; +1 Ответить
3. Trucker 7 20.08.14 09:23 Сейчас в теме
(2) Dragonim, а как быть, если у пользователя нет прав локального админа?
4. Dragonim 140 20.08.14 09:56 Сейчас в теме
(3) Дистрибутивы 1С Предприятия и сам logon-скрипт кладётся в сетевую папку с правами доступа для компьютеров рабочей группы (в самом простом случае у папки должны быть права доступа на чтение и выполнение для группы "Компьютеры домена"). В групповой политики прописывается запуск скрипта при загрузки или выключения компьютера, поэтому название logon-скрипт верно только в названии "скрипт" к "logon" он ни какого отношения не имеется т.к. в групповой политике под logon подразумевается вход пользователя под своей учётной записью, а запуск компьютера это startup.
5. Danila-Master 117 20.08.14 09:39 Сейчас в теме
(4) Dragonim, Может тогда напишите свою подробную инструкцию, можно с картинками. Было бы очень полезно.
8. h00k 50 21.08.14 18:09 Сейчас в теме
(5)Danila-Master
достаточно подробно описано и в желтых книжках, и на итс, и даже обработка для генерации логон-скрипта опубликована.
10. Dragonim 140 01.09.14 09:38 Сейчас в теме
(5) (6) zelevova, по просьбам страждущих написал http://infostart.ru/public/299829/
dvsidelnikov; +1 Ответить
9. SkorikA 83 27.08.14 02:02 Сейчас в теме
(2)
1. logon-скрипт позволяет удалять старые версии 1С Предприятия, в отличии от групповой политики.

А откуда заблуждение что GPO этого не позволяют сделать? Достаточно лишь правильно настроить саму политику...
(7)Не скажу чем руководствовался автор, но для меня причины были следующие:
1. Не нужно давать права пользователю. И так хватает проблем с шибко умнымипродвинутыми пользователями и их portable софтом.
2. Политика отдела IT: весь софт устанавливается через соответствующие политики, а политики распространяются на весь лес.
simvol@s; mykmykpet; user688922_eternalwindnsk; TeMochkiN; GreenDragon; vshish; +6 Ответить
21. mykmykpet 06.01.18 20:18 Сейчас в теме
(9)
Не нужно давать права пользователю. И так хватает проблем с шибко умнымипродвинутыми пользователями и их portable софтом.

Так это же решается с помощью политики ограниченного использования программ
13. cool.vlad4 2 03.11.14 19:25 Сейчас в теме
(2) Dragonim,
а в случае с групповой политикой вам каждый раз придется проделывать всё описанное в статье.

можно все описанное в статье автоматизировать. если orca может добавлять, то чем мы хуже? msi это такая БД. можно написать либо скрипт на vbs, powershell, на чем угодно и использовать COM объект "WindowsInstaller.Installer" // Можно еще посмотреть http://msdn.microsoft.com/en-us/library/aa372865(v=vs.85).aspx
либо напрямую использовать msi.dll . например через pinvoke http://community.bartdesmet.net/blogs/bart/archive/2008/06/06/linq-to-msi-part-0-introduction.aspx . Я попробовал второй вариант. Но было довольно лениво все доводить до ума и я вспомнил про Wix. Так что на C# задача сильно упрощается, все что нужно это
using WixToolset.Dtf.WindowsInstaller;
using WixToolset.Dtf.WindowsInstaller.Linq;

ну а в файлах теста можно посмотреть примеры использования
string parameterFormatString = "[1]";
				string[] properties = new string[]
				{
					"SonGoku", "Over 9000",  //Здесь наше property и его значение
				};

				string query = "SELECT `Property`, `Value` FROM `Property`";

				using (View view = db.OpenView(query))
				{
					using (Record rec = new Record(2))
					{
						rec[1] = properties[0];
						rec[2] = properties[1];
						rec.FormatString = parameterFormatString;
						Console.WriteLine("Format String before inserting: " + rec.FormatString);
						view.Insert(rec);

						Console.WriteLine("Format String after inserting: " + rec.FormatString);
						// After inserting, the format string is invalid.
					   
						// Setting the format string manually makes it valid again.
						rec.FormatString = parameterFormatString;
					   
					}
				}
Показать


https://github.com/wixtoolset/
6. zelevova 20.08.14 14:37 Сейчас в теме
Поддерживаю. Было бы интересно увидеть логон(стартап) скрипты не требующие у пользователей админских прав.
7. нормальный такой 93 21.08.14 16:56 Сейчас в теме
1. Установка с помощью logon-скрипта

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

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

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


хорошее объяснение, очень объективное и сразу всё понятно. дайтедве!
ruddanil; +1 Ответить
11. Puk2 187 05.09.14 11:54 Сейчас в теме
Кто-нибудь сталкивался с проблемой не установки компоненты 1С:Предприятие (конфигуратор и толстый клиент) через групповые политики? Устанавливали версии 8.2 с указанием собственного mst файла, где указаны компоненты (всё кроме серверных), устанавливалось всё корректно, но криво удалялось (оставались в списке установленных программ).
Версия 8.3.5.1068 установилась и удалилась нормально, а в версии 8.3.5.1119 у многих (не у всех) установилась без компоненты 1С:Предприятие (конфигуратор и толстый клиент). Удаление всех версий с компьютера клиента и переприменение политики установки не помогает.
26. PerlAmutor 129 09.05.19 06:05 Сейчас в теме
(11) Столкнулись с похожей проблемой. На чистые компьютеры все компоненты ставятся, а там где был установлен только Тонкий клиент доустановить Толстый не выходит через инструкцию в этой статье. Как будто ключи игнорируются. Удалось как-то решить?
12. EugeneBespalov 22.10.14 12:24 Сейчас в теме
ошибка в тексте

msiexec /i "<каталог с дистрибутивом >" TRANSFORMS="<каталог с дистрибутивом >" \Client.mst TRANSFORMS="<каталог с дистрибутивом >" \1049.mst /passive

понимать как

msiexec /i "<путь+имя_MSI_файла_установки>" TRANSFORMS="<каталог с дистрибутивом >" \Client.mst TRANSFORMS="<каталог с дистрибутивом >" \1049.mst /passive

где
<путь+имя_MSI_файла_установки>, например равен d:\inst\1c\8.3.5.1231\1CEnterprise 8.msi
20. user858448 08.11.17 11:12 Сейчас в теме
(12)
Но работает так:
msiexec /i "<путь>\1CEnterprise 8.msi" TRANSFORMS=Client.mst TRANSFORMS=1049.mst /passive
14. cool.vlad4 2 03.11.14 19:26 Сейчас в теме
черт, разметка ис-а поломала код, но не важно, на гитхабе можно посмотреть
15. ITEkb 12.01.15 10:45 Сейчас в теме
Спасибо за описанные методы.
Однако столкнулся с проблемой.
Под администратором терминально устанавливаю на 2008 сервере 32х битную 1С 8.3
До этого работала 1С 8.2 и запускалась.
После установки у меня, и у других администраторов сервера 1с 8.3 запускается.
У остальных пользователей 1С мигает на несколько секунд, и больше никакой активности не наблюдается.
Если удалить 1С 8.3, снова начинает работать.
Если почистить папки Application Data и Local Settings\ Application Data
перестает работать и 1С 8.2

В чем может быть причина?

Или в этой ветке обсуждаются только способы установки?
16. salikoff 13.08.15 12:55 Сейчас в теме
В последних версиях платформы появился новый пункт — «Контроль целостности». Как узнать имя параметра, отвечающего за него?
17. bagr 15.10.15 12:23 Сейчас в теме
Можно ли установить 1С через групповые политики в каталог, отличный от каталога по-умолчанию c:\Program Files\ ? Например, я хочу поставить в c:\Prog1С\
18. Alteza 10.02.16 10:51 Сейчас в теме
8.3.6 почемуто несмотря на параметры ставится английская и все что можно и сервер и тд. почему?
19. KAV2 156 03.07.17 06:06 Сейчас в теме
Коллеги, подскажите пожалуйста, а если надо сделать все тоже самое, но чтобы два языка ставилось?
22. mykmykpet 06.01.18 20:21 Сейчас в теме
(19)
LANGUAGES – список языков интерфейса для установки. Если указано несколько языков, они перечисляются через «,».

RU,EN
23. KAV2 156 07.09.18 07:09 Сейчас в теме
24. JustGoForward 27.03.19 21:32 Сейчас в теме
Использование параметра TRANSFORMS более одного раза недопустимо! Если вы укажете этот параметр несколько раз, то применится только последнее значение.
Надо указывать список файлов трансформации через символ ";" в том порядке в котором они должны перезаписывать значения предыдущих:
... TRANSFORMS=Client.mst;1049.mst ...

Здесь 1049.mst перезапишет настройки Client.mst в случае конфликта.
Подробнее: TRANSFORMS property

Корректно будет так:
"<каталог с дистрибутивом>\setup.exe" /S TRANSFORMS=Client.mst;1049.mst
msiexec /i "<каталог с дистрибутивом>\1CEnterprise 8.msi" TRANSFORMS=Client.mst;1049.mst /passive
25. user1170083 30.04.19 14:35 Сейчас в теме
В методе что описан в данной статье остается открытый вопрос. Как распространить список баз для пользователей? Если делать установки не через GPO, а через сетевой каталог, то в *.cfg можно указать файл с которого читать список баз *.v8i. А как реализовать это в домене при использовании метода GPO? Потребуется по сути через домен каким-то образом заставить принудительно прочитать с заменой заранее подготовленный файл в %username%\appdata\roaming\1cv8\ibases.v8i либо считать данный файл через GPO в сетевом каталоге.
27. atanov 22.01.20 11:34 Сейчас в теме
Всегда делал через Групповые политики. Как обстоит дело в связи с появлением 1CEnterprise 8_xp.msi ? Нужно что-то менять?
28. merdzd 24.11.20 09:24 Сейчас в теме
8.3.15 есть только
ProductLanguage
DEFLANGUAGE
?
Chizhik2020; +1 Ответить
29. GaripovD 04.02.21 14:03 Сейчас в теме
Подскажите а как отключить использование аппаратной защиты при установке через файл Client.mst?
30. GaripovD 04.02.21 14:04 Сейчас в теме
Подскажите а как отключить использование аппаратной защиты при установке через файл Client.mst?
31. Kalam 105 08.10.21 16:06 Сейчас в теме
(30) там же в PROPERTY
поставить у USEHWLICENSES значение в 0
Chizhik2020; +1 Ответить
32. DeepDiver 5 06.04.22 17:15 Сейчас в теме
В последней версии инсталлятора параметр DEFLANGUAGE видать заменили на DefLangAutoSelection в положении системные настройки. Смело пишем RU. Всё работает.
33. prodvi 29.11.22 16:18 Сейчас в теме
Сделал всё по статье, но увы, ничего не ставится. В результирующей политике указано, что ГПО применена и ПО установлено, но по факту ничего не установлено. В чём может быть дело?
Chizhik2020; +1 Ответить
34. prodvi 29.11.22 17:36 Сейчас в теме
В дополнение напишу - пробовал использовать строку типа:
>msiexec /i "\\server\Distr\distr1c\8.3.22.1709\1CEnterprise 8.msi" TRANSFORMS="\\server\Distr\distr1c\8.3.22.1709\New-config.mst;1049.mst" /quiet
Если выполнять её локально в cmd - всё отрабатывает. Если выполнять удалённо через psexec -вываливается ошибка.
Попробовал сделать bat-файл с этой строкой и запускать его через psexec и при запуске ПК - не работает, если просто локально, то всё норм (естественно при наличии прав).
В другой компании ставлю дистры 1С через KSC, 15минут и готово
35. user1463536 20.12.22 15:56 Сейчас в теме
(34) а как устанавливаете через ksc, какие параметры установки используете?
36. Shcherbinin_S 28.07.23 11:18 Сейчас в теме
Отличная инструкция и офигенное решение.
Большое Вам спасибо!!!
Danila-Master; +1 Ответить
37. Inkvee 27.09.23 12:55 Сейчас в теме
DESIGNERALLCLIENTS = 1
THINCLIENT = 1
THINCLIENTFILE = 1
SERVER = 0
WEBSERVEREXT = 0
CONFREPOSSERVER = 0
SERVERCLIENT = 0
CONVERTER77 = 0
LANGUAGES = RU

Данные аргументы больше не указываются в msi явно. Как еще можно сменить устанавливаемые компоненты при устовке через ГПО?
38. Inkvee 27.09.23 14:58 Сейчас в теме
(37) Я наркоман и не умею читать нормально. Позор мне. Строка с тем, что их нужно вручную создавать прошла мимо глаз.
39. Chizhik2020 07.11.23 10:04 Сейчас в теме
Сервер пишет что политика на компьютер применена, а на машине не 1С не установлена. У кого было, и как с этим бороться? (Windows 10)... В просмотре событий ничего необычного.
Оставьте свое сообщение