Эволюция инсталляторов
Товар в красивой упаковке проще продавать. А программу в хорошем инсталляторе?
Ведь не факт, что инсталлятор — аналог упаковки. Это скорее процесс вынимания продукта из коробки. Много раз нажать «Next», в самом конце — «Finish», и никакого там аккуратного развязывания ленточек. Порвали слюду, небрежно вскрыли коробку — «Что там у нас внутри?»
Сама коробка не представляет особой ценности. Для некоторых товаров специально делают бюджетную упаковку. Зато важно, чтобы процесс был предсказуемым. Если инсталлятор предсказуем, то его внешний вид и возможности не имеют значения. Но когда что-то пойдёт «не так», или пользователю вдруг не хватит стандартных опций, всплывут все недостатки — как внешнего вида, так и возможностей.
Чего хотят от инсталляторов
Корпоративному пользователю, например, будет интересно узнать, как поставить программу в silent режиме, и какие у инсталлятора имеются ключи командной строки. Поддержка стандартного для Windows msi-файла инсталлятора тут окажется как нельзя кстати.
Если инсталлятор задаёт сложные вопросы, важно, чтобы они были на языке, понятном пользователю. Угадать этот язык сразу — та ещё проблема. Язык интерфейса операционной системы не всегда будет правильным выбором. Поэтому предоставление возможности выбора языка является неотъемлемой частью современных инсталляторов.
Раньше мы уже писали о том, как можно реализовать выбор языка и сделать «настоящий» msi. Мы научились ценить традиции разных языковых культур и уважать строгие корпоративные требования. Но всё ли учтено? Ведь кто-то вместо инсталлятора захочет сразу иметь portable-версию программы. А пользователи, работающие под учетной записью с ограниченными правами? Многие программы они просто не могут поставить, не позвав администратора. И не всегда это ошибка администратора, чаще — разработчика.
Инсталляторы «два в одном»
Сразу после запуска инсталлятора, можно предлагать не только установить программу, но и запустить её без установки. Такая программа может хранить файлы настроек и данные пользователя в одной папке с инсталлятором, выступая одновременно и инсталлятором, и portable-версией. А для распаковки программы из msi, всегда можно использовать административную установку — мало кто знает, что она создавалась как раз для этой цели. Надо только не забыть удалить временные файлы по завершении работы программы.
Такой подход избавляет от необходимости переделывать концепцию огромной зелёной кнопки «Скачать» на сайте, т.к. одного файла будет достаточно тем, кто хочет программу установить — и тем, кто хочет ее запустить только один раз, и даже тем, кто хочет носить ее с собой на флешке. Несложно научить программу работать с заданным файлом настроек и хранить пользовательские данные по заданному пути. Важно не трогать реестр, а в случае интеграции с другими программами — предусмотреть поддержку относительных путей. И не стоит забывать, что файл инсталлятора внезапно может оказаться на компакт-диске :-).
Ограниченные права учетной записи
Домашние пользователи, а также сотрудники компаний, в которых работают добрые системные администраторы, с такой проблемой не сталкиваются. Разработчики, впрочем, тоже. Работая на своих компьютерах с неограниченными правами, мы часто забываем о поддержке пользователей с ограниченными возможностями правами.
Дело в том, что в Windows Installer имеется два способа установки программы — для всех пользователей системы (самый распространённый), и для текущего пользователя, запустившего инсталлятор. Причём в корпоративном мире не редкость, когда у текущего пользователя недостаточно привилегий для установки программы в режиме «для всех пользователей».
Чтобы сделать инсталлятор, поддерживающий оба способа установки, и без проблем работающий на Windows Vista (в Windows 7 добавили поддержку т.н. «Single Package Authoring»), разработчику необходимо предпринимать специальные действия.
А именно, каждый раз, перед запуском установки «для текущего пользователя» патчить msi-файл инсталлятора, устанавливая в «1» третий бит специального свойства «Word Count» в так называемом «Summary Information Stream» (который является неотъемлемой частью msi-файла). Для этого можно использовать функцию MsiSummaryInfoSetProperty(). Если msi-файл имеет цифровую подпись, то при установке в режиме «для всех пользователей» будет «синее» окошко UAC. При установке же в режиме «для текущего пользователя» факт испорченной цифровой подписи на UAC не влияет, поэтому такой подход прекрасно работает.
Если же не использовать описанные выше шаманские танцы с бубном для Windows Vista, а просто установить третий бит в «1» во время сборки msi, то даже системный администратор не сможет установить такой msi в режиме «для всех пользователей» :-). И наоборот, если третий бит не ставить, то будет выводиться окошко UAC, а в худшем случае требоваться пароль администратора.
Как упаковать?
Для реализации перечисленных возможностей нужен exe-файл инсталлятора. В него уже упаковывается msi-файл. Движок пользовательского интерфейса также желательно выносить в exe, чтобы обеспечить не только переключение языка установки «на лету», но и выбор опций ещё до запуска msi-установки. Важно не забыть про взаимодействие с системой Windows Installer, обеспечить корректное обнаружение уже установленной версии и поддержку удаления. Корпоративный заказчик получает тот же msi-файл, что и упакованный в exe — ему не нужна поддержка ни portable-режима, ни установки для текущего пользователя, а язык указывается в командной строке.
Чтобы разработать такой exe-инсталлятор, необходим опыт в разработке пользовательских интерфейсов, либо возможность использовать подходящий «фреймворк». Но вне зависиости от выбранных инструментов, понадобится глубокое знание WinAPI и API Windows Installer.
И попробовать
Бета-версия бесплатного Advanced IP Scanner, нашего маленького полигона по обкатыванию новых технологий на людях, обзавелась новым инсталлятором, который на деле реализует большую часть описываемых возможностей. И запуск без установки, и смена языка, и msi-файл внутри — всё в нём есть. Рекомендуется качать, смотреть и изучать. 🙂
Для выбора языка, отображения диалогов и запуска portable-версии мы использовали Inno Setup. Начинка (msi) осталась прежней, на WiX, только теперь без диалогов.
- Скачать Advanced IP Scanner 2.3.226 beta.
- Ознакомиться с продуктом.
- Проверить его совместимость с вашей ОС.
- Прислать нам баг-репорт и/или пожелания по улучшению через специальную форму на странице бета-тестирования.
Заранее благодарим за ваше участие. Вопросы разработчикам и комментарии приветствуются!
Типы инсталляторов и их ключи для тихой установки
Здравствуйте, дорогие читатели.
Сегодня, как и обещал вам, расскажу о самых популярных инструментах, создающих инсталляторы программ.
Многие из них весьма просты, так что могут использоваться не только программистами и производителями ПО, но и теми, кто захочет собрать инсталлятор своими руками.
Однако сборка установочных пакетов не тема данной статьи, тема моей статьи: какие основные ключи поддерживают те или иные инсталляторы, как их использовать и как определить, какой инсталлятор используется для той или иной программы.
InstallShield
Начну пожалуй с самой объёмной, самой любимой крупными коммерческими разработчиками По. InstallShield — это мощный профессиональный инструмент создания надежных инсталляционных пакетов.
С помощью Project Assistant разработчик шаг за шагом проходит все этапы создания инсталлятора. Никакого обучения не требуется, все основные возможности InstallShield X Express возможно узнать в течении менее одного дня. Полная интеграция со средой разработки Visual Studio .NET, поддержка .NET, Linux, Web services и приложений для мобильных устройств.
Встретить его можно очень часто в платных продуктах, например:
Как правило такие инсталляторы не вызывают сложностей, достаточно их запустить с ключом “S”, и программа будет установлена в тихом режиме.
Примечание: Если параметр “wait” не отрабатывает, пробуйте использовать ключ “SMS”
Пример:
Start /wait setup.exe /s /sms
Как определить, что использовался Install Shield для упаковки инсталлятора
Открываем свойства файла, на вкладке «Подробно» в пунктах «Описание» и «Исходное имя файла» как правило будет указано значение «setup.exe”, а в «Название продукта»: «InstallShield».
К тому же запустив такой инсталлятор для обычной установки, как правило вы встретите такие слова:
InstallShield Wizard
Вас приветствует программа InstallShield Wizard для xxxxxxx
Программа InstallShield(R) Wizard установит и т.д.
Естественно, это всё может быть написано и по-английски.
Windows Installer Service (*.msi)
Ну что же об этом сказать… Технология Windows Installer Service (MSI) является стандартом де-факто в мире системных администраторов, занимающихся распространением и поддержкой ПО для десктопных и серверных версий Windows. Формат MSI поддерживается всеми крупными системами управления конфигурациями (Microsoft SCCM, CA Unicenter и многими другими), а для некоторых систем распространения ПО — является даже единственным поддерживаемым форматом.
Все инсталляторы, запакованные с помощью Windows Installer, имеют расширение “*.msi”.
Примеры программ:
Этот тип инсталляторов поддерживает следующие ключи для тихой установки:
«qb» и «QN».
При использовании ключа «QB» будет отображён ход установки, однако никаких вопросов пользователю задано не будет, также и не будет отображаться кнопка «Cancel (Отмена)».
Пример:
Start setup.msi /qb
Следующий ключ: “qn”
При использовании данного ключа будет полностью скрыт процесс установки. Прогресс установки также отображаться не будет.
Пример:
Start setup.msi /qn
Следует заметить, что некоторые программы после установки требуют перезагрузки компьютера. Чтобы этого избежать используйте свойства (REBOOT=ReallySuppress) заключив его в ковычки вместе с ключом.
Пример:
Start setup.msi «/qb REBOOT=ReallySuppress»
Использование InstallShield расширения *.msi
Начиная с версии 7, InstallShield может создавать файлы с расширением «*.msi». они в свою очередь могут быть отдельными файлами и в связке с setup.exe,
Например как OBI
Вторые в свою очередь бывают двух типов:
«InstallScript MSI» и «Basic MSI». InstallScript MSI использует традиционные ключи InstallShield. Basic MSI — отдельная интересная история.
Чтобы автоматически установить приложение, использующее Basic MSI, вам нужно указать ключи «/s /v»…»». Многоточие нужно заменить на ключи, которые необходимо передать непосредственно Windows Installer (msiexec). Иными словами, если вы хотите установить приложение абсолютно незаметно и избежать перезагрузки, то используйте такую команду
Start setup.exe /s /v»/qn REBOOT=ReallySuppress»
Автономный установщик обновлений Windows *.msu
В связи с тем, что данная информация часто требуется, отредактировал статью :-), добавив в неё также и ключи для *.msu.
msu — это автономные установщики обновлений Windows. Однажды скачав обновления, их можно установить даже без наличия интернета и повторно их качать не придётся.
Все эти установщики имеют расширение *.msu и поддерживают следующие ключи командной строки.
/quiet — тихий режим без взаимодействия с пользователем. Все окна будут скрыты. Если после обновления понадобиться перезагрузка, то она будет произведена.
/norestart — Используйте этот ключ вместе с quiet, чтобы избежать перезагрузки.
/warnrestart — При использовании с quiet предупредит о том, что будет произведена перезагрузка.
/promptrestart — при использовании с quiet появится вопрос о перезагрузке компьютера.
/forcerestart — При использовании с quiet будет выполнена так называемая форсированная перезагрузка т.е., все приложения будут принудительно закрыты и компьютер перезагрузится.
/log — Задаёт ведение лога и путь к лог файлу.
Пример:
start c:\updates\kb3456246.msu /quiet /norestart /log:update.log
Inno Setup
Отличный, бесплатный инструмент для создания инсталляторов, поддерживающий скрипты на языке PASCAL, достаточно прост в освоении и удобен для использования.
Inno setup умеет регистрировать библиотеки и ActiveX компоненты, Создавать шифрованные инсталляторы, изменять реестр, а также запускать внешние приложения, но это лишь малая часть того, что умеет Inno Setup, даже слишком малая….
Следует заметить, что справочная система достаточно хорошо написана и подкреплена многочисленными примерами.
Inno Setup не уступает многим системам создания инсталляторов, а некоторые по удобству и возможностям оставляет далеко позади, хотя и является бесплатными по правде говоря, он мне нравиться больше всех перечисленных в этой статье, многократно меня выручавший.
Inno Setup последнее время всё чаще и чаще используют для создания инсталляционных пакетов, не только разработчики бесплатных программ, но и коммерческих продуктов, например:
- Download Master
- Skype Talking
- Malwarebytes Anti-Malware
- Shades of Doom
Хм, что это я расписался, буду о главном.
Inno Setup поддерживает два основных ключа для тихой установки, это «SILENT” и “VERYSILENT”.
Пример:
Start setup.exe /verysilent
Start setup.exe /silent
Иногда возникает небольшая проблемка: вылазит окошко с вопросом хотите ли вы продолжить установку. Чтобы скрыть это окно, используйте ключ “SP-“.
Пример:
Start setup.exe /VERYSILENT /SP-
Как узнать, используется ли Inno Setup для упаковки программы?
Запустите инсталлятор, в открывшемся окне откройте меню система ( ALT + SPACE»Пробел»)
Выберите пункт «ABOUT Setup» или «О программе»,
Откроется окошко примерно с таким текстом:
About Setup
Inno Setup version 5.4.0 (a)Copyright (C) 1997-2010 Jordan RussellPortions Copyright (C) 2000-2010 Martijn LaanAll rights reserved.Inno Setup home page:http://www.innosetup.com/RemObjects Pascal Script home page:http://www.remobjects.com/psInno Setup Preprocessor home page:http://ispp.sourceforge.net/
ОК
Nullsoft Scriptable Install System (NSIS)
Nullsoft Scriptable Install System (NSIS) — программа предназначена для легкого и быстрого создания профессиональных инсталляционных пакетов. Программа позволяет разработчикам ПО создавать сжатый win32 exe-файл, с возможностью проверки его целостности. Не имеет ограничения на количество входящих в состав дистрибутива файлов. Поддерживается функция Uninstall. Встроенная собственная виртуальная машина превращает этот продукт в полноценный профессиональный инструмент.
Примеры:
Инсталляторы, созданные с помощью бесплатного NSIS, запускаются с ключом “S”.
Пример:
start setup.exe /S
Будьте внимательны, ключ должен быть в верхнем регистре, иначе он может просто не сработать.
Для указания директории установки можно использовать ключ “D”.
Пример:
Start setup.exe /S /D=c:\myprogram
Как определить использование NSIS
У всех инсталляторов, созданных с помощью NSIS очень схожий интерфейс, изучите внимательно процесс установки программы Winamp, и вы сможете без труда определить используется ли NSIS.
WISE Installer
Покопавшись в интернете вот какое красивое описание я нашёл для него:
Wise for Windows Installer позволяет профессиональным разработчикам быстро создавать надежные пакеты .MicrosoftI с использованием новейших технологий Windows Installer корпорации Microsoft. Уникальные функции Wise for Windows Installer помогают как небольшим, так и крупным командам разработчиков создавать установочные пакеты для любых типов платформ, включая рабочие станции и карманные компьютеры, серверы приложений и web, а также мобильные устройства Windows Mobile, Windows CE, Pocket PC, Microsoft .NET Compact Framework, Palm OS и смартфоны.
Программа Wise Installation Studio позволит без особых усилий создавать инсталляционные пакеты приложений для операционной системы Windows Vista, 64-битных версий Windows и мобильной платформы Windows Mobile 5. Данный пакет поддерживает формат Windows Installer (MicrosoftI), а также имеет и собственный формат — WiseScript (.EXE).
Пользователи также смогут по достоинству оценить преимущества инновационной технологии Altiris Software Virtualization Solution, внедрённой в Wise Installation Studio, которая позволяет создавать виртуальные архивы приложений (.VSA) и гарантирует полное отсутствие конфликтов между устанавливаемыми продуктами.
Кроме того, новая версия Wise Installation Studio интегрируется с производимым компанией Nalpeiron пакетом PRO-Tector Standard. Это решение позволяет разработчикам создавать испытательные версии программных продуктов и обеспечивает надёжную защиту интеллектуальной собственности от незаконного использования.
Только вот ведь незадача, похоже проект умер…
ну да ладно, не будем о грустном…
Инсталляторы, созданные с помощью WISE Installer принимают стандартный ключ «S”.
Пример:
Start setup.exe /S
Я не знаю, какого типа инсталлятор или не могу определить его тип
В этом случае используйте ключ “s”, как правило он работает.
Пример:
Start setup.exe /s
Производители ПО и драйверов, которые снабжаются уникальным инсталлятором, как правило придерживаются этого стандарта
Читайте также
Есть вопросы или замечания?
Пишите ниже в комментариях.
© Евгений Поплавский, 2014
Специально для TifloHelp.ru
Типы инсталляторов
В этой статье мы расскажем о наиболее распространенных инсталляторах, используемых производителями программного обеспечения для упаковки своих программ. Все инсталляторы поддерживают те или иные ключи автоматической установки. InstallShield | Windows Installer Service (*.msi) | InstallShield с MSI
InstallShield
- Запустите приложение из командной строки, используя ключ /r (например, Setup.exe /r )
- Пойдет процесс установки, вы будете отвечать на вопросы — все как обычно. Главное , не выбирайте опцию перезагрузки компьютера сразу после установки («Restart the computer now»)
- После окончания установки зайдите в вашу системную директорию (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
Типы инсталляторов и их ключи для тихой установки. Удаление обновлений от Microsoft Windows vista не установить msu обновление вручную
    В качестве одного из наиболее распространенных способов отключения автоматического обновления Windows очень часто применяется отключение службы ”Центр обновлений Windows”. На первый взгляд, это правильное решение, обеспечивающее достижение конечной цели простейшим способом, но на самом деле такой подход может привести к большим проблемам в будущем при установке новых программ. Дело в том, что многие программные продукты при установке обновляют компоненты, необходимые для их функционирования в среде Windows, в том числе и компоненты, являющиеся обновлениями Windows. В случае, если требуемых для устанавливаемой программы обновлений нет, то обычно выполняется их автономная установка. Для этого используется автономный установщик обновлений wusa.exe и служба центра обновлений Windows. В частности, установщик wusa.exe может выполняться с параметром /quiet , что задает ”тихий режим” установки обновлений с отсутствием каких-либо сообщений на экран. Кроме того, инсталлятор может неправильно обработать результаты операций по установке необходимых обновлений Windows. При отключенном центре обновлений Windows, в лучшем случае на экране отобразится сообщение об ошибке 0x80070422:
В худшем случае может быть выдано сообщение о неустранимой ошибке при установке программы, или, что еще хуже – не будет никаких сообщений об ошибке, но установленное программное обеспечение работать не будет. В результате, пользователь может потратить уйму времени и сил на решение проблемы, которую он сам и вызвал, отключив службу Центра обновлений Windows.
Поэтому, правильный подход к отключению автоматического обновления предполагает, что cлужба Центра обновлений Windows не отключается. Для экономии ресурсов системы можно установить тип запуска ”Вручную”. Службу обновлений необходимо настроить на режим ”Не проверять наличие обновлений (не рекомендуется)”:

Панель управления – Центр обновлений Windows – Настройка параметров
Чтобы не отображались предупреждения Центра поддержки, нужно отключить соответствующее уведомление:

Панель управления – Центр поддержки – Настройка центра поддержки.
При таких настройках не будет выполняться автоматическое обновление Windows и сохранится весь функционал автономного установщика обновлений wusa .
Обновления для операционной системы Windows выпускаются в виде пакетов с расширением MSU или CAB . В том случае, если не работает (специально отключен) штатный функционал службы Windows Update (Центра обновления Windows), нужные для системы накопительные обновления или обновления безопасности можно скачать и установить вручную в офлайн режиме. В этой статье мы покажем, как в Windows 10 скачать и установить обновления в формате MSU и CAB файлов.
Где скачать MSU файл обновления Windows
Microsoft изначально выпускает свои обновления и патчи в формате CAB файла. Именно в таком виде ваш компьютер получает обновления с серверов обновления Microsoft или локального сервера . Для более удобного ручного распространения отдельных обновлений клиентами через каталог обновлений Microsoft, данные CAB файлы упаковываются в специальный формат MSU (Microsoft Update Standalone Package).
Как извлечь CAB файл из пакета обновлений MSU
В некоторых случаях, когда служба Windows Update, которую использует утилита wusa, работает некорректно (попробуйте для начала выполнить ), установить обновление в формате MSU не получается. В этом случае можно вручную распаковать пакет MSU, извлечь из него CAB файл обновления и вручную установить его в системе.
Чтобы распаковать MSU пакет в каталог C:\Temp\kb4056887 (каталог нужно предварительно создать), выполните следующую команду:
expand _f:* “C:\Temp\windows10.0-kb4056887-x64.msu” C:\Temp\kb4056887

Microsoft (R) File Expansion Utility Version 10.0.10011.16384
Copyright (c) Microsoft Corporation. All rights reserved.
Can’t open input file: _f:*.
Adding C:\Temp\kb4056887\WSUSSCAN.cab to Extraction Queue
Adding C:\Temp\kb4056887\Windows10.0-KB4056887-x64.cab to Extraction Queue
Adding C:\Temp\kb4056887\Windows10.0-KB4056887-x64-pkgProperties.txt to Extraction Queue
Adding C:\Temp\kb4056887\Windows10.0-KB4056887-x64.xml to Extraction Queue
Expanding Files ….
Expanding Files Complete …
4 files total.
Как вы видите в каталоге появилось 4 типа файлов:
- .xml файл (Windows10.0-KB4056887-x64.xml) — содержит метаданные пакета msu и используется программой Wusa.exe
- .cab файл (Windows10.0-KB4056887-x64.cab — один или несколько)– непосредственно архив с обновлением Windows
- *pkgProperties.txt файл (Windows10.0-KB4056887-x64-pkgProperties.txt)– содержит свойства пакета (дата выпуска, архитектура, тип пакета, ссылка на KB и т.д.)
Установка CAB файла обновлений в Windows 10
Установить CAB файл обновления, полученный из MSU пакета можно двумя способами.
Наиболее универсальный способ установки обновления из CAB файл – утилита DISM.exe . Команда установки может быть такой:
DISM.exe /Online /Add-Package /PackagePath:c:\Temp\kb4056887\Windows10.0-KB4056887-x64.cab
Deployment Image Servicing and Management tool
Version: 10.0.10240.16384
Image Version: 10.0.10240.16384
Processing 1 of 1 — Adding package Package_for_KB4056887~31bf3856ad364e35~amd64~~10.0.1.0
[==========================100.0%==========================]
The operation completed successfully.

Примечание . Обратите внимание, как быстро происходит установка пакета через DISM по сравнению со скоростью установки обновления из MSU файла.
Если нужно установить CAB пакет в тихом режиме и подавить запрос на перезагрузку компьютера после установки обнволения, команда DISM будет такой:
start /wait DISM.exe /Online /Add-Package /PackagePath: c:\Temp\kb4056887\Windows10.0-KB4056887-x64.cab /Quiet /NoRestart
В Windows 8 и Windows 7 можно установить обновление через менеджер пакетов Pkgmgr . Команда:
start /w Pkgmgr /ip /m:c:»c:\Temp\kb4056887\Windows10.0-KB4056887-x64.cab»
Примечание . В Windows 10 / Windows Server 2016 менеджер пакетов PkgMgr.exe более не поддерживается. При его запуске появляется предупреждении о необходимости использовать для управления пакетами DISM.exe.
Note: The PkgMgr.exe has been deprecated. Please update your scripts to use dism.exe to extract, install, uninstall, configure and update features and packages for Windows.

Примечание . Обратите внимание, что языковые пакеты Windows (MUI) также распространяются в формате CAB. Однако использовать для их установки команду DISM не удастся. Вместо этого, для установки новых языков в систему нужно использовать отдельную утилиту lpksetup.exe .
Данная инструкция по ручной установке накопительных (если вы не помните что это такое, прочитайте статью про систем) и любых других обновлений Windows применима ко всем поддерживаемым версиям ОС: Windows 10 / 8.1 / 7 и Windows Server 2016 / 2012 / R2 / 2008 / R2.
Иногда возникает ситуация, когда причиной синих экранов смерти является установка очередного апдейта от Micrtosoft. Часто бывает, что некогда разбираться кто виноват, один из разработчик драйвера (скажем антивируса), который чего-то не учел, или что-то сделал не так или сами разработчики Microsoft, нам нужно просто работать в системе. Существует несколько способов удаления установленных обновлений.
Способ 1. Удаление обновлений через оснастку Установка/удаление программ
Заходим в оснастку установки удаления программ, можно через интерфейс (Пуск / Панель управления / Установка и удаление программа) можно через командную строку, запустить appwiz.cpl. Выбираем слева “Просмотр установленных обновлений”
Там есть столбец даты установки, по которому можно эти обновления отсортировать и удалить нужное.
Способ 2. Через командную строку
С использованием команды wusa (работает только для Windows 7 , Server 2008 R2).
Нужно запустить cmd.exe или far.exe с правами админа и выполнить
wusa /uninstall /kb:update id (где update id – это номер обновления по KB, например wusa /uninstall /kb:2511250 )
Способ 3. Используем wusa и скачанное обновление
Скачиваем необходимое обновление с Microsoft Download Center и сохраняем его в какой-либо каталог, например c: emp. Запускаем cmd.exe или far.exe с правами администратора и выполняем следующую команду:
wusa /uninstall
wusa /uninstall C:TempWindows6.1-KB980302-x86.msu
После чего появится диалоговое окно удаления.
Способ 4. Используем PKGMGR
1. Необходимо скачать обновление, которое вы хотите удалить с Microsoft Download Center и сохраните в какой-либо каталог, например c: emp.
2. Запустите cmd.exe или far.exe с правами администратора. Выполните в командной строке
3. expand -f:* .msu
Команда распакует msu файл и сохранит исходные файла в destination folder
4. Создайте еще одну пустую директорию, например c: emp123
5. Выполните команду
start /w pkgmgr /m: .cab /up /s:c: emp123
Где full hotfix name – это директория destination folder из шага 3
Удаление сервис паков
Отдельная тема – это удаление сервис паков. Для этого необходимо:
1. Скачать сервис пак, который вы хотите удалить с Microsoft Download Center и сохранить в какой-либо временный каталог, например c: emp
2. Запустить cmd.exe или far.exe с необходимыми правами администратора.
3. Выполнить команду
C:TempWindows6.0-KB936330-X86.exe /x:C:Temp2
Все файлы сервис пака будут извлечены в каталог c: emp2
4. Необходимо выбрать отдельный пустой каталог, например c: emp3
5. Необходимо выполнить команду
start /w pkgmgr /m: .cab /up /s:c: emp3
Здравствуйте, дорогие читатели.
Сегодня, как и обещал вам, расскажу о самых популярных инструментах, создающих инсталляторы программ.
Многие из них весьма просты, так что могут использоваться не только программистами и производителями ПО, но и теми, кто захочет собрать инсталлятор своими руками.
Однако сборка установочных пакетов не тема данной статьи, тема моей статьи: какие основные ключи поддерживают те или иные инсталляторы, как их использовать и как определить, какой инсталлятор используется для той или иной программы.
InstallShield
Начну пожалуй с самой объёмной, самой любимой крупными коммерческими разработчиками По. InstallShield — это мощный профессиональный инструмент создания надежных инсталляционных пакетов.
С помощью Project Assistant разработчик шаг за шагом проходит все этапы создания инсталлятора. Никакого обучения не требуется, все основные возможности InstallShield X Express возможно узнать в течении менее одного дня. Полная интеграция со средой разработки Visual Studio .NET, поддержка.NET, Linux, Web services и приложений для мобильных устройств.
Встретить его можно очень часто в платных продуктах, например:
Как правило такие инсталляторы не вызывают сложностей, достаточно их запустить с ключом “S”, и программа будет установлена в тихом режиме.
Примечание: Если параметр “wait” не отрабатывает, пробуйте использовать ключ “SMS”
Пример:
Start /wait setup.exe /s /sms
Как определить, что использовался Install Shield для упаковки инсталлятора
Открываем свойства файла, на вкладке «Подробно» в пунктах «Описание» и «Исходное имя файла» как правило будет указано значение «setup.exe”, а в «Название продукта»: «InstallShield».
К тому же запустив такой инсталлятор для обычной установки, как правило вы встретите такие слова:
InstallShield Wizard
Вас приветствует программа InstallShield Wizard для xxxxxxx
Программа InstallShield(R) Wizard установит и т.д.
Естественно, это всё может быть написано и по-английски.
Windows Installer Service (*.msi)
Ну что же об этом сказать… Технология Windows Installer Service (MSI) является стандартом де-факто в мире системных администраторов, занимающихся распространением и поддержкой ПО для десктопных и серверных версий Windows. Формат MSI поддерживается всеми крупными системами управления конфигурациями (Microsoft SCCM, CA Unicenter и многими другими), а для некоторых систем распространения ПО — является даже единственным поддерживаемым форматом.
Все инсталляторы, запакованные с помощью Windows Installer, имеют расширение “*.msi”.
Примеры программ:
Этот тип инсталляторов поддерживает следующие ключи для тихой установки:
«qb» и «QN».
При использовании ключа «QB» будет отображён ход установки, однако никаких вопросов пользователю задано не будет, также и не будет отображаться кнопка «Cancel (Отмена)».
Пример:
Start setup.msi /qb
Следующий ключ: “qn”
При использовании данного ключа будет полностью скрыт процесс установки. Прогресс установки также отображаться не будет.
Пример:
Start setup.msi /qn
Следует заметить, что некоторые программы после установки требуют перезагрузки компьютера. Чтобы этого избежать используйте свойства (REBOOT=ReallySuppress) заключив его в ковычки вместе с ключом.
Пример:
Start setup.msi «/qb REBOOT=ReallySuppress»
Использование InstallShield расширения *.msi
Начиная с версии 7, InstallShield может создавать файлы с расширением «*.msi». они в свою очередь могут быть отдельными файлами и в связке с setup.exe,
Например как OBI
Вторые в свою очередь бывают двух типов:
«InstallScript MSI» и «Basic MSI». InstallScript MSI использует традиционные ключи InstallShield. Basic MSI — отдельная интересная история.
Чтобы автоматически установить приложение, использующее Basic MSI, вам нужно указать ключи «/s /v»…»». Многоточие нужно заменить на ключи, которые необходимо передать непосредственно Windows Installer (msiexec). Иными словами, если вы хотите установить приложение абсолютно незаметно и избежать перезагрузки, то используйте такую команду
Start setup.exe /s /v»/qn REBOOT=ReallySuppress»
Автономный установщик обновлений Windows *.msu
В связи с тем, что данная информация часто требуется, отредактировал статью:-), добавив в неё также и ключи для *.msu.
msu — это автономные установщики обновлений Windows. Однажды скачав обновления, их можно установить даже без наличия интернета и повторно их качать не придётся.
Все эти установщики имеют расширение *.msu и поддерживают следующие ключи командной строки.
/quiet — тихий режим без взаимодействия с пользователем. Все окна будут скрыты. Если после обновления понадобиться перезагрузка, то она будет произведена.
/norestart — Используйте этот ключ вместе с quiet, чтобы избежать перезагрузки.
/warnrestart — При использовании с quiet предупредит о том, что будет произведена перезагрузка.
/promptrestart — при использовании с quiet появится вопрос о перезагрузке компьютера.
/forcerestart — При использовании с quiet будет выполнена так называемая форсированная перезагрузка т.е., все приложения будут принудительно закрыты и компьютер перезагрузится.
/log — Задаёт ведение лога и путь к лог файлу.
Start c:\updates\kb3456246.msu /quiet /norestart /log:update.log
Inno Setup
Отличный, бесплатный инструмент для создания инсталляторов, поддерживающий скрипты на языке PASCAL, достаточно прост в освоении и удобен для использования.
Inno setup умеет регистрировать библиотеки и ActiveX компоненты, Создавать шифрованные инсталляторы, изменять реестр, а также запускать внешние приложения, но это лишь малая часть того, что умеет Inno Setup, даже слишком малая….
Следует заметить, что справочная система достаточно хорошо написана и подкреплена многочисленными примерами.
Inno Setup не уступает многим системам создания инсталляторов, а некоторые по удобству и возможностям оставляет далеко позади, хотя и является бесплатными по правде говоря, он мне нравиться больше всех перечисленных в этой статье, многократно меня выручавший.
Inno Setup последнее время всё чаще и чаще используют для создания инсталляционных пакетов, не только разработчики бесплатных программ, но и коммерческих продуктов, например:
Хм, что это я расписался, буду о главном.
Inno Setup поддерживает два основных ключа для тихой установки, это «SILENT” и “VERYSILENT”.
Пример:
Start setup.exe /verysilent
Start setup.exe /silent
Иногда возникает небольшая проблемка: вылазит окошко с вопросом хотите ли вы продолжить установку. Чтобы скрыть это окно, используйте ключ “SP-“.
Пример:
Start setup.exe /VERYSILENT /SP-
Как узнать, используется ли Inno Setup для упаковки программы?
Запустите инсталлятор, в открывшемся окне откройте меню система (ALT + SPACE»Пробел»)
Выберите пункт «ABOUT Setup» или «О программе»,
Откроется окошко примерно с таким текстом:
About Setup
Inno Setup version 5.4.0 (a)Copyright (C) 1997-2010 Jordan RussellPortions Copyright (C) 2000-2010 Martijn LaanAll rights reserved.Inno Setup home page:http://www.innosetup.com/RemObjects Pascal Script home page:http://www.remobjects.com/psInno Setup Preprocessor home page:http://ispp.sourceforge.net/
ОК
Nullsoft Scriptable Install System (NSIS)
Nullsoft Scriptable Install System (NSIS) — программа предназначена для легкого и быстрого создания профессиональных инсталляционных пакетов. Программа позволяет разработчикам ПО создавать сжатый win32 exe-файл, с возможностью проверки его целостности. Не имеет ограничения на количество входящих в состав дистрибутива файлов. Поддерживается функция Uninstall. Встроенная собственная виртуальная машина превращает этот продукт в полноценный профессиональный инструмент.
Примеры:
Инсталляторы, созданные с помощью бесплатного NSIS, запускаются с ключом “S”.
Пример:
Start setup.exe /S
Будьте внимательны, ключ должен быть в верхнем регистре, иначе он может просто не сработать.
Для указания директории установки можно использовать ключ “D”.
Пример:
Start setup.exe /S /D=c:\myprogram
Как определить использование NSIS
У всех инсталляторов, созданных с помощью NSIS очень схожий интерфейс, изучите внимательно процесс установки программы Winamp, и вы сможете без труда определить используется ли NSIS.
WISE Installer
Покопавшись в интернете вот какое красивое описание я нашёл для него:
Wise for Windows Installer позволяет профессиональным разработчикам быстро создавать надежные пакеты.MicrosoftI с использованием новейших технологий Windows Installer корпорации Microsoft. Уникальные функции Wise for Windows Installer помогают как небольшим, так и крупным командам разработчиков создавать установочные пакеты для любых типов платформ, включая рабочие станции и карманные компьютеры, серверы приложений и web, а также мобильные устройства Windows Mobile, Windows CE, Pocket PC, Microsoft .NET Compact Framework, Palm OS и смартфоны.
Программа Wise Installation Studio позволит без особых усилий создавать инсталляционные пакеты приложений для операционной системы Windows Vista, 64-битных версий Windows и мобильной платформы Windows Mobile 5. Данный пакет поддерживает формат Windows Installer (MicrosoftI), а также имеет и собственный формат — WiseScript (.EXE).
Пользователи также смогут по достоинству оценить преимущества инновационной технологии Altiris Software Virtualization Solution, внедрённой в Wise Installation Studio, которая позволяет создавать виртуальные архивы приложений (.VSA) и гарантирует полное отсутствие конфликтов между устанавливаемыми продуктами.
Кроме того, новая версия Wise Installation Studio интегрируется с производимым компанией Nalpeiron пакетом PRO-Tector Standard. Это решение позволяет разработчикам создавать испытательные версии программных продуктов и обеспечивает надёжную защиту интеллектуальной собственности от незаконного использования.
Только вот ведь незадача, похоже проект умер…
ну да ладно, не будем о грустном…
Инсталляторы, созданные с помощью WISE Installer принимают стандартный ключ «S”.
Пример:
Start setup.exe /S
Я не знаю, какого типа инсталлятор или не могу определить его тип
В этом случае используйте ключ “s”, как правило он работает.
Пример:
Start setup.exe /s
Производители ПО и драйверов, которые снабжаются уникальным инсталлятором, как правило придерживаются этого стандарта
