Большинство системных
администраторов знают, как можно быстро
установить/переустановить Windows. Для этих
целей существуют программы, позволяющие
сделать точный образ установленной Windows
вместе со всеми установленными
приложениями, драйверами и т.п. Достаточно
переписать этим образом системный раздел и
вот на машине установлена полностью
готовая к работе Windows. Этим занимаются такие
программы как Acronis TrueImage, PowerQuest DeployCenter, Norton
Ghost. С появлением Windows XP появилась также
возможность автоматически установить всю
Windows без вопросов про имя пользователя, ключ
продукта, временные, региональные
настройки и т.п. В ходе установки можно
автоматически установить любые приложения,
ключи реестра, обновленные драйвера. В
английском языке этот процесс называется
“unattended installation”, что по-русски означает “автоматическая
установка". Так что в плане полной
переустановки Windows у системных
администраторов проблем стало меньше. Вся
установка заключается только в том, чтобы
вставить специальный диск в привод
пользователя. А вот как быть если надо на
установленную Windows нужно поставить какое-нибудь
приложение? Софт для бухгалтера, юриста,
инженера? Тут администратор честно идет к
пользователю, честно жмет кнопки, отвечает,
что Да, он согласен с лицензионным
соглашением, вводит ручками серийник и ждет
появления кнопки Finish. Проделывать такую
работу больше чем на одном компьютере —
занятие неблагодарное. Но, к счастью, и
здесь есть незаменимые помощники. О них и
пойдет речь.

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

  1. InstallShield
  2. Windows Installer Service (*.msi)
  3. InstallShield с MSI
  4. Inno Setup
  5. Nullsoft SuperPiMP Install System (NSIS)
  6. WISE Installer

Список инсталляторов, конечно,
неполный, охватить все просто невозможно.

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

Название инсталлятора Запуск с ключом Как распознать
InstallShield setup.exe /s /sms

Наличие файла setup.iss в
директории;
В свойствах установочного файла (который,
кстати, всегда называется setup.exe) будет
что-то типа "InstallShield (R) Setup Launcher".

Windows Installer Service (*.msi) setup.msi "/qn REBOOT=ReallySuppress" Расширение *.MSI
InstallShield c MSI setup.exe /s /v "/qn REBOOT=ReallySuppress" Приложения могут быть в виде
отдельных MSI файлов или поставляться с
установщиком setup.exe.
Inno Setup setup.exe /VERYSILENT /SP- При запуске инсталлятора в
самом первом окне кликните на иконку в
левом верхнем углу и выберите пункт About
Setup из меню.
Nullsoft SuperPiMP Install System (NSIS) Setup.exe /S Внизу инсталлятора надпись
Nullsoft Install System
WISE Installer Setup.exe /s Надпись на первом окне
инсталлятора Initializing Wise Installation Wizard

Несколько комментариев к таблице.

  1. Для Windows Installer можно задавать ключи /qb или
    /qn. Первый покажет прогресс установки, а
    второй полностью скроет все окна и
    незаметно установит приложение. Если вы
    хотите отобразить прогресс установки, но
    не показывать кнопку Cancel, исключая
    возможность прерывания установки
    пользователем, то используйте ключ /qb!.
    Некоторые приложения требуют
    перезагрузки компьютера после установки.
    Чтобы этого избежать используйте
    свойство REBOOT=ReallySuppress вместе с /qn или /qb,
    заключая все выражение в кавычки.

  2. InstallShield с MSI могут быть двух типов: "InstallScript
    MSI" и "Basic MSI". InstallScript MSI использует
    традиционные ключи InstallShield. В табличке
    приведены ключи для Basic MSI. Обратите
    внимание, что ключ /v и кавычки пишутся
    слитно.

  3. Регистр ключей имеет значение, то есть /S
    и /s — не одно и то же.

Для других типов инсталляторов
иногда о ключах можно узнать, запустив
программу с ключом /? или /help.

Отдельный разговор если
инсталлятор при установке требует ввод
серийного номера. Например, Nero Burning Rom может
быть автоматически установлен следующей
командой:

nero6303.exe /silent /noreboot /no_ui /sn=xxxx-xxxx-xxxx-xxxx-xxxx-xxxx /write_sn

Можно также создать
регистрационный файл, который будет
вносить регистрационные данные прямо в
реестр. Пример файла regnero.reg:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Ahead\Nero — Burning Rom\Info]
"User"="InsertName"
"Company"="InsertCompanyName"
"Serial5"="InsertSerial"

Для Nero 6-й версии последняя строка
должна быть такой:

"Serial6"="InsertSerial"

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

ECHO Installing Nero Burning Rom
ECHO Please wait…
REGEDIT /S D:\Install\regnero.reg
start /wait D:\Install\Nero551054.exe /silent /noreboot /no_ui
Где D — буква привода (универсальной
переменной типа %CDROM%, к сожалению, нету).

Ключ /wait команды start позволит
дождаться окончания процесса установки.
Это необходимо, чтобы не запускалось сразу
несколько процессов инсталляции. В командный
файл можете записать команды
для автоустановки всех необходимых
приложений.

Таким образом, вы можете записать
все инсталляторы и командный файл autosetup.cmd
на диск и запускать автоустановку через
него. Можно также бросить в корень диска
файл autorun.inf:

[Autorun]
Open=autosetup.cmd

Тогда командный файл запустит
автоустановку сразу при вставке диска в
привод.

Если с ключами вам работать не
нравится, кажется сложным, или если вы не
смогли подобрать ключи для автоматической
установки, то можете попробовать программы
эмулирующие действия пользователя при "нормальной"
установке приложения. Общий смысл работы программ
такого типа в следующем. Инсталлятор
запускается в обычном режиме без ключей, а
все действия, такие как нажатие кнопок, ввод
серийных номеров, расстановка флажков,
происходят в режиме эмуляции действий
пользователя. В результате вы увидите окно
инсталлятора в котором сами нажимаются
кнопки, снимаются/ставятся флажки, вводятся
серийные номера и т.п. К программам такого рода
относятся: AutoIt и LazySetupCD. 

Для AutoIt вы должны писать скрипты
на специальном скриптовом языке. Например, для установки
программы LazySetupCD скрипт будет такой:

//запуск установки из директории c:\temp
Run, c:\temp\LazySetupCD\setup.exe
//дождемся появления нужного окна
WinWaitActive, Лицензионное соглашение
//нажмем Да, т.е. отправим нажатие Enter
Send, {Enter}
//дождемся появления следующего окна
WinWaitActive, LazySetupCD v.1.1
//нажмем OK
Send, {Enter}
//завершение
Exit

По адресу http://www.msfn.org/board/index.php?showtopic=20197
вы можете скачать готовые скрипты для
автоматической установки программ через
AutoIt. Написание скриптов для AutoIt
задача нетривиальная — надо изучать
синтаксис и операторы скриптового языка.
Интерфейс и справка программы англоязычная,
что тоже не относится к плюсам для
русскоязычных пользователей.

Программа LazySetupCD (autosetup.org.ru) от
этих недостатков избавлена. Эта программа позволяет вам
создавать установочные диски, с которых вы
сможете устанавливать приложения в
автоматическом режиме, т.е. без участия
пользователя, по заранее заданному
алгоритму. Для составления алгоритма
установки какой-нибудь программы вам
необходимо указать все действия, которые
должен эмулировать LazySetupCD при установке. К
таким действиям относятся:

  1. Нажать кнопку
  2. Поставить/снять флажок
  3. Установить переключатель
  4. Ввести текст

Этих действий вполне достаточно, чтобы
составить алгоритмы установки для
большинства программ. Составление
алгоритма осуществляется через интерфейс
LazySetupCD, никаких скриптов писать не придется.
Кнопки, флажки и переключатели
идентифицируются по их названию. То есть,
если вы хотите чтобы LazySetupCD три раза подряд
нажал кнопку Next при установке какой-нибудь
программы, то вам достаточно три раза
добавить действие "Нажать кнопку Next". В AutoIt для того чтобы
запрограммировать подряд три нажатия
кнопки с одним названием, вам приходилось
указывать признак окна, в котором
располагается кнопка. LazySetupCD в отличие от
AutoIt не путается в нажатиях и долбить три
раза одну и ту же кнопку не станет. Для ввода текста (например,
серийного номера) вам тоже не придется
ничего дополнительно указывать. Если после
очередного нажатия кнопки Далее вам будет
предложено ввести имя пользователя и
серийный номер, то в LazySetupCD вам достаточно
будет задать действие "Ввести текст". Каждый
текстовый фрагмент будет вводиться в
порядке табуляции в окне инсталлятора. С помощью LazySetupCD вы сможете
записать инсталляторы вместе с алгоритмами
установки сразу на диск. Вместе с LazySetupCD
поставляется модуль autorun.exe, который
записывается на диск и который будет
проводить автоустановку. С его помощью вы
сможете выбрать программы, которые хотите
установить в автоматическом режиме. Для LazySetupCD также есть набор
готовых скриптов автоустановки, которые вы
можете скачать с сайта autosetup.org.ru.

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

  1. С помощью ключей и командных файлов
  2. С помощью AutoIt
  3. С помощью LazySetupCD

Самым быстрым методом,
безусловно, является метод установки через
ключи и командные файлы, т.к. в этом случае
не появляется окон установки и не
расходуется время на их отрисовку. Однако,
по этому методу не всегда удается достичь
желаемого результата (например, не удастся
подобрать нужные ключи автоустановки).
Тогда на помощь приходят эмуляторы
действий пользователя — AutoIt и LazySetupCD. Чтобы
эффективно начать использовать AutoIt
придется потратить время на изучение
синтаксиса специального скриптового языка.
LazySetupCD предоставляет более простой и
удобный интерфейс для составления
алгоритма установки.

Чем пользоваться — решать вам.

При подготовке материала
использовались данные сайтов:


unattended.OSzone.net


autosetup.org.ru

Системный администратор №№4-7 2005 г.

Оставить мнение

Check Also

Бронируем Windows. Комплексный аудит безопасности — от файрвола до Active Directory

В этой статье мы пройдемся по самым популярным и мощным утилитам для проверки уровня защищ…