пятница, 11 октября 2013 г.

Установка приложения в корпоративной среде при помощи групповых политик (на примере Adobe Acrobat Reader).






Общая схема работы такова:

  1. надо где-то раздобыть приложение в формате msi
  2. создаем общую папку на сетевом ресурсе для размещения файлов административной установки.
  3. выполняем административную установку приложения в папку, созданную в п.2
  4. выполняем настройку пакета инсталляции (msi), путем его редактирования и/или создания файла модификации/преобразования (mst)
  5. создание/редактирование GPO для добавления пакета инсталляции.

Рассмотрим, каким образом мы можем выполнить каждый из вышеперечисленных пунктов на примере создания объекта Групповой политики, предназначенной для выполнения установки Adobe Acrobat Reader’а в корпоративной среде.
1) Как добыть инсталлятор  Acroreader’а? Как выяснилось это не просто, а очень просто. Сначала нам придется скачать с сайта производителя инсталлятор Acroreader’а, представляющий обычный исполняемый exe-файл. Сделать это можно одним из следующих способов: посетить сайт www. adobe.com, потыркать по ссылочкам и добраться, наконец, до страницы со ссылкой на файл-дистрибутив, либо, сократив количество телодвижений, непосредственно забрать оный инсталлятор с ftp-сервера производителя. Последняя (на момент написания этих строк) версия инсталлятора 9.3.4 доступна для скачивания по следующему адресу: ftp://ftp.adobe.com/pub/adobe/reader/win/9.x/9.3.4/enu/AdbeRdr934_en_US.exe. И так, мы добыли инсталлятор в виде исполняемого файла. К нашему счастью этот инсталлятор есть не что иное, как, своего рода, самораспаковывающийся архив, который содержит в себе нужный нам msi-пакет. Поэтому нам не придется заниматься самостоятельной изготовкой msi-пакета. Все, что нам нужно сделать, это распаковать полученный «архив». Для этого обратимся к документации от производителя (Deploying Adobe Reader 9). Для того, чтобы извлечь содержимое exe-файла в папку AR9, необходимо дать команду:
AdbeRdr934_en_US.exe -nos_o"AR9" -nos_ne
 В результате в папке AR9 будет создан следующий набор файлов:
PS > dir -Recurse
     Каталог: Microsoft.PowerShell.Core\FileSystem::C:\ar9
 Mode           LastWriteTime       Length Name
—-           ————-       —— —-
d—-    22.09.2010    15:22        <DIR> Reader9
-a—    20.06.2010     2:05       308656 Setup.exe
-a—    14.08.2010    16:02          769 setup.ini
    Каталог: Microsoft.PowerShell.Core\FileSystem::C:\ar9\Reader9
Mode           LastWriteTime       Length Name
—-           ————-       —— —-
-ar–    12.12.2007     1:29         1728 abcpy.ini
-ar–    04.01.2010    21:41      3972608 AcroRead.msi
-a—    04.04.2010    10:54     11850240 AdbeRdrUpd932_all_incr.msp
-a—    20.06.2010    12:01      8040960 AdbeRdrUpd933_all_incr.msp
-a—    13.08.2010    22:09     12263936 AdbeRdrUpd934_all_incr.msp
-ar–    04.01.2010    21:39    109673432 Data1.cab
-ar–    22.12.2009     7:16       345520 Setup.exe
-a—    14.08.2010    16:02          382 setup.ini
Из полученного набора нас интересует файл AcroRead.msi, это, собственно говоря, и есть наш пакет.
2) Со вторым пунктом нашего плана, думаю у нас проблем возникнуть не должно. Все мы умеем папки создавать да права на них выдавать. Единственный нюанс: права на папку должны быть таковы, чтобы доступ к папке имели  компьютеры домена (т.к. мы собираемся прописать пакет установки в разделе «Конфигурация компьютера» групповых политик). Для этих целей можно, например, предоставить доступ на чтение для группы «Компьютеры домена» или «Прошедшие проверку».
3) Выполняем административную установку. Для этого нам потребуется полученный в п. 1 настоящей инструкции пакет AcroRead.msi. Выполняем команду msiexec /a <Full_path_to_AcroRead.msi>
, где  <Full_path_to_AcroRead.msi> - это полный путь (включая имя файла) к пакету AcroRead.msi . Для вышеприведенного примера эта команда будет выглядеть так: msiexec /a C:\ar9\Reader9\ AcroRead.msi. В результате на экране появится «визард», в котором необходимо будет указать полный путь к папке, в которую мы хотим поместить административную установку (эта папка была создана нами на предыдущем шаге).








4) Настройка пакета инсталляции, создание «модификации» (mst-файла).
Для настройки пакета установки мы воспользуемся «Adobe Customization Wizard 9» (ACW), любезно предоставленного для этого производителем: запускаем ACW, открываем msi-пакет, находящийся в папке административной установки. Вносим следующие изменения:
а) в разделе «Installation options» выбираем Unattended установку (установка без вмешательства пользователя), а так же «Suppress reboot» (запрещаем перезагрузку после установки)
б)  «В разделе EULA and Document Status» взводим галку «Suppress display of EULA» (подавление отображения  лицензионного соглашения)

рис.3
в) В разделе «Online and Acrobat.com features» запрещаем выполнять любые обновления, т.к. обновление будет выполняться администратором централизовано (об этом речь пойдет ниже).
В целях безопасности взводим «галку» «When launching PDF in Internet Explorer, prompt user in open|save dialog», тем самым не позволяя открывать pdf-документ в окне браузера (вместо этого пользователю будет предложено открыть/сохранить файл).
Запрещаем доступ к Adobe.com features.

рис.4
Если есть желание, можно осуществить более тонкую настройку путем «непосредственного редактирования» в разделе «Direct Editor». Так, например, если вы хотите отключить  установку «Быстрого запуска Acrobat Reader’а» (“Adobe Reader Speed Launcher”), то для этого вам потребуется удалить элемент таблицы Registry838 (о некоторых других параметрах тонкой настройки инсталляционного пакета Adobe Acrobat Readerа можно прочитать здесь: “Deploying Adobe Reader 9 for Windows”

рис.5
Затем, сохраняем выполненные настройки в новом файле модификации (mst-файл): для этого выполняем Transform->Generate Transform
5)Создание/редактирование GPO для добавления пакета инсталляции
а) В редакторе групповых политик щелкаем правой кнопкой по узлу «Установка программ»

рис.6
б) В появившемся окне диалога открытия файла находим и выбираем  на сетевом ресурсе с административной установкой msi-пакет. После открытия этого пакета мы увидим следующее окно:

рис.7
В этом окне мы должны выбрать «особый» метод развертывания, т.к. мы собираемся использовать файл модификации (mst-файл).
в) на вкладке «Модификации» добавляем созданный нами при помощи  ACW файл модификации  Acroread.mst.

рис.8
Не забудьте прилинковать созданную политику к нужному OU.
Ну, и остался последний важный момент. Политику мы создали, прилинковали. На компьютерах она применилась. А как же быть с обновлениями?
Обновления выпускаются фирмой Adobe в виде patch-файлов, имеющих расширение msp. С помощью этих файлов мы можем выполнять обновление административной установки. Обновление выполняется в 2 этапа:
a)      собственно обновление, т.е. применение patch’а к административной установке.
После того, как мы скачали с сайта производителя очередной инкрементальный файл патча, применим его к административной установке при помощи следующей команды:
msiexec /a <Full_path_to_AcroRead.msi_on_share_with_admin_install> /p <Full_path_to_patch_file>

<Full_path_to_AcroRead.msi_on_share_with_admin_install> – полный путь к msi-пакету административной установки AcroRead.msi
<Full_path_to_patch_file> – полный путь к файлу patch’а.
Для вышеприведенного примера команда будет выглядеть следующим образом:
msiexec /a \\Server\Deploy\Acrobat\AcroReadd.msi  /p C:\ar9\Reader9\ AdbeRdrUpd932_all_incr.msp
b)      распространение обновления на клиентские компьютеры.
Для того чтобы клиентские компьютеры выполнили обновление ПО, ранее установленное при помощи групповых политик, необходимо, открыв соответствующую политику на редактирование, дать команду «Развернуть приложение заново» (см. рисунок ниже)

рис.9
При написании данной заметки были использованы следующие источники информации:
Adobe Acrobat 9 Deployment on Microsoft Windows Group Policy and the Active Directory Service
Deploying Adobe Reader 9
“Deploying Adobe Reader 9 for Windows”
[Upd 2010.10.27]
 Добавлю еще немного полезных настроек, которые могут быть сохранены в файле-модификации (*.mst):
 Добавляем параметры реестра, отключающие JavaScript (встроенный в Acrobat):

рис. 11
Обратите внимание, что раздел реестра JSPrefs с параметром bEnableJS может быть добавлен, как в куст HKCU, так и в HKLM. Думаю, что лучше будет добавить эти параметры в оба куста и вот почему: как я уже писал ранее, этот параметр действует в обоих случаях, но приоритетнее параметр, заданный в ветке HKCU. С другой стороны, параметр из куста HKLM полезен тем, что он задает дефолтное значение  (JavaScript вкл/выкл)  для любого пользователя компьютера (в том числе и локального).
Не смотря на то, что мы может отключить встроенный JavaScript в пакете msi, после установки приложения пользователь может снова его включить (взведя соответствующий checkbox в меню Acrobat Reader’а). Поэтому настоятельно рекомендую прикрутить в политику, которая бы постоянно выполняла отключение встроенного интерпретатора JavaScript.
Кроме того, из соображений безопасности стоит запретить документу PDF открытие других файлов и запуск приложений:

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

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