Из Википедии, свободной энциклопедии
Перейти к навигации Перейти к поиску

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

До появления Магазина Windows Microsoft рекомендовала третьим сторонам использовать установщик Windows в качестве основы для сред установки, чтобы они правильно синхронизировались с другими установщиками и поддерживали согласованность внутренней базы данных установленных продуктов. Важные функции, такие как откат и управление версиями, зависят от согласованной внутренней базы данных для надежной работы. Более того, установщик Windows реализует принцип минимальных прав , выполняя установку программного обеспечения через прокси для непривилегированных пользователей.

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

Пакет описывает установку одного или нескольких полных продуктов и универсален по идентификатору 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.

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

Проверка ICE [ править ]

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

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

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

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

Версии [ править ]

См. Также [ править ]

  • .исполняемый файл
  • Установка
  • Список установочного ПО
  • Система управления пакетами
  • Утилита Windows Installer CleanUp
  • Файл ZAP - способ выполнить установку приложения при отсутствии файла MSI.

Ссылки [ править ]

  1. ^ a b «Выпущенные версии установщика Windows» . Сеть разработчиков Microsoft . Microsoft . Проверено 3 ноября 2012 года .
  2. ^ "Расширение файла .MSI Подробности" . Filext.com . Проверено 24 апреля 2013 .
  3. ^ Меньшинг, Роб (2003-11-25). «Внутри формата файла MSI» . Блоги MSDN . Архивировано из оригинала на 2009-01-15 . Проверено 15 февраля 2017 .
  4. ^ Меньшинг, Роб (2003-10-11). «История Орки» . Блоги MSDN . Архивировано из оригинала на 2008-12-23 . Проверено 15 февраля 2017 .
  5. ^ Смит, Крис (2005-07-01). «Установщик Windows, .NET Framework, загрузчик и вы» . Блоги MSDN . Проверено 15 февраля 2017 .
  6. Стюарт, Хит (27 февраля 2006 г.). «Определение типов файлов установщика Windows» . Проверено 22 апреля 2020 .
  7. ^ «Компоненты установщика Windows» . Библиотека MSDN . Корпорация Microsoft . 2012-11-30 . Проверено 8 апреля 2013 .
  8. ^ Ходжес, Бак (2011-03-17). «Проекты установки Visual Studio (vdproj) не будут поставляться с будущими версиями VS» . Блоги MSDN . Проверено 4 февраля 2020 .
  9. ^ «Расширение проектов установщика Visual Studio» . Блог Visual Studio . 2014-04-17 . Проверено 4 февраля 2020 .
  10. ^ Внутренние оценщики согласованности - ICE
  11. ^ «Применение обновлений полных файлов на клиентских компьютерах» . Microsoft . 9 марта, 2004. Архивировано из оригинала 10 апреля 2004 года.
  12. ^ Что нового в установщике Windows 4.5
  13. ^ «Выпущенные версии установщика Windows (Windows)» . Msdn.microsoft.com. 2012-11-30 . Проверено 24 апреля 2013 .

Внешние ссылки [ править ]

  • «Установщик Windows» . Центр разработки Майкрософт.
  • InstallSite.org «Ресурсы для разработчиков»