Windows Installer | это... Что такое Windows Installer? (original) (raw)
Windows Installer (установщик Windows) — подсистема Microsoft Windows, обеспечивающая установку программ (инсталлятор). Является компонентом Windows, начиная с Windows 2000; может доустанавливаться и на более ранние версии Windows. Вся необходимая для установки информация (иногда и вместе с устанавливаемыми файлами) содержится в установочных пакетах (installation packages), имеющих расширение .msi.
Содержание
- 1 История
- 2 Логическая структура пакета
- 3 Физическая структура пакета
- 4 Процесс установки
- 5 Прочие возможности
- 6 Другие системы инсталляции
- 7 Примечания
- 8 См. также
История
Windows Installer был разработан в 1995—1998 годах и имел вначале кодовое название Darwin. Ранние версии назывались Microsoft Installer, отсюда стандартное расширение файла инсталляционного пакета — .msi. [1]
Первая версия Installer’а вышла в начале 1999 в качестве инсталлятора Microsoft Office 2000. В конце того же года Installer стал частью Windows 2000. Майкрософт всячески поощрял переход разработчиков на новый инсталлятор, включив в список требований к программам, желающим получить так называемый знак Windows 2000 Logo, требование устанавливаться с помощью Windows Installer.
Windows Installer оказался значительным шагом вперёд по отношению к предыдущему инсталлятору Microsoft — Setup API (ACME Setup): в нём были введены возможности GUI, поддержка деинсталляции и отката в любой момент установки (включая откат во время деинсталляции), корректная работа с правами доступа в Windows и другие возможности, что сделало его сильной альтернативой различным существовавшим на рынке инсталляционным пакетам.
Логическая структура пакета
Инсталляционный пакет описывает установку одного продукта и имеет свой компонент (components) (тоже имеющих свои GUIDы), сгруппированных в возможности (features).
Физическая структура пакета
Файл .msi представляет собой составной документ OLE (OLE compound document — в том же формате-контейнере хранятся документы Microsoft Word, Excel и т. д.), в котором содержится небольшая реляционная база данных — набор из нескольких десятков взаимосвязанных таблиц, содержащих различную информацию о продукте и процессе установки. При этом все строковые данные в базе хранятся вместе в отдельном потоке документа, а в таблицах базы на них имеются ссылки; таким образом избегают дублирования строк, что значительно уменьшает размер базы.
Кроме базы, структура файла .msi предусматривает помещение туда пользовательских сценариев и вспомогательных .cab. Файлы можно размещать и отдельно от пакета, в запакованном или распакованном виде (с сохранением структуры каталогов).
Процесс установки
Процесс установки состоит из нескольких этапов — сбора информации, выполнения (собственно установки), а также, возможно, отката (в случае ошибки или отмены установки пользователем).
Действия
Каждый этап установки состоит из последовательности действий (actions), записанной в базе данных. Действиям присвоены номера, определяющие порядок их выполнения, а иногда — и условия, при которых действия выполняются или не выполняются.
Большая часть действий — это стандартные действия, характерные для типичного процесса сбора информации и установки. Все эти действия документированы. Кроме них, пользователь может определить и свои дейстия (custom actions).
Действия, определённые пользователем, могут быть либо написаны на одном из скриптовых языков, встроенных в операционную систему (VBScript), либо размещаться в специально созданной C, C++ и т. д.). Файлы с этими действиями помещаются внутрь файла .msi и извлекаются оттуда в начале запуска инсталляции.
Сбор информации
На этапе сбора информации Windows Installer собирает инструкции (либо путём взаимодействия с пользователем, либо программным путём) установить или удалить одну или несколько возможностей, входящих в продукт. Эти инструкции в дальнейшем формируют на основе базы данных внутренний сценарий, детально описывающий последующий этап выполнения.
Этот этап называют также непосредственным режимом (immediate mode).
Выполнение
К началу этого этапа инсталлятор генерирует внутренний сценарий, предназначенный для выполнения без вмешательства пользователя. Этот сценарий выполняется инсталлятором в привилегированном режиме службы NT (конкретно — под аккаунтом LocalSystem). Привилегированный режим требуется из-за того, что инсталляция могла быть запущена пользователем, не обладающим необходимыми правами для изменения системных параметров и файлов (хотя право установить программу ему было предоставлено).
Этот этап иногда называется отложенным режимом (deferred mode).
Откат
Если какое-либо из действий, определённых в сценарии, оканчивается неудачей, или установка в процессе отменяется пользователем, все действия, выполненные до этого места, откатываются, возвращая систему в состояние, бывшее до установки. Откат обеспечивается наличием для каждого действия, вносящего изменение в систему, обратного к нему. Вводя в пакет нестандартные действия, программист также должен создать обратные к ним для правильной работы отката.
Прочие возможности
Анонсирование и установка по требованию
Журнал установки
Другие системы инсталляции
- Nullsoft Scriptable Install System
- Inno Setup
- Wise Package Studio
Примечания
См. также
- RPM
- Инсталлятор
Компоненты Microsoft Windows | ||
---|---|---|
Основные | Aero • Desktop Window Manager • Проводник (Explorer) • Панель задач • Меню "Пуск" • Shell (namespace • Special Folders • File associations) • Search (Saved search • iFilters) • Graphics Device Interface • WIM • Next Generation TCP/IP stack () • .NET Framework • Audio • Printing (XML Paper Specification) • Active Scripting (WSH • VBScript • COM (OLE • OLE Automation • DCOM • ActiveX • ActiveX Document • Structured storage • Transaction Server) • Previous Versions • WDDM • UAA • Win32 console | |
Службыуправления | Backup and Restore Center • Панель управления (Applets) • Диспетчер устройств • Очистка диска • Дефрагментация диска • Event Viewer • Management Console • Problem Reports and Solutions • Sysprep • • Диспетчер задач • System File Checker • Восстановление системы • Windows Installer • Windows PowerShell • Windows Update • WinSAT • Windows Easy Transfer | |
Приложения | Калькулятор • Calendar • Таблица символов • Contacts • DVD Maker • Fax and Scan • Internet Explorer • Journal • Outlook Express • Почта Windows • Magnifier • Media Center • Meeting Space • Mobile Device Center • Mobility Center • Movie Maker • Narrator • Notepad • Paint • Фотоальбом • Private Character Editor • Remote Assistance • Sidebar • Snipping Tool • Звукозапись • Windows Media Player • Windows Speech Recognition • Игры | Chess Titans • Hold 'Em • InkBall • Mahjong Titans • Purble Place • Пасьянс «Косынка» • Пасьянс «Паук» • Сапёр • Пасьянс «Свободная ячейка» • Пинбол • Червы |
Ядро ОС | hal.dll • System Idle Process • Registry (реестр) • Windows service • Service Control Manager • EXE • Boot Manager • Recovery Console • I/O • WinRE • WinPE • Kernel Patch Protection | |
Службы | Autorun • BITS • Task Scheduler • Wireless Zero Configuration • Shadow Copy • Windows Error Reporting • Multimedia Class Scheduler • CLFS | |
Файловые системы | Hard link • Junction point • Mount Point • Reparse point • Symbolic link • TxF • FAT • CDFS • UDF • DFS • IFS | |
Сервер | Domains • Active Directory • DNS • Групповая политика • Roaming user profiles • Folder redirection • Координатор распределённых транзакций • MSMQ • Windows SharePoint Services • Windows Media Services • Rights Management Services • IIS • Terminal Services • WSUS • Network Access Protection • DFS Replication • Remote Differential Compression • Print Services for UNIX • Remote Installation Services • Windows Deployment Services • Windows System Resource Manager • Hyper-V | |
Архитектура | NT series architecture • Object Manager • Startup process (Vista) • I/O request packets • Kernel Transaction Manager • Logical Disk Manager • Security Accounts Manager • Windows Resource Protection • LSASS • CSRSS • SMSS | |
Безопасность | UAC • BitLocker • Defender • DEP • Protected Media Path • Mandatory Integrity Control • UIPI • Windows Firewall • Security Center | |
Совместимость | Unix subsystem (Interix) • Virtual DOS Machine • Windows on Windows • | |
Программные интерфейсы и Microsoft Windows | ||
Графика | Проводник Windows • Direct3D • Windows Presentation Foundation • Windows Color System • Windows Image Acquisition • Windows Imaging Component | |
Звук | MME | |
Мультимедиа | DirectShow • Windows Media • Media Foundation | |
Веб | MSHTML • JScript • ActiveX • | |
Доступ к данным | Компоненты Microsoft Data Access • Extensible Storage Engine • | |
Сети | Winsock (LSP) • Filtering Platform • | |
Коммуникации | TAPI | |
Администрирование | Консоль Win32 • Windows Script Host • Инструментарий управления Windows • PowerShell • Планировщик задач • Offline Files • Теневое копирование • Windows Installer • Диспетчер ошибок Windows • Журнал событий Windows | |
Модель компонентов | COM • COM+ • DCOM • .NET Framework | |
Библиотеки | Microsoft Foundation Classes (MFC) • Active Template Library (ATL) • Windows Template Library (WTL) • Framework Class Library (FCL) | |
Разработка драйверов | Модель драйверов Windows • Windows Driver Foundation (KMDF • UMDF) | |
Безопасность | Windows CardSpace • Data protection API • Security Support Provider Interface | |
.NET | .NET Framework • ADO.NET • .NET Remoting • Windows Presentation Foundation • Windows Workflow Foundation • Windows Communication Foundation • Windows CardSpace • XNA • | |
Межпроцессноевзаимодействие | MSRPC • Именованные каналы | |
Текст иподдержка языков | Framework Текстовых сервисов • Объектная модель текстов • • Языковые пакеты • Многоязычный интерфейс | |
Игры | XNA • | |
Форматы архивов (сравнение по типу) | ||
Только архивирование | ar · cpio · shar · · LBR | |
Только сжатие | · · · lzop · rzip · SQ · compress · LZW | |
Архивирование и сжатие | 7z · ACE · ARC · · · Cabinet · cpt · DAR · dd · DGCA · .dmg · GCA · kgb · · LZX · · · qda · sit · SQX · zoo · Упаковка и распространение ПО | deb · pkg · · MSI · (WAR · RAR (Java) · EAR) |
Wikimedia Foundation.2010.