Меню Рубрики

Зачем нужен установщик windows

Что такое инсталлятор и зачем он нужен?

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

Что такое инсталлятор?

Собственно, сообразить, что собой представляет такое программное обеспечение, можно совершенно элементарно. Достаточно просто обратить внимание на сам термин Installer, который с английского правильно переводится именно как «установщик». Инсталлятор – это уже некое универсальное название. Но для чего же он нужен и какие типы такого ПО вообще бывают? Как правило, различают несколько основных типов такого программного обеспечения, среди которых основными являются установщики, предназначенные для:

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

Инсталлятор «Виндовс»

Установщики операционных систем являются, пожалуй, самым объемным классом, поскольку содержат средства инсталляции не только компонентов самих ОС, но и встроенные в их оболочку программы, и целые базы данных драйверов, которые после распознавания «железного» оборудования, имеющегося на компьютере, в процессе инсталляции устанавливают для него необходимые драйверы (управляющее ПО).

Наверняка любой пользователь, хоть раз устанавливавший Windows самостоятельно, замечал, что на одной из стадий в окне установки указывается, что в данный момент производится настройка оборудования. Это как раз и есть та самая инсталляция драйверов.

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

Сами же официальные инсталляторы операционных систем имеют строго ограниченные наборы предполагаемого для установки программного обеспечения. Наличие некоторых компонентов напрямую зависит от модификации самой системы, другие являются общими для всех версий ОС (например, стандартные приложения вроде «Блокнота», Paint и т. д.). В случае если пакет установщика содержит какие-то дополнительные инструменты, присутствие которых в официальных релизах исключается целиком и полностью, можно с уверенностью утверждать, что он был создан вручную. И ни один официальный установщик Windows не может содержать инсталляторы для нескольких операционных систем одновременно. Исключение составляют только одинаковые ОС, различающиеся по архитектуре (32 или 64 бита).

Установщик программы

Теперь следует остановиться на установке программных апплетов, что знакомо каждому пользователю. Инсталлятор файлов приложений обычно имеет формат EXE (реже встречаются устаревшие DOS-форматы), но использовать его без предварительно установленной операционной системы не представляется возможным ни при каких обстоятельствах. В случае с Windows это связано с тем, что в процессе установки любого программного обеспечения, если только оно не представлено в виде портативной версии, производится регистрация всех компонентов приложения, для чего именно в Windows используется так называемый системный реестр. Его назначение состоит еще и в том, что тут находятся и регистрационные ключи самой системы, и ее настроек, и драйверов, и пользовательских данных, и вообще всего того, что связано с софтверной частью компьютера.

В системах Windows запуск инсталлятора программ осуществляется исключительно от имени администратора (если только его встроенная учетная запись не отключена). Без этого система не только может неправильно установить программу, но и разрешения на ее установку не даст. В конечном счете приложение работать не будет.

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

Инсталлятор драйвера

Теперь давайте поговорим о том, что такое инсталлятор драйвера. Конечно, установщик может быть представлен в виде самого обычного исполняемого EXE-файла, но зачастую они поставляются в виде информационных объектов формата INF. Действия с такими файлами отличаются.

В самом простом случае инсталлировать такой драйвер можно через меню ПКМ на файле с выбором пункта «Установить». Однако выполнить такие действия возможно далеко не всегда. В этом случае система сообщает, что установка с выбранным типом действий невозможна. Разрешить ситуацию можно достаточно просто, обратившись к пункту обновления драйвера в «Диспетчере устройств» и указав местоположение искомого файла.

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

Предположим, вы скачали для модема инсталлятор «Ростелеком» или такой файл у вас есть на съемном носителе. Если установка соответствующего драйвера не будет выполнена автоматически самой операционной системой, вот тогда и нужно будет указать точное местоположение драйвера.

Можно ли сделать инсталлятор самому?

Теперь поговорим о создании инсталлятора самим пользователем. Сейчас речь, конечно же, не идет о том, чтобы использовать какой-то язык программирования. Благо сегодня для таких целей создано достаточно много программ от сторонних разработчиков. При этом включать в пакеты таких установщиков можно любые составляющие. Например, ни для кого не секрет, что на дисках с дистрибутивами Windows частенько присутствуют утилиты для работы с жесткими дисками от Acronis или оффлайн-наборы драйверов DriverPack Solution. Все это включается в инсталляционные наборы не посредством программирования, а как раз с использованием стороннего ПО.

Как включить дополнительные компоненты в состав установочного пакета?

В качестве одного из самых простых решений, если уж вы хотите сделать инсталлятор для нескольких программных продуктов самостоятельно, можно посоветовать небольшую утилиту под названием PortableApps.com Platform или аналогичный апплет Actual Installer. В такой программе, в общем-то, ничего особо выдумывать не нужно.

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

Что такое деинсталлятор?

Наконец, раз существуют инсталляторы, предназначенные для установки программного обеспечения, то, по идее, должны существовать и приложения прямо противоположного направления – деинсталляторы. Действительно, такие программы есть, и с их помощью можно удалять только установленные приложения (и пользовательские, и встроенные в операционную систему). А вот удалить ОС невозможно (это, по всей видимости, и так понятно). Зато преимущество таких программ состоит в том, что они способны автоматически удалять остатки приложений, сканируя жесткий диск и реестр, в то время как «родные» инструменты Windows справляются с такими задачами гораздо хуже (а то и не справляются вообще).

Среди самых мощных апплетов можно выделить iObit Uninstaller и Revo Uninstaller, которые, по мнению большинства экспертов, являются лучшими в своем классе.

Послесловие

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

Источник

С чего начать изучение Windows Installer?

Технология Windows Installer (MSI) является стандартом де-факто в мире системных администраторов, занимающихся распространением и поддержкой программного обеспечения для десктопных и серверных версий Windows. Формат MSI поддерживается всеми крупнейшими системами управления конфигурациями (Microsoft SCCM, CA Unicenter и многими другими), а для некоторых систем распространения ПО — является единственным поддерживаемым форматом.
Мой опыт работы с этой технологией — как теоретический, так и практический — приобретен за время работы в компании «Инфопульс Украина» и связан с созданием MSI-пакетов и подготовкой готовых MSI-пакетов к автоматической установке в корпоративной среде.

Зачем это вам?

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

Что нужно знать и уметь перед началом изучения?

Ничего сложного. Если у вас есть опыт администрирования и поддержки небольшой (а лучше большой, иерархической) сети Windows-машин, вероятнее всего вы уже сталкивались с основными вопросами и понятиями, которые вам понадобятся. Перед тем, как начать, убедитесь, что вы хорошо понимаете структуру файловой системы Windows, структуру профиля пользователя и структуру реестра, знаете что такое процессы и службы в Windows, умеете управлять учетными записями пользователей и знаете где находятся журналы событий. Для того, чтобы научиться создавать пакеты MSI, вам совсем необязательно иметь опыт разработчика, хотя конечно лучше если такой опыт у вас есть. И совсем не обязательно уметь писать запросы на SQL, хотя это тоже может пригодиться (ведь каждый MSI-файл — это небольшая реляционная база данных). Но обязательно нужно уметь читать и понимать техническую документацию на английском, без этого скорее всего ничего не получится. При изучении теории (и при создании пакетов на практике) постарайтесь хотя бы на первых порах строго следовать стандартам Windows Installer, избегая вспомогательных утилит типа InstallShield/InstallScript, так вы лучше поймёте как правильно создать MSI-пакет.

Готовим песочницу и начинаем практику

Начать нужно с установки и настройки виртуальной машины. В процессе обучения вам придется немало поэкспериментировать, поэтому лучше сделать это в песочнице. Если нужны бесплатные продукты — устанавливаем VirtualBox или VMWare Player (для профессиональных задач их функционала может быть недостаточно, но для обучения — вполне подойдет). В виртуальной машине, естественно, нужно установить Windows на ваш выбор (XP и выше).
Если у вас уже есть опыт работы с утилитами от Sysinternals — прекрасно. Если нет — самое время восполнить пробел. Нам понадобятся минимум две: для отслеживания файловой и реестровой активности приложения при установке или во время его работы — Process Monitor, для запуска инсталляции от имени учетной записи LocalSystem — PsExec. Попрактикуйтесь использовать эти утилиты на простом приложении типа notepad (с какими ресурсами работает notepad при открытии файла, при сохранении файла; запустите notepad от имени пользователя LocalSystem, поэкспериментируйте с сохранением файлов и установкой файловых ассоциаций), в дальнейшем эти навыки пригодятся.

Установите Panda QuickShot или другой софт для сравнения состояний системы. Разберитесь с основным функционалом, научитесь отслеживать файловые и реестровые изменения в системе при установке нового приложения или изменении параметров системы (самое простое — зарегистрируйте новую файловую ассоциацию для notepad, измените обои рабочего стола и отследите где хранятся эти настройки). Подойдите к этому творчески, поле для экспериментов обширное.

Скачайте MSI-инсталлятор какого-нибудь несложного приложения (например, Orca, InstEd или Firefox). Установите пакет на виртуальной машине, с помощью описанных выше утилит изучите устанавливаемые им ресурсы. Научитесь пользоваться командной строкой Windows Installer (msiexec /?), поэкспериментируйте с различными опциями установки и сравните результат. Выполните удаление приложения из командной строки, установите пакет в автоматическом (silent) режиме.
Установите InstEd или Orca на хост-машине. Откройте MSI-пакет, который вы устанавливали на виртуальной машине, с помощью одной из этих утилит. Сравните записи основных таблиц в MSI-пакете (File, Directory, Registry) с ресурсами (файлы, папки, ключи реестра), установленными этим пакетом на вашей виртуальной машине (результат сравнения снимков состояний с помощью Panda QuickShot).

Немного теории

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

  • Таблица Property, код продукта (ProductCode), код пакета (PackageCode), стандартные свойства в MSI;
  • Таблица Upgrade и код обновления (UpgradeCode);
  • Таблицы Feature, Component и их назначение;
  • Таблицы Directory, File, Registry, Shortcut;
  • Способы хранения файлов приложения, поставляемых с MSI-пакетом, таблица Media;
  • Трансформы, их создание и применение из командной строки.

Прочтение документации по указанным темам подкрепляйте экспериментами на готовых пакетах, а со временем можно попробовать сделать пакет самому. Этих знаний вам будет достаточно для внесения небольших изменений в MSI-пакеты при подготовке к развертыванию в корпоративной среде (типовые задачи — задание свойств пакета, правка реестра, удаление файлов и ярлыков, отключение кнопки Remove для приложения в Add/Remove Programs). Только не забывайте после внесения любых правок в пакет выполнять тщательное тестирование перед запуском пакета в промышленную эксплуатацию. При тестировании обязательно используйте рекомендации, приведенные в этой статье.
Думаю, на этом пока можно закончить вводную часть. В дальнейшем (если будет интерес) я попробую рассказать об особенностях некоторых готовых MSI-пакетов, предоставляемых производителями ПО для развертывания в корпоративной среде и рассмотреть другие интересующие системных администраторов вопросы.
Пожелания, замечания, а также предложения по темам для следующих статей приветствуются.

Обзор утилит и документации

Бесплатно можно использовать простые редакторы MSI-файлов с ограниченным функционалом — здесь упоминания заслуживают классическая Orca от Microsoft и довольно удобный InstEd. Эти редакторы позволяют вносить небольшие изменения в готовые MSI-файлы, создавать и применять трансформы, но создавать в них MSI-пакеты с нуля довольно непросто (а для больших пакетов — и вовсе не имеет смысла). Но если вы действительно хотите изучить технологию MSI, вам просто необходимо собрать пару простых пакетов в InstEd или Orca и выполнить их валидацию на соответствие стандарту Windows Installer.
Специализированные утилиты для выполнения setup capture (создания или конвертирования установочных пакетов из так называемых «старых форматов»» в формат MSI с использованием сравнения «снимков» системы до и после установки приложения или мониторинга изменений в системе «на лету») — бесплатный AppDeploy Repackager, или более серьезный MSI Generator. MSI-пакетам, созданным с использованием этих утилит, может потребоваться некоторая доработка, которую можно выполнить с помощью редактора MSI.
Серьёзные полнофункциональные (и весьма дорогие) IDE, обеспечивающие поддержку полного цикла работ с MSI-пакетами — если вы будете заниматься технологией MSI профессионально, вам скорее всего не обойтись без этих программ. В этом сегменте до недавнего времени доминировали два продукта — AdminStudio от Flexera и Wise Package Studio от Symantec, но недавно Symantec объявил о прекращении работ по развитию Wise Package Studio, и рынок переходит в руки Flexera. Кроме работы с MSI, AdminStudio позволяет работать с виртуальными пакетами форматов Microsoft App-V, VMware Thin App и Citrix XenApp. Для ознакомительных целей доступна пробная 21-дневная версия.
Отдельно стоит упомянуть WIX (Windows Installer XML) — набор утилит для создания MSI-файлов из XML-описаний. Этот проект был выпущен «Майкрософтом» под открытой лицензией Common Public License, поддерживает интерфейс командной строки и может использоваться для автоматизации создания версий инсталляционных пакетов. Хорошее описание есть на Хабре.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Зачем нужен тестовый режим windows 7
  • Зачем нужен режим планшета в windows 10
  • Зачем нужен планшет на windows
  • Зачем нужен образ системы windows 7
  • Зачем нужен защитник windows