Установщик Windows

Программное обеспечение
Установщик Windows
Разработчик(и)Майкрософт
Первоначальный выпуск31 августа 1999 г .; 25 лет назад (1999-08-31)
Окончательный релиз
5.0 / 22 июля 2009 г. ; 15 лет назад [1] (2009-07-22)
Операционная системаМайкрософт Виндоус
ПлатформаIA-32 , x86-64 , ARM32 , ARM64 , Итаниум
Включено в комплектWindows 2000 и более поздние версии
ТипУстановщик
ЛицензияБесплатное ПО
Веб-сайтLearn.microsoft.com/en-us/windows/win32/msi/windows-installer-portal 
Пакет установщика Windows[2]
Расширение имени файла
.msi, .msp
Тип интернет-СМИ
приложение/x-ole-хранилище
РазработаноМайкрософт
Тип форматаАрхив
Контейнер дляИнформация об установке и дополнительная полезная нагрузка в виде файла .cab
Расширенный отСтруктурированное хранилище COM
Открытый формат ?Нет

Windows Installer ( msiexec.exeранее известный как Microsoft Installer , [3] кодовое имя Darwin ) [4] [5]программный компонент и интерфейс прикладного программирования (API) Microsoft Windows, используемый для установки , обслуживания и удаления программного обеспечения. Информация об установке и, при необходимости, сами файлы упакованы в установочные пакеты , слабореляционные базы данных , структурированные как структурированные хранилища COM и обычно известные как «файлы MSI» из-за их расширений имен файлов по умолчанию . Пакеты с расширениями файлов mstсодержат «скрипты преобразования» установщика Windows, пакеты с msmрасширениями содержат «модули слияния», а расширение файла pcpиспользуется для «свойств создания исправлений». [6] Установщик Windows содержит значительные изменения по сравнению со своим предшественником, Setup API. Новые функции включают в себя структуру графического интерфейса пользователя и автоматическую генерацию последовательности удаления . Установщик Windows позиционируется как альтернатива автономным исполняемым структурам установщиков, таким как старые версии InstallShield и NSIS .

До появления Microsoft Store (тогда называвшегося Windows Store) Microsoft поощряла третьих лиц использовать Windows Installer в качестве основы для фреймворков установки, чтобы они правильно синхронизировались с другими установщиками и поддерживали внутреннюю базу данных установленных продуктов согласованной. Такие важные функции, как откат и управление версиями, зависят от согласованной внутренней базы данных для надежной работы. Кроме того, Windows Installer способствует принципу наименьших привилегий , выполняя установку программного обеспечения через прокси для непривилегированных пользователей.

Логическая структура пакетов

Пакет описывает установку одного или нескольких полных продуктов и универсально идентифицируется по GUID . Продукт состоит из компонентов , сгруппированных в функции . Установщик Windows не обрабатывает зависимости между продуктами.

Продукция

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

Пакет включает логику пакета и другие метаданные , которые относятся к тому, как пакет выполняется при запуске. Например, изменение EXE - файла в продукте может потребовать изменения ProductCode или ProductVersion для управления выпуском. Однако простое изменение или добавление условия запуска (при этом продукт остается точно таким же, как и предыдущая версия) все равно потребует изменения PackageCode для управления выпуском самого MSI-файла.

Функции

Функция — это иерархическая группа компонентов. Функция может содержать любое количество компонентов и других подфункций. Меньшие пакеты могут состоять из одной функции. Более сложные установщики могут отображать диалоговое окно «пользовательской настройки», в котором пользователь может выбрать, какие функции установить или удалить.

Автор пакета определяет функции продукта. Например, текстовый процессор может поместить основной файл программы в одну функцию, а файлы справки программы, дополнительную проверку орфографии и модули канцелярских принадлежностей — в дополнительные функции.

Компоненты

Компонент это базовая единица продукта. Каждый компонент рассматривается установщиком Windows как единица. Установщик не может установить только часть компонента. [7] Компоненты могут содержать программные файлы , папки , компоненты COM , ключи реестра и ярлыки . Пользователь не взаимодействует с компонентами напрямую.

Компоненты идентифицируются глобально с помощью идентификаторов GUID; таким образом, один и тот же компонент может совместно использоваться несколькими функциями одного и того же пакета или несколькими пакетами, в идеале — с помощью модулей слияния .

Ключевые пути

Ключевой путь — это определенный файл, раздел реестра или источник данных ODBC , который автор пакета указывает как критический для данного компонента. Поскольку файл является наиболее распространенным типом ключевого пути, обычно используется термин « ключевой файл» . Компонент может содержать не более одного ключевого пути; если компонент не имеет явного ключевого пути, папка назначения компонента считается ключевым путем. При запуске программы на основе MSI установщик Windows проверяет наличие ключевых путей. Если есть несоответствие между текущим состоянием системы и значением, указанным в пакете MSI (например, отсутствует ключевой файл), соответствующая функция переустанавливается. Этот процесс известен как самовосстановление или самовосстановление . Никакие два компонента не должны использовать один и тот же ключевой путь.

Разработка инсталляционных пакетов

Создание пакета установщика для нового приложения — нетривиальная задача. Необходимо указать, какие файлы должны быть установлены, куда и с какими ключами реестра. Любые нестандартные операции можно выполнить с помощью пользовательских действий, которые обычно разрабатываются в DLL . Существует ряд коммерческих и бесплатных продуктов, помогающих создавать пакеты MSI, включая Visual Studio (изначально до VS 2010, [8] с расширением в более новых версиях VS [9] ), InstallShield и WiX . В разной степени пользовательский интерфейс и поведение могут быть настроены для использования в менее распространенных ситуациях, таких как автоматическая установка. После подготовки пакет установщика «компилируется» путем чтения инструкций и файлов с локального компьютера разработчика и создания файла .msi.

Установщик Windows может работать медленнее, чем технологии установки на основе собственного кода , такие как InstallAware [10], из-за накладных расходов на регистрацию компонентов и поддержку отката, что часто подразумевает генерацию десятков тысяч ключей реестра и временных файлов.

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

Проверка ICE

Microsoft предоставляет набор внутренних оценщиков согласованности (ICE), которые можно использовать для обнаружения потенциальных проблем с базой данных MSI. [11] Правила ICE объединяются в файлы CUB, которые представляют собой урезанные файлы MSI, содержащие пользовательские действия, которые проверяют содержимое целевой базы данных MSI на наличие предупреждений и ошибок проверки. Проверка ICE может быть выполнена с помощью инструментов Platform SDK Orca и msival2 или с помощью инструментов проверки, которые поставляются с различными средами разработки.

Например, некоторые правила ICE:

  • ICE09: Проверяет, что любой компонент, предназначенный для системной папки, помечен как постоянный.
  • ICE24: проверяет, что код продукта, версия продукта и язык продукта имеют соответствующие форматы.
  • ICE33: проверяет, что таблица реестра не используется для данных, которые лучше подходят для другой таблицы (класс, расширение, глагол и т. д.).

Устранение предупреждений и ошибок проверки ICE является важным шагом в процессе выпуска.

Версии

ВерсияВключено в [1]Также доступно для
1.0Офис 2000
1.1Windows 2000 RTM, SP1, SP2

Офис XP [12]

Windows 95 , Windows 98,
Windows NT 4.0
1.2Виндовс Я
2.0Windows XP RTM, SP1
Windows 2000 SP3, SP4
Windows Server 2003 RTM
Windows 9x
Windows NT 4.0
Windows 2000
3.0Windows XP SP2Windows 2000 с пакетом обновления SP3 или выше
Windows XP
Windows Server 2003
3.1Windows XP SP3
Windows Server 2003 SP1, SP2
Windows XP Professional x64 Edition
Windows 2000 с пакетом обновления SP3 или выше
Windows XP
Windows Server 2003
4.0Windows Vista RTM, SP1
Windows Server 2008 RTM
4.5 [13]Windows Vista с пакетом обновления 2 (SP2)
Windows Server 2008 с пакетом обновления 2 (SP2)
Windows XP с пакетом обновления SP2 или выше
Windows Server 2003 с пакетом обновления SP1 или выше
Windows XP Professional x64 Edition
Windows Vista
Windows Server 2008 [14]
5.0Windows 7 и более поздние версии
Windows Server 2008 R2 и более поздние версии

Смотрите также

Ссылки

  1. ^ ab "Выпущенные версии установщика Windows". Microsoft Developer Network . Microsoft . Получено 3 ноября 2012 г. .
  2. ^ "Расширение файла .MSI Details". Filext.com . Получено 2013-04-24 .
  3. ^ Mensching, Rob (2003-11-25). "Внутри формата файла MSI". Блоги MSDN . Архивировано из оригинала 2009-01-15 . Получено 2017-02-15 .
  4. ^ Меншинг, Роб (2003-10-11). "История Орки". Блоги MSDN . Архивировано из оригинала 2008-12-23 . Получено 2017-02-15 .
  5. ^ Смит, Крис (01.07.2005). «Установщик Windows, .NET Framework, Bootstrapper и вы». Блоги MSDN . Получено 15.02.2017 .
  6. ^ Стюарт, Хит (27.02.2006). «Определение типов файлов установщика Windows» . Получено 22.04.2020 .
  7. ^ "Компоненты установщика Windows". Библиотека MSDN . Корпорация Microsoft . 2012-11-30 . Получено 2013-04-08 .
  8. ^ Ходжес, Бак (17.03.2011). «Проекты установки Visual Studio (vdproj) не будут поставляться с будущими версиями VS». Блоги MSDN . Получено 04.02.2020 .
  9. ^ "Расширение проектов установщика Visual Studio". Блог Visual Studio . 2014-04-17 . Получено 2020-02-04 .
  10. ^ "Расширение установщика Windows с помощью более быстрого механизма настройки собственного кода" (пресс-релиз). 9 ноября 2010 г. Получено 22 августа 2024 г.
  11. ^ Оценщики внутренней согласованности – ICE
  12. ^ "Применение полнофайловых обновлений к клиентским компьютерам". Microsoft . 9 марта 2004 г. Архивировано из оригинала 10 апреля 2004 г.
  13. ^ Что нового в установщике Windows 4.5
  14. ^ "Выпущенные версии установщика Windows (Windows)". Msdn.microsoft.com. 2012-11-30 . Получено 2013-04-24 .
  • Официальный сайт
Retrieved from "https://en.wikipedia.org/w/index.php?title=Windows_Installer&oldid=1258649387"