Pull to refresh

Установка приложений с .EXE-инсталляторами средствами GPO

Reading time 10 min
Views 115K
Ни для кого не является секретом то, что в организациях установка приложений на клиентские компьютеры должна быть (или, если честно, то рекомендуется, чтобы была) автоматизированной. Естественно, комплексные продукты, например, такие как Microsoft System Center Configuration Manager, могут превосходно справляться с такой задачей, однако ведь всегда были, есть и будут организации, которые по той или иной причине не приобрели себе такой продукт. Поэтому приходится устанавливать программные продукты с помощью тех же штатных средств операционных систем Windows, и для выполнения такой задачи предпочтительными становятся функциональные возможности групповой политики.
Также все прекрасно знают и о том, что при помощи расширения клиентской стороны Group Policy Software Installation GPSI, приложения можно развертывать на клиентские машины двумя методами: либо путем публикации только для пользователей, либо при помощи назначения для пользователей или компьютеров.

Для чего нужны ZAP-файлы?


По большому счету, для публикации приложений можно использовать как MSI-инсталляторы, так и *.zap-файлы, причем оба пакета установки обрабатываются по-разному. Например, файл пакета установки программного обеспечения MSI содержит базу данных со всеми необходимыми инструкциями по установке или удалению приложения, а за установку программы на клиентском компьютере отвечает служба «Установщик Windows», использующая для чтения файлов *.msi библиотеку Msi.dll. Соответственно, на основании объявленной в инсталляционном пакете информации данная служба копирует файлы программы на жесткий диск, а также вносит изменения в реестр и выполняет прочие задачи, указанные в инсталляторе. Чаще всего вся информация, указанная в инсталляционном msi-файле, задается разработчиком устанавливаемого программного продукта.
Однако, так как не все производители программного обеспечения используют инсталляционные файлы установщика Windows, в некоторых случаях может понадобиться создавать пакеты низкоуровневых приложений на основе инициативы нулевого администрирования (в оригинале это звучит как ZAW – Zero Administration for Windows), то есть *.zap-файлы, являющиеся текстовыми файлами с необходимыми инструкциями по установке приложения. После создания такого файла его необходимо поместить в папку с инсталляционным пакетом, чтобы расширение клиентской стороны смогло выполнить инструкции по установке, после публикации которого приложение появится в компоненте панели управления «Программы и компоненты», и пользователи смогут его установить. Но, в отличие от MSI-инсталлятора, у zap-файлов есть такие существенные ограничения, как, например, то, что у вас не получится настроить процесс установки приложения, если инсталлятор не содержит параметров установки.
Сразу хотелось бы отметить, что данный метод не настолько гибкий, как установка программного обеспечения при помощи инсталляционных пакетов MSI, однако, в том случае, если у вас нет возможности сконвертировать инсталляционный файл, а приложение обязательно должно быть централизовано развернуто, такой метод может оказаться как никогда кстати. Ввиду того, что в такой текстовый файл вносятся инструкции по установке существующего exe-файла, как для 32-, так и для 64-разрядных приложений, возможности инсталляции программных продуктов при помощи данного метода не предусматривают следующие возможности:
  • Запуск приложений с повышенными привилегиями;
  • Откат изменений при неудачном процессе установки программного обеспечения;
  • Обнаружение повреждения процесса инсталляции и последующее восстановление данного процесса;
  • Установка компонентов программного обеспечения при первом обращении к последнему;
  • Использование и внедрение файлов трансформации.

И это лишь основная часть тех вещей, которые вы не сможете выполнять во время развертывания программного обеспечения средствами ZAP-файлов. Между прочим, развертывание приложений таким образом можно реализовать лишь путем публикации приложений. Так что пользователи, как я уже упомянул несколькими строками выше, смогут установить такие продукты непосредственно из страницы «Install a program from the network» компонента панели управления «Программы и компоненты».
Прежде чем как мы с вами начнем создавать такой файл и пробовать при помощи него, исключительно в тестовых целях, развертывать такой программных продукт, как Irfan View, думаю, будет правильно, если я сейчас немного расскажу о структуре таких файлов. В таком файле обязательными являются только первые две строки, где будут указаны такие параметры, как:
  • FriendlyName – то есть, это имя, которое будет отображаться в компоненте панели управления «Программы и компоненты»;
  • SetupCommand – здесь определяется путь к файлу установки приложения. Естественно, при необходимости вы можете указать как путь UNC, так и использовать сопоставленный диск. Также, если приложение можно устанавливать с дополнительными параметрами, эти параметры следует указывать после пути установки.

Другими словами, при использовании этого метода вам предварительно следует изучить все дополнительные параметры инсталляционных файлов для каждого продукта.
Помимо этих двух параметров, для того, чтобы в расширении CSE «Установка программ» или в компоненте панели управления «Программы и компоненты» отображалась версия приложения и прочая информация, во время написания такого файла вы можете добавить еще и несколько дополнительных параметров. Например, следующие необязательные параметры считаются наиболее распространёнными:
  • DisplayVersion = 2.13.1.5. Как вы понимаете, этот параметр отвечает за отображаемую версию программного обеспечения;
  • Publisher – название компании, являющейся производителем приложения. Это название будет отображено в компоненте панели управления «Программы и компоненты», а также в самом расширении клиентской стороны «Установка программ»;
  • URL – естественно, это адрес в сети Интернет, предназначенный для получения дополнительной информации о приложении.

Ограничения ZAP-файлов


Как я уже успел упомянуть, в отличие от установочных пакетов msi, приложения, развёртываемые средствами zap-файлов, нельзя назначать компьютерам или пользователям. Также стоит отметить, что при установке приложения текущим методом запускается стандартная программа установки. Другими словами, помимо добавляемых параметров, при помощи каких-либо дополнительных параметров этого файла вы не можете настроить процесс установки программного обеспечения. Еще одним ограничением является тот факт, что приложение не может быть установлено от имени учетной записи администратора, что может быть в некоторых случаях крайне неудобно. То есть приложения всегда устанавливаются локальным администратором.
При создании ZAP-файлов вы обязательно должны принять к сведению следующие моменты (о некоторых из них я уже говорил несколькими строками выше):

  • Во-первых, ввиду того, что при помощи выполнения ZAP-файла просто запускается инсталляционная программа, как я уже говорил, данное средство не позволяет выполнять инсталляционный процесс с повышенными правами, что можно реализовать при помощи пакетов MSI. Следовательно, если приложение во время своей установки запросит повышение прав, его смогут проинсталлировать только те пользователи, для которых явно прописано такое разрешение;
  • Во-вторых, ввиду того, что ZAP-файлы являются текстовыми документами, при сохранении такого файла можно случайно создать файл с расширением .zap.txt, что, по вполне понятным причинам, не сможет корректно отработать. Другими словами, убедитесь, что файл будет сохранен с правильным расширением;
  • В-третьих, если у вас в сети есть компьютеры с 64-разрядными операционными системами, вам следует обязательно протестировать процесс установки и работы 32-разрядных приложений на таких операционных системах. Это очень важный этап, так как много 32-разрядных приложений, развертываемых при помощи ZAP-файлов, могут сбоить во время своей установки;
  • И в-четвертых, если при создании ZAP-файла с 32-разрядным программным обеспечением вы не измените его поведение, оно не будет отображаться в компоненте панели управления «Программы и компоненты» под 64-разрядными операционными системами.

Думаю, о назначении и применении этих файлов, предназначенных для публикации программного обеспечения, вы уже узнали кое-какую информацию, и настало время попробовать создать и распространить приложение этим методом.
Процесс развертывания происходит следующим образом: прежде всего, информация о процессе установки программного продукта подробным образом записывается в ZAP-файл. Инсталлятор, естественно, должен находиться в общедоступном расположении, так как в противном случае ничего не выйдет. После этого вам необходимо разместить сгенерированный файл в общедоступной точке распространения программного обеспечения. Это делается для того, чтобы созданный вами объект групповой политики мог локализовать этот файл. И в конце концов, создается сам объект GPO, связывается с необходимым подразделением и при помощи расширения клиентской стороны «Установка программ» распространяемый программный продукт публикуется для пользователей.
Рассмотрим эти процессы, начиная с создания самого ZAP-файла.

Создание ZAP-файла


Публиковать мы сейчас будем, как я написал выше, такой программный продукт, как Irfan View, поэтому предварительно инсталляционный файл желательно откуда-то скачать и разместить в общедоступную папку.
Теперь, как я уже говорил, прописав просто путь к исполняемому файлу, во время развертывания программного обеспечения его инсталлятор будет запущен для пользователя. и последнему придется пройти все этапы мастера перед тем, как программа будет установлена. Для многих пользователей это будет большой проблемой, и по этой причине вместе с путем к инсталляционному файлу нужно указать параметры, предназначенные для тихой установки. Благо, данный программный продукт предоставляет возможность такой установки.
Инсталлятор Irfan View имеет целый перечень различных параметров, которые могут вам помочь во время тихой установки этого продукта. Давайте их рассмотрим:
  • Silent – выполнение тихой установки, то есть без участия пользователя;
  • Folder – папка назначения. Если она при помощи этого параметра не указана, то в таком случае будет использоваться старая папка IrfanView. Если же таковая отсутствует, то используется папка «Program Files\IrfanView»;
  • Desktop – создает ярлык на рабочем столе; 0 = no, 1 = yes (по умолчанию: 0);
  • Thumbs – создает ярлык для режима миниатюр; 0 = no, 1 = yes (по умолчанию: 0);
  • Group – создает группу в меню «Пуск»; 0 = no, 1 = yes (по умолчанию: 0);
  • Allusers – ярлыки на рабочем столе/в меню «Пуск» для пользователей; 0 = для текущего пользователя, 1 = для всех;
  • Assoc – позволяет установить файловые ассоциации; 0 = не устанавливать, 1 = только изображения, 2 = выбрать все (по умолчанию: 0);
  • Assocallusers – если используется этот параметр, то файловые ассоциации устанавливаются для всех пользователей (работает только в Windows XP);
  • Ini – если используется, устанавливает пользовательскую папку для INI файла (допустимы системные переменные).

Следовательно, для установки этого программного обеспечения мы будем использовать примерно такую команду:
iview435_setup.exe /silent /desktop=1 /thumbs=1 /allusers=1 /assoc=1
Теперь, когда мы точно знаем, при помощи какой команды будет происходить установка этого программного продукта, можно приступать к написанию самого zap-файла. Следовательно, чтобы составить такой файл, выполним следующие действия:
  1. Открываем любой текстовый редактор, например, тот же «Блокнот»;
  2. В самой первой строке создаваемого файла указывается секция Application, заключенная в прямоугольные скобки. То есть, записываем в этой строке так: [Application];
  3. Как я уже успел написать выше, здесь две строки являются обязательными, а именно: строка FriendlyName и строка SetupCommand. Как в первой, так и во второй строке значения указываются после равно в кавычках. Знак равно обрамляется пробелами. То есть, получаем такие строки:
    FriendlyName = “Irfan View”
    SetupCommand = “\\ИМЯСЕРВЕРА\Install\..., а дальше идет имя нашего инсталляционного файла со всеми параметрами “iview435_setup.exe” /silent /desktop=1 /thumbs=1 /allusers=1 /assoc=1
    При необходимости вы также можете добавлять комментарии, поставив в начале строки точку с запятой. Например, на новой строке добавим комментарий, где напишем, как будет устанавливаться наша программа:
    ; Программа устанавливается в тихом режиме, с созданием ярлыков на рабочем столе, ярлыка для миниатюр, причем для всех пользователей с ассоциацией только графических изображений
  4. Теперь мы можем заняться дополнительными параметрами, при помощи которых определим версию программы, ее издателя и URL-адрес для поддержки. Другими словами, будут применяться параметры DisplayVersion, Publisher, а также URL:
    DisplayVersion = 4.35
    Publisher = IrfanView
    URL = www.irfanview.com
  5. Сохраняем получившийся файл с расширением zap. Например, пусть этот файл у нас называется «IrfanView.zap».
    Другими словами, должно получиться приблизительно следующее:


    Рис. 1. Готовый ZAP-файл

Файл практически готов для дальнейшего развертывания. Нам осталось лишь разместить его в общедоступной точке распространения программного обеспечения. Например, если наша точка SDP – это папка Install, создадим там папку «ZAP Files» и поместим туда этот файл. Готово. Теперь можно и переходить непосредственно к распространению программного обеспечения.

Развертывание Irfan View при помощи сгенерированного ранее ZAP-файла


Теперь, на заключительном этапе, следует перейти к оснастке «Group Policy Management» и выполнить следующие действия:
  1. Создается новый объект групповой политики (естественно, при желании вы можете воспользоваться также и любым из существующих объектов GPO), пусть он называется «ZAP Files Publication». Он связывается либо с конкретным подразделением, в которое входят учетные записи пользователей, либо с уровнем всего домена, и из контекстного меню данного объекта следует выбрать соответствующую команду, предназначенную для открытия редактора управления групповыми политиками;
  2. После этого, уже находясь в оснастке «Group Policy Management Editor», нам необходимо развернуть узел User Configuration\Policies\Software Settings, затем перейти к узлу «Software Installation». Чтобы приложение нормально опубликовалось, следует перейти к настройкам данного узла. Другими словами, из контекстного меню данного узла выбираем команду «Properties»;
  3. Здесь, как я уже сказал, чтобы мы смогли без проблем опубликовать наше приложение, нам следует в свойствах этого расширения клиентской стороны указать путь к точке распространения, то есть «\\НАШСЕРВЕР\Install». Помимо этого, на вкладке «Advanced» обязательно необходимо установить флажок на опции «Make 32-bit X86 down-level (ZAP) applications available to Win64 machines». Этих настроек для нас достаточно, сохраняем все внесенные изменения;


    Рис. 2. Настройка расширение CSE GPSI
  4. Теперь уже можно создавать политику распространения программного обеспечения. Другими словами, из контекстного меню данного узла выбираем команду, предназначенную для создания нового пакета. Теперь в отобразившемся диалоговом окне выбираем из раскрывающегося списка типов файлов тип «ZAW Down-level applications package (*.zap)», а затем переходим к папке с созданным ранее файлом ZAP. Естественно, на данном этапе следует выбрать именно этот файл, как показано на следующей иллюстрации:


    Рис. 3. Добавление ZAP-файла для развертывания ПО
  5. В связи с тем, что нам особо и не нужно добавлять какие-то дополнительные опции для этого пакета, в отобразившемся диалоговом окне «Deploy Software» среди всех доступных вариантов останавливаемся на «Published» и создаем инсталляционный пакет.

В конечном счете, узел «Software Installation» данной оснастки должен выглядеть следующим образом:


Рис. 4. Оснастка Group Policy Management Editor после создания пакета
Готово, осталось лишь проверить все внесенные изменения. Сейчас можно даже на текущей машине обновить параметры политики. Сделаем это принудительно, то есть вместе с командой Gpupdate укажем параметры /force /boor /logoff.
Осталось только проинсталлировать опубликованный пакет. Для этого мы заходим в панель управления и переходим к компоненту «Programs and Features». Затем для того, чтобы попасть к расположению, откуда будет проинсталлирован опубликованный продукт, следует перейти по ссылке «Install a program from the network».
Как видите на следующей иллюстрации, здесь можно найти наш Irfan View.


Рис. 5. Приложение, доступное для инсталляции

Заключение


Собственно, как это ни было бы печально, на этой ноте процесс развертывания программного обеспечения средствами функциональных возможностей групповой политики совместно с ZAP-файлами подходит к концу. Из этой статьи вы узнали о том, что собой представляют ZAP-файлы, в каких сценариях их следует использовать, а когда нужно будет останавливаться на иных решениях. Вы узнали о самом синтаксисе таких файлов, а также, естественно, о том, как можно создать такой файл, а затем – как распространить программный продукт при помощи такого файла. Напишите в комментариях, приходилось ли вам в своей практике развертывать программные продукты таким способом и, если не секрет, что именно за приложения вы так развертывали, и встречались ли вам при использовании этого метода какие-либо подводные камни?
Tags:
Hubs:
+20
Comments 6
Comments Comments 6

Articles