Опубликован: 24.08.2010 | Уровень: для всех | Доступ: свободно
Лекция 5:

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

< Лекция 4 || Лекция 5: 12345 || Лекция 6 >
Аннотация: В данной лекции будут рассматриваться вопросы установки приложений. Мы разберем виды программ установщиков, узнаем их цели. Коснемся вопроса автоматизации установки приложений. Создадим свой установочный пакет и портативное приложение. Коснемся вопроса развертывания пакетов приложений.

Перед тем как непосредственно изучать вопросы автоматической установки приложений необходимо ответить на пару вопросов:

  1. Что же такое установка приложений?
  2. Почему некоторые приложения нужно устанавливать, а некоторые работают без установок, так называемые portable приложения?
  3. Чем важна автоматическая установка?
  4. Как она осуществляется?
  5. Каким образом разворачивать автоматически устанавливаемые приложения?

На все эти вопросы мы постараемся найти ответы в данной лекции.

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

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

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

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

  • Windows Installer Service
  • InstallShield
  • Inno Setup
  • Nullsoft Scriptable Install System (NSIS)

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

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

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

MSI

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

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


Рис. 5.1.

Данный инсталлятор, появившись в начале 1999 года, изначально предназначался для установки MS Office 2000. Позже, а точнее к концу года он стал частью операционной системы Windows 2000. На сегодняшний момент Windows Installer получил версию 4.5.

К основным возможностям относятся:

  1. Поддержка как установки, так и удаления приложения.
  2. Возможность произвести откат в любой момент в течении установки.
  3. Корректная работа с правами доступа пользователей.
  4. Поддержка большого количества ключей установки, позволяющие вести лог, подавлять графический интерфейс, указывать место установки, указывать ключ продукта, требовать перезагрузку или наоборот подавлять ее и много другое.

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

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

  • /? - вызвав установщик с таким параметром, мы получим небольшую справку по ключам.
  • /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, у которой есть доступ на запись в данную папку и успешно произведет установку.

Подробнее о программе установщике Windows Installer и пакетах .MSI, .MSP и .MST можно узнать по адресу (http://www.microsoft.com/ru/ru/default.aspx)

< Лекция 4 || Лекция 5: 12345 || Лекция 6 >
Олег Сергеев
Олег Сергеев
Евгений Дедков
Евгений Дедков