Опубликован: 12.03.2010 | Доступ: свободный | Студентов: 2218 / 888 | Оценка: 4.57 / 4.45 | Длительность: 04:13:00
Лекция 3:

Автоматизация процесса установки приложений

< Лекция 2 || Лекция 3: 123 || Лекция 4 >
Аннотация: В данной лекции даются основные принципы автоматизации процесса установки и настройки приложений.

Автоматическая установка приложений

Что же такое установка приложений? Почему некоторые приложения нужно устанавливать, а некоторые работают без установок, так называемые portable приложения?

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

Программы под названием portable перед своим запуском при необходимости сначала изменяют значения реестра, а потом уже начинают работу. Если корректно завершить данную программу, то ключи, внесенные до начала работы будут удаленны. Такие программы не требуют установки, но и зачастую, запускаются дольше обычных.

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

Существуют несколько наиболее распространенных установщиков для операционных систем Windows:

  1. Windows Installer Service
  2. InstallShield
  3. Inno Setup
  4. Nullsoft Scriptable Install System (NSIS)
  5. WISE Installer

Так же хотелось бы выделить в отдельную категорию программы, позволяющие переупаковывать установочные пакеты. Они делятся на 3 вида:

  1. Анализируют структуру установщика и позволяют ее конвертировать.
  2. Делают снимок системы до установки и после, а затем сравнивают все изменения и заносят их в новый установщик.
  3. Производят детальный анализ действий установщика и записывают все изменения. Затем данные изменения запаковывают в установщик.

В основном данные программы позволяют переупаковывать установочные пакеты в наиболее распространенный установщик Windows Installer.

Windows Install Services

Данный инсталлятор использует файлы .msi (MicroSoft Installer). Сам файл msi это не исполняемая программа, а набор сценариев для выполнения установки.

Вот так выглядит один из процессов установки, осуществляемой с помощью Windows Installer рис. 3.1.


Рис. 3.1.

Данный инсталлятор очень удобен в использовании и поддерживает следующие ключи:

  • /? - вызвав установщик с таким параметром мы получим небольшую справку по ключам.
  • /qb - автоматизирует установку, показывая только полосу прогресса установки.
  • /qb-! - аналогичен /qb, но не отображает кнопку Cancel, т.е. нет возможности отменить процесс установки.
  • /qn - аналогичен /qb, только не показывает ни прогресса, ни окна установки, а производит установку в скрытом режиме.
  • /norestart - позволяет принудительно запретить перезагрузку системы после установки приложения, если такое требуется.

Так же существуют еще некоторые свойства параметров:

  • TARGETDIR=[путь] - определяет папку установки приложения
  • ALLUSERS=[1|2|""] - определяет устанавливать приложения для всех пользователей или для текущего. По умолчанию используется параметр 1 - т.е. установка для всех пользователей, так же можно задать параметр 2 или "" - т.е. установка для текущего пользователя.
  • USERNAME=[строка] - указываем имя пользователя
  • COMPANYNAME=[строка] - название организации
  • PIDKEY=[строка] - задает лицензионный ключ, необходимы для установки приложения.
  • REBOOT=[Force|Suppress|ReallySuppress] - Force (принудительная перезагрузка), Suppress (отложенная перезагрузка), ReallySuppress (без перезагрузки).

Например:

Msiexec /i C:\start.exe targetdir=C:\Programm allusers=2 username="Иван" companyname=Comp pidkey=12345-678901-23456-7890-12345

Еще одним интересным параметром интерпретатора msiexec является ключ /a. Данный ключ позволяет создать так называемую административную точку. Во время создания данной точки можно по возможности ввести название организации, пользователя и даже ключ продукта. Административная точка это фактически распакованный и предустановленный пакет msi. К административной точке можно применить ряд действий, например, интегрировать пакет обновлений, если он представлен в формате msp. При установке программы из административной точки пропускаются все возможные этапы распаковки архива и процесс установки ускоряется.

Примеры:

msiexec /a C:\program.msi TARGETDIR=C:\prog

msiexec /p update.msp /a C:\Prog\program.msi

Сначала мы создаем административную установку, а потом добавляем обновления в административную установку, таким образом, если запустить C:\prog\program.msi, то приложение установится сразу же с обновлениями и не надо будет отдельно запускать файл установки обновлений.

Если же необходимо задавать уникальные данные для каждой установки, например разный набор компонентов, то можно использовать трансформирующий файл. Он имеет формат .mst

C:\prog\program.msi TRANSFORM=trans.mst /qn

Таким образом установщик приложения будет получать ответы из файла trans.mst

Так же существуют специальный пакет .msp, который является обновлением для программного продукта. Данный пакет можно непосредственно интегрировать в точку административной установки.

Так как установщик Microsoft Installer удобно использовать в установке приложений он получил большое распространение. Даже выпустили набор утилиты для создания или перевода установочных пакетов других производителей в формат msi. Наиболее популярные из них: InstallAware Studio Admin for MSI, MSI Factory, Orca, AdminStudio SMS Edition, Advanced Installer, Windows Installer XML (WiX) toolset, WinINSTALL, InstallRite, EMCO MSI Package Builder.

И еще одним несомненным плюсом установки приложений с помощью Microsoft Installer является его запуск под учетной записью System. Допустим, у нас есть учетная запись, которая входит в группу пользователи. Как известно она достаточно ограниченна в правах и у нее нет возможности записывать в папку Program Files. В этом можно убедиться нажав на папку правой кнопкой мыши, выбрать пункт меню Свойства, потом вкладку безопасности и просмотреть разрешения для данного пользователя. Но у него есть разрешения на установку приложений. Таким образом, запустив установочный пакет msi, Microsoft Installer установит приложение под учетной записью System, у которой есть доступ на запись в данную папку и успешно произведет установку.

Подробнее можно узнать по адресу (http://www.microsoft.com/ru/ru/default.aspx )

< Лекция 2 || Лекция 3: 123 || Лекция 4 >
Сергей Мясников
Сергей Мясников
Россия
Олег Корсак
Олег Корсак
Латвия, Рига