вторник, 3 июля 2012 г.

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

Сегодня речь пойдет об установке 1c v8.2 в корпоративной среде при помощи групповых политик. И так, какие же способы развертывания совего софта нам предлагает 1с?
  1. Установка с помощью logon-скрипта
  2. Установка, путем размещения в общем сетевом каталоге
  3. Установка с помощью групповых политик
Первые два способа мы отвергаем, т.к. для того, чтобы ими воспользоваться пользователь должен обладать правами локального администратора (это же не наши методы). Можно было бы использовать скрипт в качестве startup-скрипта, небольшим допиливанием оного. Но, честно говоря, не понимаю: зачем использовать скрипт, при наличии штатной возможности развернуть приложение из msi-пакета при помощи групповых политик. Казалось бы, очередной банальный случай развертывания ПО в домене. Сейчас зайдем на сайт производителя, прочитаем о том, как настроить msi-пакет, возможно, даже скачаем какой-нибудь инструментарий для создания файла трансформации (mst-файла), как это принято у крупных производителей софта, и дело будет сделано. Однако, не тут-то было. Информация, которую нам предлагает производитель о  развертывании своего продукта при помощи групповых политик, весьма скупа:
При установке через групповые политики для указания языка установки нужно указывать соответствующий языковой файл трансформации. Имена файлов соответствуют десятичному представлению LCID Microsoft Windows (с расширением .mst). Файл трансформации для русского языка называется 1049.mst.
Кроме этого, дополнительно нужно указать файл трансформации adminstallrestart.mst. В этом случае система «1С:Предприятие» при несовпадении версий клиента и сервера будет предлагать перезагрузку компьютера для установки новой версии. Администратор должен позаботиться, чтобы новый дистрибутив уже был добавлен в групповых политиках.
С использованием групповых политик можно устанавливать несколько версий «1С:Предприятия».
Для установки новой версии необходимо создать новую установку в групповых политиках.
Очень странный набор информации нам предоставила фирма 1c: информация о файле трансформации (модификации) 1049.mst – очевидна, а о adminstallrestart.mst не слишком полезна. В первую очередь хотелось бы понять, как можно указать установщику, какие компоненты продукта мы хотим установить, а какие – нет? Не смотря на то, что документация от 1c в основном достаточно обширна и подробна, об этом почему-то не говориться ни слова. Но выйти из положения нам поможет logon-скрипт, который мы отвергли в самом начале. В скрипте мы можем увидеть следующие строки:
cmdLine = cmdLine &  “THICKCLIENT=1 THINCLIENT=1 WEBSERVEREXT=0 SERVER=0 CONFREPOSSERVER=0 CONVERTER77=0 SERVERCLIENT=0 LANGUAGES=RU”
В этой строке скрипта формируется командная строка , которая будет передана на обработку установщику msiexec. Как мы видим, в эту строку добавляются параметры вида “Property=PropertyValue”. Разумно было бы предположить, что каждое из этих свойств должно найти свое отражение в таблице Properties msi-пакета. Заглянув в msi-пакет при помощи редактора Orca (о том, как “добыть” этот редактор, уже было написано ранее в моем блоге), я не увидел ни одного из этих свойств в пакете 1c. Поэтому, на всякий случай, проконсультировался на этот счет у Бетке Сергея, и он подтвердил, что я не ошибся в своих предположениях.
1c82-mstИ так, нам нужно добавить несколько строк в таблицу Properties, содержащих соответствующие свойства и их значения. Конечно же мы не будем вносить изменения непосредственно в сам пакет установки (msi-файл), а подготовим при помощи Orca трансформатор (mst-файл). На скриншоте показаны изменения, которые необходимо внести в инсталляционный пакет для того, чтобы указать, что мы хотим установить только толстого и тонкого клиента и при этом выбрать русский язык для интерфейса (не забываем, что надо не только выбрать русский язык для интерфейса, но и добавить его в инсталляционный пакет при помощи соответствующего трансформатора – файла 1049.mst). О том, как добавлять инсталляционный пакет и файлы модификации (трансформации) в групповую политику рассказывать не буду, надеюсь, что вы это знаете, а если не знаете, то можете прочитать об этом статье о развертывании Adobe Acrobat Reader.
Осталось рассмотреть вопрос добавления информационных баз в список, который увидит пользователь при запуске программы 1c. К счастью со времен 1c v 7.7. многое изменилось и для этого не требуется править реестр. Информация о базах теперь храниться в файле с расширением v8i. По умолчанию файл располагается на локальном компьютере в папке %APPDATA%\1C\1CEStart и имеет имя ibases.v8iМожно вносить изменения в этот файл, например: при помощи GPP, как это предлагает Сергей Бетке, но тут есть некоторые ограничения, связанные с тем, что файлы *.v8i – это файлы в формате unicode, а GPP с файлами в unicode кодировке работать не умеет. Поэтому приходится идти на компромиссы, о которых вы можете прочить у Сергея в блоге. Но существует другой способ создания списка информационных баз для пользователя, который лишен этого недостатка. Начиная с v8.1, в 1c появилась возможность, единожды прописав информационную базу в список “руками”, выгрузить описание каждой информационной базы в отдельный v8i-файл. Затем, эти v8i-файлы можно разместить на общем сетевом ресурсе и добавлять их пользователям в список общих информационных баз. Это можно делать вручную: например, так, как описано здесь. А, зная о том, что общий список информационных баз хранится в файле 1CEStart.cfg, который располагается папке%APPDATA%\1C\1CEStart, можно для этих целей использовать GPP без проблем, с которыми столкнулся Сергей Бетке. Приведу пример содержимого простейшего файла 1CEStart.cfg (описание формата файла можете найти на сайте http://its.1c.ru, если вы счастливый обладатель подписки на ИТС):
CommonInfoBases=\\server\1c_bases\v8\CommonIB\ZPK.v8i
CommonInfoBases=\\server\1c_bases\v8\CommonIB\BUH.v8i
CommonInfoBases=\\server\1c_bases\v8\CommonIB\ZPK2.v8i
UseHWLicenses=1



Источник: http://shserg.ru/posts/deployment_1c_v82_group_policy/

Комментариев нет:

Отправить комментарий