Поиск на сайте: Расширенный поиск


Новые программы oszone.net Читать ленту новостей RSS
CheckBootSpeed - это диагностический пакет на основе скриптов PowerShell, создающий отчет о скорости загрузки Windows 7 ...
Вы когда-нибудь хотели создать установочный диск Windows, который бы автоматически установил систему, не задавая вопросо...
Если после установки Windows XP у вас перестала загружаться Windows Vista или Windows 7, вам необходимо восстановить заг...
Программа подготовки документов и ведения учетных и отчетных данных по командировкам. Используются формы, утвержденные п...
Red Button – это мощная утилита для оптимизации и очистки всех актуальных клиентских версий операционной системы Windows...

Типы инсталляторов

Текущий рейтинг: 4.11 (проголосовало 379)
 Посетителей: 110567 | Просмотров: 190341 (сегодня 0)  Шрифт: - +

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

InstallShield | Windows Installer Service (*.msi) | InstallShield с MSI

InnoSetup | Nullsoft Scriptable Install System (NSIS) | Wise Installer

InstallShield

Чтобы автоматически установить приложение, использующее InstallShield, вам надо предварительно создать файл setup.iss на рабочей ОС.

  1. Запустите приложение из командной строки, используя ключ /r (например, Setup.exe /r)
  2. Пойдет процесс установки, вы будете отвечать на вопросы - все как обычно. Главное, не выбирайте опцию перезагрузки компьютера сразу после установки ("Restart the computer now")
  3. После окончания установки зайдите в вашу системную директорию (C:\Windows) и извлеките оттуда файл setup.iss. Перед автоматической установкой положите файл в директорию, где лежит ваша программа.

В принципе, достаточно запустить автоматическую установку приложения таким образом:

start /wait %systemdrive%\install\setup.exe /s

Проблема в том, что инсталлятор раздваивается на два процесса и закрывает первый, так что start /wait отрабатывает вхолостую. Вы, наверняка, захотите поместить эту команду в пакетный файл, устанавливающий также и другие приложения. В таком случае правильнее использовать еще и ключ /sms, который заставит инсталлятор дождаться окончания установки приложения. Таким образом, команда будет выглядеть так:

start /wait %systemdrive%\install\setup.exe /s /sms

Установка InstallShield приложений методом RunOnceEx с CD

При установке приложений, использующих InstallShield, методом RunOnceEx с CD нужно указывать путь к лог-файлу (*.log). Для примера ниже приводятся команды на установку Kerio Personal Firewall. Путь к лог-файлу выделен.


REG ADD %KEY%\045 /VE /D "Kerio Personal Firewall 2.1.5" /f
REG ADD %KEY%\045 /V 1 /D "%CDROM%\apps\KPF\Setup.exe -s -f2\"%systemdrive%\kerio.log\"" /f

Как узнать, используется ли InstallShield для упаковки вашей программы?

Большинство из них может быть извлечено из установщика, в свойствах установочного файла (который, кстати, всегда называется setup.exe) будет что-то типа "InstallShield (R) Setup Launcher", и наконец наличие файла setup.iss в системной директории развеет все сомнения.

Windows Installer Service (*.msi)

Если у вашего файла расширение *.MSI, то он был запакован при помощи Windows Installer. Эти файлы можно устанавливать с ключами /qb и /qn. Вкратце, /qb и /qn аналогичны. Первый покажет прогресс установки, а второй полностью скроет все окна и незаметно установит приложение. Если вы хотите отобразить прогресс установки, но не показывать кнопку Cancel, исключая возможность прерывания установки пользователем, то используйте ключ /qb-!.

Некоторые приложения требуют перезагрузки компьютера после установки. Чтобы этого избежать используйте свойство REBOOT=ReallySuppress вместе с /qn или /qb, заключая все выражение в кавычки. Например:

setup.msi "/qn REBOOT=ReallySuppress"

Подробнее о ключах Windows Installer можно прочесть в этой статье MSDN. Смотрите также статью Использование ключей и свойств установщика Windows.

InstallShield с MSI

Начиная с версии 7 InstallShield способен производить MSI файлы. Приложения могут быть в виде отдельных MSI файлов или поставляться с установщиком setup.exe. Последние в свою очередь бывают двух типов: "InstallScript MSI" и "Basic MSI". InstallScript MSI использует традиционные ключи InstallShield. Basic MSI - отдельная история.

Чтобы автоматически установить приложение, использующее Basic MSI, вам нужно указать ключи /s /v"...". Многоточие нужно заменить на ключи, которые вы хотите передать непосредственно Windows Installer (msiexec). Иными словами, если вы хотите установить приложение абсолютно незаметно и избежать перезагрузки, то используйте такую команду

setup.exe /s /v"/qn REBOOT=ReallySuppress"

Inno Setup

Приложения, запакованные в бесплатный Inno Setup, поддерживают ключи /SILENT и /VERYSILENT (разница лишь в том, что второй не показывает полосу прогресса во время установки)

setup.exe /VERYSILENT

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

Чтобы подавить это окошко используйте такой ключ:

setup.exe /VERYSILENT /SP-

Осталась еще одна проблема. Некоторые инсталляторы Inno Setup попытаются запустить программу по окончании установки. ISOBuster как раз такой случай. Тогда приходится убивать процесс, используя встроенную в Windows XP утилиту Taskkill. Ниже пример кода для установки ISOBuster:

ECHO.
ECHO Installing ISOBuster 1.4
ECHO Please wait...
start /wait %systemdrive%\install\Applications\ISOBuster\IsoBuster14.exe /VERYSILENT /SP-
ECHO.
ECHO Killing ISOBuster.exe process

taskkill.exe /F /IM isobuster.exe
ECHO.

Примечание. Утилита Taskkill не входит в состав Windows XP Home. Вместо нее можно использовать утилиту PsKill, входящую в состав PsTools от Sysinternals. Синтаксис утилиты очень прост. Продолжая пример с IsoBuster, команда для завершения процесса будет выглядеть так.

pskill.exe -t isobuster.exe

Подробнее о ключах InnoSetup вы можете прочесть в этой теме на конференции OSZone (спасибо, Mchik).

Как узнать, используется ли Inno Setup для упаковки вашей программы?

При запуске инсталлятора в самом первом окне кликните на иконку в левом верхнем углу и выберите пункт About Setup из меню.

Nullsoft Scriptable Install System (NSIS)

Приложения, использующие бесплатный NSIS, запускаются с ключом -S (например, Setup.exe /S). Вы также можете использовать ключ /D для указания директории установки. Ниже пример установки программы CD-ex:

Setup.exe /S /D=E:\Software\7-zip

Приложения Winamp и CDex показывают диалоговое окно, сообщающее об окночании инсталляции. Как это обойти - непонятно, но это не повлияет на остальные пакетные команды. Отмечу, что CD-ex можно устанавливать без инсталлятора.

Как узнать, используется ли NSIS для упаковки вашей программы?

Смотрите скриншот, он примерно одинаков для всех приложений

WISE Installer

Программы, запакованные WISE Installer, используют ключ /s. Все что нужно, это

Setup.exe /s

Как узнать, используется ли WISE Installer для упаковки вашей программы?

Большинство будет показывать заставку в начале инсталляции

Другие же могут развернуть окно с темно-синим фоном во весь экран, отображая окно установки в центре.

Автор: Вадим Стеркин aka Vadikan  •  Иcточник: (частично переведено с английского) unattended.msfn.org  •  Опубликована: 26.02.2005
Нашли ошибку в тексте? Сообщите о ней автору: выделите мышкой и нажмите CTRL + ENTER


Оценить статью:
Вверх
Комментарии посетителей
28.11.2010/23:38  AYuPro

Может кому будет интересно можно добавить в статью информацию о программе Orca (Касатка) для вскрытия, просмотра пакетов установки *.msi, http://soft.mydiv.net/win/files-Orca.html

Добавьте в тему еще один тип инсталляторов - Spoon Installer
--silent установка без вмешательства пользователя
--installto задает папку в которую будет установлено приложение
Пример:
c:\setup.exe --silent --installto C:\Folder\AnotherFolder\
офф.сайт: http://spoon-installer.sourceforge.net/
21.03.2011/16:21  Siveru

У меня так не работает: taskkill.exe /F /IM isobuster.exe
Работает так: taskkill /F /IM isobuster.exe /T
29.07.2011/20:28  yadanilov

Прошу прощения, я не совсем понял про InstallShield. Как найти лог-файл? Или, что нужно сделать для его поиска?
06.10.2012/22:40  perepelica

У меня один единственный вопрос - где найти файл "setup.iss". Делал через "выполнить" все как положенно. Дописывал после setup.exe и /r, и /s - а "setup.iss" в папке Windows не появляется.
Помогите пожалуста.
23.10.2012/11:29  Maksim_us

Вот еще один инсталлятор с поддержкой msdos команд:
http://www.actualinstaller.ru
19.03.2017/20:02  vserd

InstallShield
создание файла ответов сразу в нужном месте
setup -r -f1c:\my_cool_program\my_response_file.iss
использование:
setup -s /sms [-f1response_file] [-f2IS_log_file]
setup -s /sms -f1c:\my_cool_program\my_response_file.iss -f2Mylog_file.log
Комментарии отключены. С вопросами по статьям обращайтесь в форум.