Тихая установка приложений (silent install)

Оглавление
24 сентября 2010 г.

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

К минусам тихой установки можно отнести всякие панели в обозревателях и ярыки типа E-Bay на рабочем столе, поскольку чаще всего подобные бонусы включены в установку по-умолчанию. Но это скорее исключение, хотя и не редкое. Подробно о тихой установке читайте в этой статье. 

На самом деле тихая установка - это очень удобная процедура, которая экономит время и упрощает жизнь системного администратора. Я, например, использую режим silent install после чистой установки ОС.

Режим тихой установки включается при помощи параметров или (как их ещё называют) ключей. Если вы не знаете, что это такое, можете восполнить пробел в знаниях при помощи этой статьи: BAT файлы. Запуск процедуры можно осуществить несколькими способами:

  1. Из командной строки, используя параметры.
  2. Аналогично через bat-файл (com-файл).
  3. Через SFX-архив с файлом конфигурации.

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

  1. Install Shield
  2. WISE Installer
  3. NSIS
  4. Inno Setup

Подробнее о ССИ и их ключах можно посмотреть тут. Также можно попробовать найти нужный ключ с помощью специального ПО - Universal Silent Switch Finder или почитать документацию на сайте разработчиков той программы, ключи к которой вы ищите.

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

 /silent
 /verysilent
 /quiet
 /qb
 /qn
 /qr
 /passive
 /s
 /S
 /qn REBOOT=ReallySuppress
 /s /v" /qn REBOOT=ReallySuppress

Ключи для отмены перезагрузки:

 /norestart
 /noreboot

Антивирус Avast имеет опцию тихой установки в корпоративной версии. В бесплатной (Home) версии по заявлениям разработчиков тихой установки нет. Однако, если вы в курсе как работает инсталятор InstallShield, вы поймете, что это утверждение не соответствует действительности, поскольку этот инсталятор сам по себе поддерживает ключ тихой установки /S. А значит все продукты, выполненные на его базе - тоже. И Avast Home не исключение.

Для запуска тихой установки архиватора 7Zip (сборщик NSIS) нужно запустить установщик с ключом /S. Положите установщик 7Zip (7z.exe) в корень диска С. Затем откройте меню Пуск › Выполнить (или   + R) и введите в форму следующую команду:

C:7z.exe /S

Архиватор установится без диалоговых окон и признаков внешней активности.

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

Тихая установка с помощью sfx-архивов

Выше я упомянул о случаях, когда вариант с ключами может не работать. Режим тихой установки может быть просто не предусмотрен разработчиком. В этом случае достаточно часто можно выйти из положения, используя sfx-архивы. Sfx-архив – это само-распаковывающийся архив.

Одно из его достоинств в том, что для его распаковки не нужен архиватор. К тому же с помощью него можно существенно расширить возможности тихой установки, да и возможности установки ПО вообще.

Например, сразу после распаковки sfx-архив позволяет запустить один или несколько распакованных файлов, удалить файлы после выполнения операций и много чего ещё. В этих операциях принимают участие конфигурационные файлы, содержащие команды (например, BAT файлы).

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

Чтобы в общих чертах представить конфигурационный файл (для тех, кто не в курсе) ниже приведён пример такого файла для программы Firefox Portable

[FirefoxPortable]
FirefoxDirectory=Appfirefox
ProfileDirectory=Dataprofile
SettingsDirectory=Datasettings
PluginsDirectory=Dataplugins
FirefoxExecutable=firefox.exe
AdditionalParameters=
LocalHomepage=index.html
DisableSplashScreen=false
AllowMultipleInstances=false
DisableIntelligentStart=false
SkipCompregFix=false
RunLocally=false

Стоит отметить, что возможности и режимы работы программ со временем могут меняться. Firefox Portable может перестать поддерживать ini-файлы, а будущие версии инсталятора Avira – понимать и подхватывать файлы инструкций. Поэтому при экспериментах стоит ознакомиться с актуальной информацией о возможностях программ, которые вы планируете использовать.

Как sfx-архив может помочь процессу тихой установки, я думаю, мы разобрались. Теперь настало время перейти к практической части. Для создания sfx-архивов я пользуюсь доработанным модулем архиватора 7Zip. Весь процесс создания sfx-архива и запуска при помощи него режима тихой установки описан в статье Олега Щербакова (разработчика модуля). Я же очень кратко перескажу написанное в ней, пояснив пару моментов.

Сразу отмечу, что цель примера - запаковать установщик программы в sfx-архив таким образом, чтобы он после распаковки автоматически начинал устанавливаться по-тихому. В данной статье в качестве подопытного будет выступать установщик архиватора 7Zip (7z465.exe), хотя можно использовать любой другой, главное знать ключ тихой установки. У установщика 7Zip это ключ /S. Итак, для исполнения задуманного нам понадобится:

  1. Модуль sfх Олега Щербакова.
  2. Архиватор 7Zip. Им мы будем запаковывать установщик программы в архив формата ".7z". Архиватор, понятное дело, надо установить в систему.
  3. Установщик программы (как я отметил выше, в примере я использую 7z465.exe).
  4. Архив .7z, который мы получим, запаковав установщик программы архиватором 7Zip.
  5. Конфигурационный файл config.txt, в котором будут содержаться иструкции "поведения" sfx-архива при распаковке, т.е. в данном примере в нём будет содержаться команда на запуск тихой установки.
    Заклинание для создания sfx-архива (вводится в консоли).

Для удобства я положил все ингредиенты в один архив, который вы можете скачать по этой ссылке. Также, если скачать вот эту программу, можно поменять иконку архива (как это сделать читайте тут).

Обратите внимание, кодировка файла конфигурации config.txt должна быть UTF-8.

Итак, получаем после скачивания и распаковки папку со всем этим добром, далее по списку:

  1. Устанавливаем архиватор 7zip (лежит в папке).
  2. Запаковываем подопытного 7z465.exe (лежит в папке) в 7z-архив. Получаем на выходе файл 7z465.7z.
  3. Открываем консоль (Пуск › Выполнить - cmd) и переходим в папку с файлами: cd C:files (пример для папки "files" на диске "С").
  4. Запускаем в консоли заклинание:
    • COPY /b 7zsd.sfx + config.txt + 7z465.7z 7Zip.exe
    • 7zsd.sfx - имя модуля sfx.
    • config.txt - имя файла конфигурации.
    • 7z465.7z - имя запакованного установщика 7z465.exe.
    • 7Zip.exe - имя sfx-архива на выходе.

В результате получаем sfx-архив 7Zip.exe, который представляет собой исполняемый файл или самораспаковывающийся архив, внутри которого содержится инструкция config.txt. Содержание инструкции следующее:

;!@Install@!UTF-8!
RunProgram="7z465.exe /S"
GUIMode="2"
;!@InstallEnd@!
  • ;!@Install@!UTF-8!
    ;!@InstallEnd@! – строки начала и конца файла инструкции. Это комментарии, их можно удалить. А вот остальные две нужны обязательно.
  • GUIMode="2" – режим распаковки архива без оповещений (по-тихому).
  • RunProgram="7z465.exe /S" – строка инструкции, в которую необходимо вносить изменения в зависимости от того, какой установщик вы используете. В строке прописывается имя установщика, который запаковывается в 7z-архив и который требуется установить по-тихому + ключ тихой установки.

На этом всё. Ознакомившись со статьями Олега (ссылки выше), можно создать различные архивы, выполняющие абсолютно разные задачи. Удачных экспериментов!

Похожие статьи
создание bat-файлов

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

02 апреля 2010 г.
Работа в командной строке Windows

В принципе в командной строке Windows всё просто. Любой, кто умеет печатать, сможет без труда работать в ней. Но для человека непосвященного командная строка может показаться сложной. Чтобы без проблем освоиться, надо знать основные команды и общие правила работы.

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

30 июня 2011 г.

Яндекс.Метрика