Установщик Windows
Эта статья нуждается в дополнительных цитатах для проверки . ( май 2020 г. ) |
Разработчик(и) | Майкрософт |
---|---|
Первоначальный выпуск | 31 августа 1999 г |
Финальный выпуск | 5.0
/ 22 июля 2009 г [1] |
Операционная система | Microsoft Windows |
Платформа | ИА-32 , x86-64 , ARM32 , ARM64 , итаниум |
Входит в комплект | Windows 2000 и более поздние версии |
Тип | Установщик |
Лицензия | Бесплатное ПО |
Веб-сайт | документы |
Расширение имени файла |
.msi, .msp |
---|---|
Тип интернет-СМИ |
приложение/x-ole-хранилище |
Разработано | Майкрософт |
Тип формата | Архив |
Контейнер для | Информация об установке и дополнительные полезные данные CAB- файла . |
Расширено с | Структурированное хранилище COM |
Открытый формат ? | Нет |
Установщик Windows ( msiexec.exe
, ранее известный как Microsoft Installer , [3] кодовое имя Дарвин ) [4] [5] — это программный компонент и интерфейс прикладного программирования (API) Microsoft Windows, используемый для установки , обслуживания и удаления программного обеспечения. Информация об установке и, при необходимости, сами файлы упаковываются в установочные пакеты , слабо реляционные базы данных , структурированные как структурированные хранилища COM и широко известные как «файлы MSI», в зависимости от их расширений по умолчанию . Пакеты с расширениями файлов mst
содержат «Сценарии трансформации» установщика Windows, те, которые имеют msm
расширения содержат «Модули слияния» и расширение файла pcp
используется для «Свойства создания патча». [6] Установщик Windows содержит существенные изменения по сравнению со своим предшественником, API настройки. Новые функции включают в себя графического пользовательского интерфейса структуру и автоматическое создание последовательности удаления . Установщик Windows позиционируется как альтернатива автономным исполняемым средам установки, таким как старые версии InstallShield и NSIS .
До появления Microsoft Store (тогда называвшегося Windows Store) Microsoft поощряла третьи стороны использовать установщик Windows в качестве основы для установочных платформ, чтобы они правильно синхронизировались с другими установщиками и поддерживали согласованность внутренней базы данных установленных продуктов. Надежная работа важных функций, таких как откат и управление версиями, зависит от согласованной внутренней базы данных. Кроме того, установщик Windows реализует принцип минимальных привилегий , выполняя установку программного обеспечения через прокси для непривилегированных пользователей.
Логическая структура пакетов
[ редактировать ]Пакет описывает установку одного или нескольких полных продуктов и универсально идентифицируется по GUID . Продукт состоит из компонентов , сгруппированных по функциям . Установщик Windows не обрабатывает зависимости между продуктами.
Продукты
[ редактировать ]Отдельная установленная работающая программа (или набор программ) является продуктом . Продукт идентифицируется уникальным GUID (свойство ProductCode), обеспечивающим авторитетную идентификацию во всем мире. GUID в сочетании с номером версии (свойство ProductVersion) позволяет управлять выпуском файлов и ключей реестра продукта.
Пакет . включает в себя логику пакета и другие метаданные , относящиеся к тому, как пакет выполняется при запуске Например, изменение EXE-файла в продукте может потребовать изменения ProductCode или ProductVersion для управления выпуском. Однако простое изменение или добавление условия запуска (при том, что продукт остается точно таким же, как предыдущая версия) все равно потребует изменения PackageCode для управления выпуском самого файла MSI.
Функции
[ редактировать ]Объект представляет собой иерархическую группу компонентов. Функция может содержать любое количество компонентов и других подфункций. Меньшие пакеты могут состоять из одной функции. Более сложные программы установки могут отображать диалоговое окно «настраиваемая настройка», в котором пользователь может выбрать, какие функции установить или удалить.
Автор пакета определяет возможности продукта. Например, текстовый процессор может поместить основной файл программы в одну функцию, а файлы справки программы, дополнительную проверку орфографии и канцелярские модули — в дополнительные функции.
Компоненты
[ редактировать ]Компонент – это базовая единица продукта. Каждый компонент рассматривается установщиком Windows как единое целое. Установщик не может установить только часть компонента. [7] Компоненты могут содержать программные файлы , папки , COM- компоненты, ключи реестра и ярлыки . Пользователь не взаимодействует напрямую с компонентами.
Компоненты глобально идентифицируются по идентификаторам GUID; таким образом, один и тот же компонент может использоваться несколькими функциями одного и того же пакета или нескольких пакетов, в идеале за счет использования модулей слияния .
Ключевые пути
[ редактировать ]Путь к ключу — это конкретный файл, ключ реестра или источник данных ODBC , который автор пакета указывает как критический для данного компонента. Поскольку файл является наиболее распространенным типом пути к ключу, термин «файл ключа» обычно используется . Компонент может содержать не более одного ключевого пути; если у компонента нет явного пути к ключу, в качестве пути к ключу принимается папка назначения компонента. При запуске программы на основе MSI установщик Windows проверяет наличие путей к ключам. Если существует несоответствие между текущим состоянием системы и значением, указанным в пакете MSI (например, отсутствует файл ключа), соответствующая функция устанавливается повторно. Этот процесс известен как самоисцеление или самовосстановление . Никакие два компонента не должны использовать один и тот же ключевой путь.
Разработка установочных пакетов
[ редактировать ]Создание установочного пакета для нового приложения — нетривиальная задача. Необходимо указать, какие файлы необходимо установить, куда и с какими ключами реестра. Любые нестандартные операции можно выполнить с помощью Custom Actions, которые обычно разрабатываются в 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 является важным шагом в процессе выпуска.
Версии
[ редактировать ]См. также
[ редактировать ]- APPX — формат пакета программного обеспечения, используемый в Магазине Windows Microsoft.
- App-V — формат пакета программного обеспечения, используемый для виртуализации и потоковой передачи.
- .Exe
- Список установочного программного обеспечения
- Система управления пакетами
- Утилита очистки установщика Windows
- Диспетчер пакетов Windows
- ZAP-файл – способ выполнить установку приложения, когда MSI-файл не существует.
Ссылки
[ редактировать ]- ^ Перейти обратно: а б «Выпущенные версии установщика Windows» . Сеть разработчиков Microsoft . Майкрософт . Проверено 3 ноября 2012 г.
- ^ «Подробности о расширении файла .MSI» . Filext.com . Проверено 24 апреля 2013 г.
- ^ Меншинг, Роб (25 ноября 2003 г.). «Внутри формата файла MSI» . Блоги MSDN . Архивировано из оригинала 15 января 2009 г. Проверено 15 февраля 2017 г.
- ^ Меншинг, Роб (11 октября 2003 г.). «История Орки» . Блоги MSDN . Архивировано из оригинала 23 декабря 2008 г. Проверено 15 февраля 2017 г.
- ^ Смит, Крис (1 июля 2005 г.). «Установщик Windows, .NET Framework, загрузчик и вы» . Блоги MSDN . Проверено 15 февраля 2017 г.
- ^ Стюарт, Хит (27 февраля 2006 г.). «Определение типов файлов установщика Windows» . Проверено 22 апреля 2020 г.
- ^ «Компоненты установщика Windows» . Библиотека MSDN . Корпорация Майкрософт . 30 ноября 2012 г. Проверено 08 апреля 2013 г.
- ^ Ходжес, Бак (17 марта 2011 г.). «Проекты установки Visual Studio (vdproj) не будут поставляться с будущими версиями VS» . Блоги MSDN . Проверено 4 февраля 2020 г.
- ^ «Расширение проектов установщика Visual Studio» . Блог Visual Studio . 17 апреля 2014 г. Проверено 4 февраля 2020 г.
- ^ Внутренние оценщики согласованности - ICE
- ^ «Применение полных обновлений к клиентским компьютерам» . Майкрософт . 9 марта 2004 г. Архивировано из оригинала 10 апреля 2004 г.
- ^ Что нового в установщике Windows 4.5
- ^ «Выпущенные версии установщика Windows (Windows)» . Msdn.microsoft.com. 30 ноября 2012 г. Проверено 24 апреля 2013 г.