Доброго времени суток, Хабр! Хочу представить интересный, по моему мнению, способ создания msi-инсталляторов для любого программного обеспечения и, как следствие, развертывание его средствами GPO. Подчеркну, что описанный метод не подразумевает создание «слепков» системы, а использует нативные инсталляторы софта, при чем для создания msi применяются только бесплатные для коммерческого использования продукты.
Введение, пара ссылок и дисклеймер
Каждый нормальный инсталлятор ПО имеет возможность автоматической установки с определенными или заложенными по умолчанию параметрами. Суть моего метода проста и заключается в том, чтобы запаковать нативный инсталлятор в «контейнер» msi и запустить его с необходимыми параметрами командной строки. В сети куча информации по автоматической установке того или иного приложения, и я не буду заострять на этом внимание. Наша цель, повторюсь, — установка ПО средствами групповых политик. Кстати, некоторые из вас могут возразить, что установку можно производить через ZAW, но, к сожалению, данный метод применим только для установки с правами текущего пользователя и не может применяться для централизованной автоматической установки приложений.
Установка ПО на ПК пользователей домена с помощью GPO
Интересный цикл статей по установке ПО через ГП. Для новичков рекомендую прочитать все, чтобы потом не спрашивать, чем отличается тип установки «назначенный» от «публичный».
Необходимый софт. Exe to MSI Converter freeware и всем известная orca Первый нужен для того, чтобы создать msi из exe, а вторая — чтобы получившийся msi-ник смог установиться через групповые политики.
Метод не претендует на полную уникальность и в некоторых местах могут встречаться излишества, которых можно было бы избежать, но это связанно отсутствием желания и необходимости слишком глубоко вникать в параметры таблиц msi-пакетов. Первоначальной целью ставилось быстро найти бесплатный способ создания msi и после нескольких часов, проведенных в чтении зарубежных форумов и бесконечных перезагрузках виртуальной машины, метод был найден. Также, статья — это не обзор интерфейса программ, и скриншотов вы не увидите.
Создание и подготовка пакета
- Запускаем exe to msi и указываем в нем путь к exe-установщику firefox. По ранее найденной в сети информации становится понятно, что по-тихому установить огнелиса можно с параметрами -ms -ira. Их-то и указываем во втором поле exe to msi и жмем «Build MSI».
- Казалось бы все, msi-пакет готов. Действительно, запустив получившийся результат мы получим установленный в системе firefox и в статье можно было бы ставить точку. К сожалению, не все так просто. Текущий пакет установки не пригоден для развертывания через GPO и при загрузке компьютера вы будете получать совершенно ничего не объясняющие ошибки в логах «произошла неисправимая ошибка. » А все дело в том, что разработчики exe to msi тоже хотят есть и их бесплатный продукт генерирует msi «не по правилам».
- Ну что ж, берем орку и открываем в ней наш эмсиайник.
- Первым делом находим в левом списке таблицу Property и обращаем внимания на два поля — ProductCode и UpgradeCode. Эти два поля должны быть уникальны для каждого продукта, а наш exe to msi генерит всегда одинаковые. Ну что ж, не беда, жмем в верхнем меню View -> Summary Information, находим поле PackageCode и жмем New GUID. Получившийся результат копируем в буфер обмена и вставляем в ProductCode. Повторяем для UpgradeCode и наконец для самого PackageCode. Тут же в Summary Information правим поле Title на Mozilla Firefox, остальное по желанию. Это, по сути, ни на что не влияет.
- Опять же в таблице Property меням ProductName на Mozilla Firefox (я до кучи меняю еще ARPCONTACT и Manufacturer). Можно так же поставить правильное значение для ProductVersion.
- Вроде бы GUID и прочие «IDы» поменяли, но как показывает практика, этого недостаточно. Жмите в orca Tools –> Validate, снимите птицу Show INFO Messages и нажимайте Go.
- Как видите, вылезла куча ошибок на наличие/отсутствие некоторых таблиц и значений. Я не стал заморачиваться и просто взял первый попавшийся (7zip x64 9.20) небольшой msi и скопировал оттуда 4 недостающие таблицы (через Export-Import, естественно): _Validation, AdminExecuteSequence, AdminUISequence и AdvtExecuteSequence. На самом деле, я уверен, что можно создать «правильный» msi-инсталлятор, без лишнего мусора, но не забывайте, наша цель всего лишь запустить родной setup приложения в тихую.
- После добавления таблиц проходим снова Tools –> Validate (к слову, первый раз проверку можно вообще не делать и сразу импортировать таблицы). Если вы тоже взяли за основу msi от 7zip, то результатом будет шесть эрроров, которые необходимо устранить. Жмите Close, удаляйте лишние поля, отмеченные красным.
- В конце можно еще раз проверить валидацию и убедиться что остались лишь ничем не мешающие варнинги. Сохраняем msi.
- Вот в принципе и все, осталось добавить msi в ГП и назначить необходимые свойства.
Нюансы
- При установке описанным выше методом у вас появятся как бы две копии софта. Первая — собственно нужное приложение, а вторая — исходный msi-ник, ведь мы же его как бы поставили. В принципе, это ни на что не влияет, кроме как на отображение в «Установка и удаление программ», и то, только в Windows XP (если вы ничего не меняли, кроме указанного мной). Минусом может быть появление лишних программ при автоматической инвентаризации софта, если вы ее используете.
- Автоматически удалить приложение теми же средствами развертывания не получится. Точнее получится, но удалится только и так не нужный msi-контейнер. Ну можно повозиться со свойствами msi при его создании, чтобы оно захватывало с собой установленное ранее приложение, так же втихую. Я такой задачи не ставил.
- При установке обновлений ПО нужно указывать в свойствах ГП приложения, чтобы оно заменяло предыдущее, т.е обязательно предварительно удаляло старое. Это гарантирует, что у вас не будут плодиться те самые никому не сдавшиеся левые дубли приложений в «установке и удалении программ».
- Чтобы установить приложение, имеющее дистрибутив из нескольких файлов, вам придется сначала упаковать его в exe, который при запуске сам распакуется и даст команду для тихой установки. Рекомендую создавать sfx-архивы средствами того же 7-zip.
- Ничего не мешает ставить ПО через скрипты автозагрузки. Более того, такой метод более гибкий, и я давно его использую через свои скрипты. Вот только использование родных средств ГП получается намного быстрее, т. к. простое создание msi из exe занимает пару минут.
- Windows 7 почему-то не пишет «Установка управляемого приложения. », а просто говорит «пожалуйста, подождите». При первом развертывании всей кучи софта разом или при установке тяжелого приложения это может сподвигнуть юзера на звонок админу или нажатие кнопки резет.
- групповые политики
- создание msi-пакета
Источник: h.amazingsoftworks.com
Установка программ с помощью GPO
sapegov
Рано или поздно у каждого системного администратора появляется необходимость внедрения нового программного обеспечения (ПО) в существующий парк, и особенно централизованного обновления версий этого ПО для поддержания его в актуальном состоянии без лишней нервотрепки и при малых затратах ресурсов. Большинство корпоративных программных продуктов поддерживает обновление через Microsoft Automatic Update, в свою очередь большинство Open Source продуктов позволяют автоматическое обновление только при платной поддержке, и как быть в том случае, когда руководство не готово платить за это? Попытка поиска данной методики в развернутом виде в Рунете положительных плодов не принесла. Пришлось искать информацию, и разрабатывать методику самому, а заодно и инструкцию в помощь другим.
Задача — установка ПО LibreOffice и поддержание его версии в актуальном состоянии средствами Microsoft Active Directory (AD).
Необходимость внедрения данного ПО обусловлена следующим:
«Федеральное агентство по техническому регулированию и метрологии РФ утвердило ГОСТ Р ИСО/МЭК 26300-2010, в котором в качестве стандартного формата для офисных приложений определен формат Open Document (ODF). Документ идентичен принятому четыре года назад международному стандарту ISO/IEC 26300:2006.
В принятом ГОСТ описана соответствующая спецификации Open Document 1.0 XML-схема для офисных приложений и ее семантика, которая охватывает офисные документы, включая текстовые документы, электронные таблицы, диаграммы и графические документы, такие как рисунки и презентации, но не ограничивается этими типами документов. Документ вступит в действие 1 июня 2011 года»
Установка
Разберем установку, а также безболезненный переход к новым версиям LibreOffice средствами Active Directory и групповых политик.
Подготовка дистрибутива
Сначала нужно подготовить дистрибутив для установки из сетевого ресурса.
Для этого необходимо распаковать архив LibreOffice и запустить инсталляционный файл типа setup.exe с атрибутом /a (например, из cmd или TotalCommander) — запустится административная установка
Рисунок 1 — Мастер установки серверного образа.
Далее укажите сетевой ресурс в котором в дальнейшем будут располагаться все дистрибутивы устанавливаемых программ средствами AD, с предварительно открытым общим доступом, как указано в следующем пункте, для размещения серверного образа — оттуда впоследствии и будет производиться установка приложения. Данный пункт необходимо выполнить для самого дистрибутива LibreOffice и для Help Pack к нему.
Установка разрешений доступ и настройка безопасности
Теперь необходимо, если это еще не сделано, открыть общий доступ к папке с серверным образом дистрибутивов и установить необходимые параметры безопасности для того, чтобы локальная машина имела доступ к файлам установки (достаточно галок чтение, список содержимого папки, чтение и выполнение для пользователя «прошедшие проверку»).
Рисунок 2 — Настройки безопасности папки с дистрибутивом.
А также на вкладке дополнительно поставить галку «заменить разрешения для всех дочерних объектов заданными здесь разрешениями, применимым к дочерним объектам», чтобы данные настройки безопасности распространились на все подпапки и файлы в них.
Рисунок 3 — Дополнительные параметры безопасности папки с дистрибутивом.
Создание административной единицы в Active Directory
Переходим непосредственно к установкам в AD и GPO. Создаем в «Active Directory — пользователи и компьютеры» отдельную организационную единицу (OU) и помещаем в нее компьютеры, на которые и будет устанавливаться программное обеспечение (вполне возможно, что такая OU уже существует).
Рисунок 4 — Создание OU в AD.
Создание групповой политики
Установка приложений возможна через назначения компьютера (в таком случае установка будет происходить сразу после загрузки, до входа в систему) или пользователя (возможна установка при первом запуске программы). Мы рассмотрим первый вариант. Запускаем Group Policy Management и переходим к нашей OU, создаем и подключаем к ней политику (можно сделать через AD — Свойства OU — вкладка Group Policy).
Рисунок 5 — Создание групповой политики в GPM.
Создание установочного пакета
После создания Групповой политики редактируем ее — правой клавишей — edit, откроется «Редактор объектов групповой политики». В нем раскрываем Конфигурация компьютера — конфигурация пользователя — установка программ, правой клавишей создать — пакет. Выбираем путь до установочного файла LibreOffice с расширением *.msi
Рисунок 6 — Создание установочного пакета в GPO.
Через групповые политики установка осуществляется только через файлы msi, так что если вам необходимо установить другую программу, которая по умолчанию не содержит msi, то нужно переконвертировать файл exe (или др.) в msi с помощью любого конвертера.
Продолжаем: тип развертывания выбираем назначенный (чтобы установка начиналась сразу после загрузки до входа в систему), также обратите внимание на вкладку безопасность в свойствах созданного пакета, тут опять же должны быть необходимые разрешения на чтение для применения групповой политики, например, также на пользователя «Прошедшие проверку» галка «чтение».
Таким же образом создаем пакет для установки Help Pack.
Рисунок 7 — Создание пакета установки LibreOffice и Help Pack.
После этого на локальной машине в нашей OU должны примениться групповые политики (можно ускорить, запустив в cmd команду gpupdate /force) и после следующей перезагрузки должна произвестись установка LibreOffice и Help Pack. Если приложение не установилось — смотрим логи компьютера, вкладка приложения. Распространенные проблемы — нет доступа к сетевому ресурсу с установочным файлом и не применение групповой политики.
Однако, для нормальной работы LibreOffice необходима Java. Ее также можно установить через GPO. Лучше на каждое приложение создавать отдельную политику для независимости и удобства обновления приложений.
Итак, полдела сделано — приложение автоматически установлено на необходимых машинах, но вот выходит следующая версия LibreOffice и тут также не обойтись без GPO.
Настройка перехода на новую версию
Создаем в той же групповой политике с ранней версией LibreOffice более новую версию, предварительно произведя административную установку в отдельную папку сетевого ресурса.
Рисунок 8 — Создание пакетов с новой версией.
Теперь открываем свойства новой версии LibreOffice и переходи на вкладку обновления, нажимаем «добавить» для выбора приложения, обновляемого данным пакетом.
Выбираем более старую версию LibreOffice в открывшемся окне (если новая версия в той же групповой политике, то из текущего GPO, если в другой, то выбираем через кнопку «Обзор»). Ниже можно выбрать удалять предыдущую версию или устанавливать приложение поверх старой версии. Рекомендуется удалять предыдущую версию, дабы не тянуть проблемы из старых версий в новые.
Рисунок 9 — Настройки обновления пакетов.
После этого в GPO старые пакеты отображаются с замком, а новые с зеленой стрелкой.
Рисунок 10 — Обновляемые и обновляющие пакеты LibreOffice и Help Pack.
Проделываем то же самое для Help Pack. И теперь после применения групповых политик и последующей перезагрузке рабочих станций взамен старой версии устанавливается новая версия LibreOffice.
Если вы хотите удалить приложение со всех машин, то необходимо правой кнопкой мыши на пакете выбрать пункт все задачи — удалить, там выбрать пункт немедленное удаление приложения с компьютеров всех пользователей. Если вы удалите саму политику, то приложения удаляться не будут, так как без политики машина не знает о том, что приложение нужно удалить.
Заключение
В итоге мы имеем автоматически установленное программное обеспечение на необходимых компьютерах, и возможность поддержание его версии в актуальном состоянии. В любом случае сначала лучше потренироваться на тестовой машине.
Источник: sapegov.blogspot.com
Установка программ в домене удаленно — GPO ( часть 2 )
Это вторая часть гайда по удаленной установке программ в домене. Первый из них уже был описан в статье « Установка программ в домене удаленно «. Там речь шла о размещении всех необходимых дистрибутивов в одной папке, с дальнейшим делегированием прав — для доступа к ней с любого компьютера. В этой же статье, хотелось бы рассмотреть немного иной подход.
Установка программ по сети с помощью групповых политик.
Не весь софт можно поставить таким методом, поэтому в данной статье собраны ссылки на софт, который удалось заставить устанавливаться или обновляться через Групповые политики ( GPO ) Active Directory .
Групповая политика — это набор правил или настроек, в соответствии с которыми производится настройка рабочей среды Windows . Групповые политики создаются в домене и реплицируются в рамках домена. Для того, чтобы это сделать, нужно выполнить ряд превентивных действий:
- скопировать к себе на компьютер файл Microsoft Installer ( MSI ) программного обеспечения Wininstaller . Поместить этот файл в каталог C:Distr на своем компьютере и расшарить его как \имя_нашего_компьютераDistr$ ; (как это сделать, было описано здесь )
- далее нужно создать групповую политику WinInstaller , которая бы устанавливала программное обеспечение Wininstaller на все компьютеры нашего домена.
Действуем следующим образом:
- После того, как мы создали общий каталог и скопировали в него нужные файлы, нужно открыть Group Policy Management Console, щелкнуть правой кнопкой мыши по узлу нашего домена и в контекстном меню выберать Create and Link a GPO here . Присвоить групповой политике название Wininstaller .
- Далее щелкаем правой кнопкой мыши по объекту созданной групповой политики и в контекстном меню выбираем Edit. В окне Group Policy Object Editor нужно раскрыть узел Computer Configuration -> Software Settings -> Software installation, щелкнуть правой кнопкой мыши по узлу Software Installation и в контекстном меню выбрать New -> Package.
- В окне Open вводим путь к пакету MSI: \имя_нашего_компьютераDistr$SWIADMLE.MSI и нажимаем Open.
- В окне Deploy Software устанавливаем переключатель в положение Advanced и нажимаем OK .
- В окне WinInstall Properties смотрим все вкладки и нажимаем OK . Закрываем окна Group Policy Object Editor и Group Policy Management Console с сохранением внесенных изменений и перезагружаем компьютер. В процессе запуска следует обратить внимание на строку Installing Managed Software WinInstall , которая появится после строки Applying Computer Settings .
- После окончания перезагрузки можно заметить, что в меню Programs появилась новая группа программ.
Теперь предварительные приготовления закончены и можно начинать добычу пакетов MSI :
7-Zip — http://www.7-zip.org/download.html
Adobe Flash Player — http://www.adobe.com/products/flashplayer/fp_distribution3.html (по ссылке и Flash Plugin и ActiveX)
Adobe Reader — ftp://ftp.adobe.com/pub/adobe/reader/win/10.x/
(обновления версий в подкаталогах) наложение обновлений Reader: > mkdir C:TempAdobeReader > cd C:TempAdobeReader > msiexec /a AdbeRdr1000_ru_RU.msi TARGETDIR=c:TempAdobeReaderUpdated > msiexec /a c:TempAdobeUpdatedAdbeRdr1000_ru_RU.msi /p C:TempAdobeReaderAdbeRdrUpd1001_Tier4.msp
Источник: feanor184.ru