An MSI file is a Windows Installer format used to install software on Windows operating systems. The MSI file extension is used to install, uninstall, configure, and update programs on the computer.
Let us define MSI extension:
What is an MSI file?
MSI or Microsoft Installer files represent Windows package files that store installation information. Installer packages are data collection sets (relational databases) formally arranged into data tables.
MSI files are used by some versions of Windows to install updates from Windows Update and use third-party installation tools. The MSI file contains all the information necessary to install the software, including the files that need to be installed and where those files need to be installed on your computer.
MSI files are generally used to install software on Windows computers but can also be used to update or uninstall software. The Windows Installer service configures installer packages like Windows applications or update packages.
When you execute an MSI file format, the installation wizard will start. During this process, what generally happens is:
- Files are copied to the system,
- The registry keys get applied,
- Installation instructions are executed, including file associations, services, and custom actions.
When you download a software package in MSI format, you usually see both .msi and .exe file extensions. The .exe file is the executable installer file to install the software on your computer. The .msi file is the installation package that will be used by the Windows Installer service to install the software.
Difference between MSI file and EXE file
Windows Installer uses MSI files to install software on a system. They contain all the information necessary for the installer to copy files, set registry values, etc. Non-MSI installers extract their installation resources directly and manage their installation themselves. This can be difficult to do correctly, as errors may not be caught until runtime.
Setup.exe files are used as bootstrappers or non-MSI installers. A bootstrapper is a self-extracting executable that contains an MSI file. When run, the setup.exe will call Windows Installer to install the MSI. This is preferable to using individual MSI files, as it allows several MSIs to be installed sequentially.
MSI files are installer packages that always meet certain requirements and are standardized, making them reliable and easy to use. On the other hand, EXE files are highly customizable and offer more flexibility to developers. They can contain other EXE and MSI files, as well as dependencies. Additionally, they can be compiled in many different ways and languages. While MSI files require the Windows Installer, EXE installers do not. This makes them ideal for network deployments where the Windows Installer is unavailable.
What is Windows 64-bit MSI?
Windows 64-bit MSI is a Windows Installer that installs 64-bit packages. 64-bit MSI files are also used to install, store, and remove programs.
Let us see how we can open the MSI file:
How to install the MSI file?
MSI files will be opened automatically with the Windows installer if you double-click on the file. Additionally, you can install MSI files using the command prompt in Windows. MSI files are packaged in an archived format, so you can extract content using a file unlock program such as 7-Zip.
If you have this or a similar program installed, you can right-click on the MSI file and choose to open or remove all the files stored inside.
How to install MSI files on MAC?
To open an MSI file on MAC, you need to use MAC file extractor software and follow the steps:
- Download the MAC extractor software, for example, “Extract Now.”
- Install the software.
- Open extracting software.
- Extract the MSI files.
See how to extract MSI files using 7zip software:
How to run and install the MSI file from the command prompt?
To run the MSI file from the command prompt, do the following steps:
- Type “CMD” in the Start menu or press the Ctrl+Shift+Enter keys simultaneously.
- Click the Yes button to see the command prompt black window
- Navigate to the MSI file folder. To enter the new folder, type “CD NewFolder.” To exit from directory “CD..”
- When entering the MSI file folder, type the MSI file name and press Enter.
See how to run the MSI file from the command prompt in this video:
What are IIF MSI files?
IIF MSI files represent the Microsoft installer format commonly used in Microsoft software, such as spreadsheet software. To open IIF format, please use an Excel file or Notepad. This file format is usually used by Quickbooks and other spreadsheet programs.
IIF functions return the value passed as the TruePart parameter if the expression evaluates to True; otherwise, they return it as the FalsePart parameter.
Setup MSI
A setup MSI is a setup.exe file that acts as a bootstrapper because it contains an MSI instead of individual files. However, some setup.exe acts as a non-MSI installer to extract the installation resources and manage their installation directly. In this case, the setup.exe will call Windows Installer to install the MSI.
Many organizations offer IT developers MSI versions to customize the software in their environments. For example:
Firefox MSI
Firefox Enterprise offers MSI installers per CPU architecture 32 or 64-bit, locale, and channel. Firefox MSI helps system administrators to customize and deploy Firefox in their environments.
See example: https://www.mozilla.org/en-US/firefox/all/#product-desktop-release.
- About
- Latest Posts
Facebook Ads to Get Followers!
Creating strategic Facebook ads can be an effective solution for those looking to increase page likes and foster organic growth. This post will guide you through setting up Facebook ads for page…
ClickUp vs. Slack
Comparing ClickUp and Slack depends on your specific needs, as these tools are designed for different purposes. Below is a breakdown to help you decide:
Purpose and Functionality
ClickUp: A…
Файл с расширением msi – это важный элемент в сфере программного обеспечения, который часто используется для установки и управления различными приложениями на компьютерах под управлением операционных систем Windows. Этот формат является одной из ключевых составляющих, обеспечивающих возможность безболезненной установки, обновления и удаления программ, что делает его незаменимым инструментом для разработчиков и пользователей.
С развитием технологий и ростом популярности операционной системы Windows, необходимость в эффективных методах распространения и установки программного обеспечения становилась все более актуальной. Файл формата msi представил собой качественное решение данной задачи, предоставив удобный и надежный способ для разработчиков распространять свои продукты.
Бренд Windows, благодаря интеграции с этим форматом, смог предложить пользователям интуитивно понятный метод работы с программами. В мsi файлах использованы мощные механизмы, позволяющие безопасно и эффективно управлять установленными приложениями, что очень важно для обеспечения стабильности и производительности системы в целом.
История появления и развития этого формата файла тесно связана с совершенствованием операционных систем компании Microsoft и их стремлением обеспечить максимально комфортное пользовательское взаимодействие.
Файлы msi: что это?
MSI-файлы играют ключевую роль в установке приложений в операционной системе Windows. Они помогают пользователям установить, обновить и удалить программы, сохраняя данные об установке в специальном формате. Давайте разберёмся с их структурами и особенностями.
Изначально этот формат был разработан корпорацией Microsoft для упрощения процесса установки программного обеспечения. За годы использования этот формат стал популярным не только среди разработчиков ПО, но и среди пользователей, благодаря своей надежности и удобству. История бренда Microsoft тесно переплетается с этим типом файлов, так как он был одним из ключевых аспектов развития их экосистемы.
Для открытия и работы с такими файлами используются специальные инструменты, предоставляемые как самой Microsoft, так и сторонними разработчиками. Основным компонентом является Windows Installer, который управляет процессом установки и удаления программ, обеспечивая целостность и чистоту операционной системы.
Особенность | Описание |
---|---|
Создание и использование | Используются для установки, обновления и удаления программного обеспечения. |
Структура | Содержат информацию об установке, файлы программы и данные конфигурации. |
Инструменты | Открываются с помощью Windows Installer и сторонних утилит. |
Актуальность | Являются стандартом для многих современных приложений. |
Таким образом, файлы msi представляют собой мощный инструмент для управления программными продуктами в среде Windows. За каждым таким файлом стоит история и технологии, развивающиеся вместе с операционной системой этого бренда.
Установка с помощью MSI
MSI – это популярный формат установщика, поддерживающий многочисленные функции, которые делают процесс инсталляции наиболее эффективным и удобным. Этот формат стал брендом в своем роде благодаря своей надежности и простоте использования.
Процесс установки включает несколько этапов, каждый из которых направлен на обеспечение безошибочной и безопасной установки программного обеспечения на ваш компьютер. Рассмотрим основные шаги:
- Скачивание файла: Изначально нужно открыть официальный сайт разработчика или другого проверенного источника и загрузить файл MSI.
- Запуск инсталлятора: После того как файл был успешно скачан, двойным кликом открываем его. Это действие запускает последовательность установки.
- Следование указаниям: На экране появляются инструкции и условия лицензионного соглашения, которые необходимо внимательно изучить и подтвердить.
- Выбор параметров установки: Некоторые инсталляторы позволяют выбрать директорию установки и установить дополнительные компоненты или функции.
- Процесс установки: Теперь инсталлятор автоматически копирует файлы, настраивает необходимые параметры и регистрирует компонент в системе.
- Завершение: По окончании процесса установки будет предложено перезагрузить систему или сразу запустить установленное приложение.
История формирования и развития MSI как формата установщика привела к созданию технологии, которая экономит время и усилия пользователей, гарантируя при этом высокую степень надежности и безопасности процесса установки. Благодаря этим особенностям, MSI заслужил свою популярность и сегодня широко используется для установки различного программного обеспечения.
Таким образом, используя MSI, пользователи могут быть уверены в безупречном процессе установки, который открывает возможности безопасной и удобной эксплуатации программного обеспечения.
Инструменты для работы с msi
Для эффективного взаимодействия с msi-файлами существует множество полезных инструментов. Разные программы позволяют выполнять разнообразные операции с этими файлами, будь то их создание, редактирование или анализ. В данном разделе мы рассмотрим наиболее популярные решения и подробно расскажем о возможностях каждого из них.
Одним из ведущих инструментов является Orca. Эта утилита от корпорации Microsoft идеально подходит для редактирования msi-файлов. С ее помощью можно изменять таблицы и записи, что делает процесс модификации более гибким. Orca позволяет детально изучить структуру пакета и внести необходимые изменения.
Другой важный инструмент — InstEd. Это редактор msi, который часто используют разработчики для создания и тестирования установочных файлов. InstEd предлагает удобный интерфейс, который облегчает работу с базовыми и расширенными параметрами пакета. Это ПО помогает отслеживать историю изменений, что полезно для управления версиями установочных файлов.
Специалисты, работающие с msi на профессиональном уровне, ценят возможности программы Advanced Installer. Этот мощный инструмент позволяет не только открывать и редактировать файлы, но и интегрироваться с продуктами различных брендов. Advanced Installer поддерживает автоматизацию процессов и создание сложных сценариев установки.
Для анализа и диагностики msi-файлов часто применяется SuperOrca. Эта утилита предоставляет доступ к таблицам базы данных и позволяет исследовать данные внутри пакета. Благодаря таким особенностям, SuperOrca помогает выявить и устранить ошибки, что значительно повышает надежность установочных файлов.
Не стоит забывать и о WiX Toolset. Этот набор инструментов позволяет создавать msi-файлы из исходного кода, что дает возможность разработчикам полностью контролировать процесс сборки установочных пакетов. WiX Toolset поддерживает интеграцию с другими системами разработки и является незаменимым помощником при создании сложных установочных сценариев.
Каждый из перечисленных инструментов имеет свои уникальные возможности, которые делают работу с msi-файлами более удобной и продуктивной. Выбор конкретного решения зависит от своих задач и уровня подготовки специалиста.
Отличия msi и exe
При установке программного обеспечения на компьютер пользователи часто встречают файлы с расширениями MSI и EXE. Несмотря на кажущееся сходство, эти форматы имеют значительные различия. Рассмотрим, чем же они различаются и в каких случаях предпочтительнее использовать тот или иной тип файла.
Файлы с расширением .msi представляют собой установочные пакеты, разработанные специально для операционной системы Windows. Такие файлы создаются с использованием Windows Installer, инструмента компании Microsoft. MSI-файл обычно содержит всю необходимую информацию для установки, обновления и удаления программного обеспечения. Это делает их удобным вариантом для комплексного управления программными установками в корпоративной среде.
С другой стороны, файлы с расширением .exe представляют собой исполняемые файлы. Они могут содержать не только установочные пакеты, но и любые другие программы или скрипты. EXE-файлы обладают способностью запускаться и открывать различные программы и приложения непосредственно. Происхождение EXE формата можно проследить до начала вековой истории Windows, что делает его одним из самых старых и наиболее широко используемых форматов в операционной системе Microsoft.
Бренды программного обеспечения также могут предпочитать один формат другому. Например, некоторые крупные компании, такие как Adobe или Autodesk, выбирают MSI формат для своих установочных пакетов, чтобы обеспечить простоту интеграции и автоматизации развертывания в корпоративных сетях. В то время как множество других разработчиков отдают предпочтение EXE файлам благодаря их универсальности и совместимости.
Подводя итоги, MSI файлы нацелены на обеспечение профессиональной установки и управления программным обеспечением, тогда как EXE файлы служат универсальным решением для различных задач. Понимание этих различий помогает пользователям выбирать наиболее подходящий формат в зависимости от их конкретных нужд и условий эксплуатации.
Создание собственных msi
Для создания инсталляционного файла можно воспользоваться несколькими подходами:
- Применение специализированных инструментов для разработки msi-пакетов.
- Использование интегрированных возможностей сред разработки, таких как Visual Studio.
- Создание msi вручную с помощью WiX Toolset либо аналогичных инструментов.
Основные шаги для создания msi-пакета включают:
- Подготовка исходных данных: Создание каталогов и подготовка файлов программы, структурирование их в логически организованные директории.
- Настройка проекта: Открытие и настройка проекта в выбранной среде разработки или инструменте, добавление всех необходимых файлов, установление параметров установки.
- Конфигурирование компонентов: Определение компонентов и их зависимостей, указание возможных условий установки.
- Формирование пользовательских интерфейсов: Настройка интерфейсов для установки (например, приветственные экраны, соглашения о лицензии), добавление фирменных элементов бренда, таких как лого и цвета.
- Тестирование сборки: Проведение тестов на разных системах для проверки корректности установки и функционирования приложения.
- Создание итогового мsi-файла: Генерация финального инсталляционного пакета и его распространение пользователям.
Благодаря структурированному подходу и применению функциональных инструментов, вы сможете самостоятельно создавать качественные msi-пакеты, которые поднимут ваш бренд на новый уровень. Помните, что тестирование является ключевым этапом для обеспечения надёжности и стабильности установки вашего программного обеспечения.
Преимущества формата msi
Формат установки программ от бренда Microsoft давно завоевал популярность благодаря своим уникальным достоинствам. Этот формат удобен и функционален, предлагает множество возможностей для пользователя и разработчика, делая взаимодействие с компьютерными приложениями максимально эффективным и комфортным.
Упрощение установки и удаления – Один из ключевых плюсов данного формата заключается в простоте инсталляции и деинсталляции программ. Пользователи могут без труда открывать и устанавливать приложения без необходимости в дополнительных манипуляциях. Автоматический процесс настройки и конфигурирования программного обеспечения значительно экономит время и усилия.
Стабильность и надежность – Формат обеспечивает высокую устойчивость к ошибкам при установке. В случае возникновения проблем пользователи могут легко восстановить исходное состояние системы. Таким образом, минимизируется риск сбоев и повреждений файлов, повышается общая стабильность работы программ, что особенно важно для корпоративного использования.
Безопасность и контроль – Одним из важных преимуществ является усиленная защита. Файлы подписываются цифровыми сертификатами, что гарантирует их подлинность и защищает от вмешательства злоумышленников. Кроме того, IT-специалисты могут тщательно контролировать все устанавливаемые программные продукты, предотвращая нежелательные изменения в системной инфраструктуре.
Широкие возможности автоматизации – Для администраторов и разработчиков формат открывает возможности автоматизации задач, что значительно облегчает процесс установки на множество устройств одновременно. Сценарии и командные файлы могут значительно ускорить работу, упрощая массовое развертывание и обновление программного обеспечения.
Единая структура – Формат отличается структурированной организацией файлов и настроек. Это облегчает поиск конкретных элементов и управление ими. Также стандартный подход к хранению данных улучшает совместимость с другими системами, позволяя решить множество задач без дополнительных разработок.
Время на прочтение6 мин
Количество просмотров33K
Продолжая тему работы с Windows Installer, сегодня предлагаю поговорить о готовых инсталляторах, предоставляемых производителями ПО – для их обозначения широко применяется термин «vendor MSI».
Как вы помните из прошлой статьи, Windows Installer является промышленным стандартом установочных файлов и используется в большинстве систем развертывания приложений. Vendor MSI очень удобны для системных администраторов, занимающихся развертыванием ПО в корпоративных сетях. Казалось бы, достаточно взять из документации установочные параметры, использовать их в командной строке или трансформе – и дело сделано. Всё ли так просто?
Предлагаю заглянуть внутрь нескольких vendor MSI и разобраться с их устройством.
Из всякого правила есть исключения. Несмотря на то, что инсталляционный пакет прошел тестирование производителя, будьте готовы столкнуться с непредвиденным поведением в процессе установки, возникающим именно в ваших неповторимых условиях.
Естественно, при подготовке приложения к развертыванию в корпоративной среде нужно руководствоваться в первую очередь рекомендациями производителя ПО. Однако иногда система развертывания понимает только формат MSI, а вендор предоставляет только exe-инсталлятор — в этом случае есть смысл попытаться заполучить именно vendor MSI.
Где взять vendor MSI?
Предположим, нужно развернуть некоторое приложение в нашей сети. Обычно у нас есть установочный пакет, полученный от производителя ПО – скопированный с установочного диска, скачанный с официального сайта и т.д.
Если у нас нет установочного пакета – идем на
рутрекер
сайт производителя и ищем пакет там. На сайте нет пакета в формате MSI, только онлайн-установщик или setup.exe? Попробуем поискать получше. Часто msi-файл для корпоративных пользователей вместе с инструкциями по развертыванию находится не на главной странице, а в разделе сайта с громким названием вроде «For business» (например, Google Chrome или Skype), или на ftp производителя. Если есть выбор из online и offline установщика – выбираем offline вариант.
Простое правило – установочный пакет (в любом формате) можно скачивать только с официального сайта (или ftp) производителя. НИКОГДА не качайте установщик с «файловых архивов» и «каталогов программ», дабы не столкнуться с неприятным сюрпризом.
Естественно, полные версии платных приложений вроде Adobe Creative Suite вы не найдете в открытом доступе. Если у вас есть лицензия на корпоративную версию, но нет установочных файлов — смело обращайтесь в службу поддержки производителя.
Итак, установочный пакет у нас есть. Если он представляет собой файл с расширением .msi – мы имеем дело с vendor MSI (спасибо, Кэп!). Если установщик содержит набор файлов, среди которых есть файл(ы) с расширением .msi – это тоже кандидат на звание vendor MSI. Если установщик – файл с расширением .exe, его не сразу стоит списывать со счетов – есть шансы что это «обертка» и внутри обнаружится снова-таки vendor MSI.
Это можно проверить так:
• Попытаться открыть exe-файл с помощью программы-архиватора (7-zip, WinRAR).
• Запустить установку приложения из имеющегося exe-файла и заглянуть во временные папки (%temp%). Обычно во время установки создается папка со случайным названием, в ней находятся установочные файлы, включая msi-файл. Копируем установочные файлы в надежное место – после окончания процесса установки временная папка удаляется.
• Заглянуть в журналы событий по окончанию установки и проверить наличие свежих записей о событиях с источником MsiInstaller.
• ваш вариант?
Начнем с простого эксперимента на установщике iTunes – откроем файл iTunesSetup.exe с помощью 7-zip и видим, что он включает сразу пять msi-файлов (решить сколько из них «лишние» предлагаю вам самостоятельно).
Убедившись, что мы имеем дело с vendor MSI, продолжаем исследование.
Для удобства предлагаю выделить основные категории vendor MSI. Классификация совершенно условна и основана лишь на личном опыте.
По типу ресурсов:
• «Чистый MSI»
• «Комбинированный MSI»
По типу настройки:
• MSI с простой настройкой через трансформ или параметры
• MSI с мастером настройки
• MSI с файлом ответов
Теперь о каждом немного подробнее и с примерами.
«Чистый MSI»
Общее свойство установщиков такого типа – использование нативных механизмов Windows Installer для установки файлов и ключей реестра. Соответствующие этим ресурсам записи присутствуют в таблицах MSI (File, Registry, Shortcut и т.д.). Для внесения изменений в установку достаточно отредактировать записи этих таблиц в трансформе — вы имеете практически полный котроль над процессом инсталляции.
Простые примеры «чистых MSI» – Skype, InstEd.
Для диагностирования проблем с такими установщиками используются стандартные возможности – чтение записей журнала событий (журнал Application, события с источником MsiInstaller) или полное логирование установки (запуск msiexec с параметром /l*v <install.log>).
«Комбинированный MSI»
В эту категорию я отнес установщики в формате Windows Installer, устанавливающие ресурсы нестандартным для Windows Installer способом. В этом случае Windows Installer используется для вспомогательных задач, а основную часть работы выполняет бинарный Custom Action (.dll или .exe).
Пример первый – Google Chrome for Business.
Хорошо видно, что таблица File в установщике вообще отсутствует, а основную часть установки выполняет бинарный Custom Action под названием DoInstall, внутри него и находятся файлы, которые будут установлены в систему.
Еще один интересный пример – Java Runtime Environment. Извлекаем msi-файл с сопутствующим cab-файлом из оффлайн-установщика, распространяемого в формате exe-файла.
Таблица File этого vendor MSI содержит всего четыре записи, основные файлы приложения находятся внутри zip-архива (который в свою очередь находится внутри cab-файла) с последующей их распаковкой в процессе установки:
За основную часть процесса инсталляции отвечает файл regutils.dll, названия Custom Actions довольно красноречивы:
Этот тип инсталляторов несколько тяжелее поддается диагностированию ошибок – логи Windows Installer дадут нам полезную информацию только до момента запуска внутреннего exe-файла, а сам exe-файл не всегда генерирует внятные сообщения при возникновении ошибок. Также такие vendor MSI тяжелее поддаются настройке. Вернее сказать, наши возможности настройки процесса установки чаще всего ограничены только настройками, предусмотренными производителем ПО. Например, производитель ПО не всегда предусматривает возможность отключения установки ярлыков или внесения изменений в файлы настройки приложения при его установке.
Инсталляторы такого типа иногда преподносят неприятные сюрпризы в процессе установки (приходилось разбираться с JRE и Adobe Flash Player, сваливавшимися на выполнении Custom Action), и на диагностику и исправление ошибок может понадобиться некоторое время.
Теперь перейдем к возможностям настройки пакетов, предлагаемым нам производителями ПО.
MSI с простой настройкой через трансформ или параметры
Это самый распространенный способ – большинство vendor MSI имеют возможность такой настройки. Обычно производитель уже предусмотрел самые востребованные настройки вроде отключения автообновлений приложения и настроек подключения к серверу, и описал это в документации. Настройки могут быть описаны в виде параметров командной строки установщика, параметров MSI (MSI properties) или даже описания реестровых записей, которые вы можете добавить в трансформ для пакета.
Стоит упомянуть, что иногда в более новой версии vendor MSI параметры могут вести себя не так, как в предыдущей (или совсем перестать работать, как когда-то произошло с переставшими работать параметрами отключения автообновлений JRE), но это бывает крайне редко.
MSI с мастером настройки
Некоторые вендоры не ограничиваются публикацией перечня параметров командной строки для установки и настройки пакета. Они предоставляют утилиту для тонкой настройки инсталлятора, выполняющую несколько полезных функций:
• Интуитивно-понятный интерфейс избавляет системного администратора от необходимости открывать msi-файл в редакторе и вручную изменять большое количество записей в таблицах
• Утилита обычно предусматривает некоторую «защиту от дурака» и производит проверку правильности значений изменяемых параметров.
В результате выполнения мастера настроек для msi-файла формируется трансформ, который будет использоваться при развертывании пакета. Естественно, вы можете просмотреть содержимое сохраненного трансформа, применив его к открытому в редакторе msi-файлу.
Хорошим примером такого подхода может служить Adobe Customization Wizard, используемый для настройки параметров установки Adobe Reader и Adobe Acrobat:
Другой пример известного мастера настроек – Office Customization Tool (OCT). Эта утилита позволяет сконфигурировать большое количество параметров, относящихся к установке и пользовательским настройкам MS Office. В результате выполнения мастера создается MSP-файл (патч в терминологии Windows Installer), который используется при дальнейшем развертывании MS Office в корпоративной среде.
MSI с файлом ответов
Этот тип инсталляционных пакетов скорее нужно было назвать «Setup.exe с файлом ответов». Идея состоит в том, что некий установочный файл (назовем его Setup.exe) читает некий предварительно сформированный системным администратором конфигурационный файл (config.xml) и формирует набор параметров для запуска расположенного рядом установочного msi-файла (или нескольких msi-файлов).
Этот подход не предусматривает нашей работы непосредственно с msi-файлом, поэтому не будем на нем останавливаться слишком подробно. Упомяну примеры таких установщиков – файлы настроек Adobe Creative Suite (версии CS2-CS3), а также использование файла ответов config.xml для установки MS Office.
Обычно для диагностики в случае проблем установки можно использовать создаваемый программой-установщиком лог-файл с описанием этапов выполнения; дополнительная информация от Windows Installer также попадает в журналы событий.
Как видите, за общим названием vendor MSI скрываются иногда совершенно непохожие инсталляторы. Надеюсь, эта обзорная статья помогла вам получить представление об их многообразии и о возможных проблемах установки и способах их диагностики.
From Wikipedia, the free encyclopedia
This article is about the Microsoft Windows component. For the installation of the operating system itself, see Windows Setup.
Windows Installer
Help screen of Windows Installer 5.0 running on Windows 11 |
|
Developer(s) | Microsoft |
---|---|
Initial release | 31 August 1999; 25 years ago |
Final release |
5.0 |
Operating system | Microsoft Windows |
Platform | IA-32, x86-64, ARM32, ARM64, Itanium |
Included with | Windows 2000 and later |
Type | Installer |
License | Freeware |
Website | learn |
Windows Installer Package[2]
Filename extension |
.msi, .msp |
---|---|
Internet media type |
application/x-ole-storage |
Developed by | Microsoft |
Type of format | Archive |
Container for | Installation information and an optional .cab file payload |
Extended from | COM Structured Storage |
Open format? | No |
Windows Installer (msiexec.exe
, previously known as Microsoft Installer,[3] codename Darwin)[4][5] is a software component and application programming interface (API) of Microsoft Windows used for the installation, maintenance, and removal of software. The installation information, and optionally the files themselves, are packaged in installation packages, loosely relational databases structured as COM Structured Storages and commonly known as «MSI files», from their default filename extensions. The packages with the file extensions mst
contain Windows Installer «Transformation Scripts», those with the msm
extensions contain «Merge Modules» and the file extension pcp
is used for «Patch Creation Properties».[6] Windows Installer contains significant changes from its predecessor, Setup API. New features include a GUI framework and automatic generation of the uninstallation sequence. Windows Installer is positioned as an alternative to stand-alone executable installer frameworks such as older versions of InstallShield and NSIS.
Before the introduction of Microsoft Store (then named Windows Store), Microsoft encouraged third parties to use Windows Installer as the basis for installation frameworks, so that they synchronize correctly with other installers and keep the internal database of installed products consistent. Important features such as rollback and versioning depend on a consistent internal database for reliable operation. Furthermore, Windows Installer facilitates the principle of least privilege by performing software installations by proxy for unprivileged users.
Logical structure of packages
[edit]
A package describes the installation of one or more full products and is universally identified by a GUID. A product is made up of components, grouped into features. Windows Installer does not handle dependencies between products.
A single, installed, working program (or set of programs) is a product. A product is identified by a unique GUID (the ProductCode property) providing an authoritative identity throughout the world. The GUID, in combination with the version number (ProductVersion property), allows for release management of the product’s files and registry keys.
A package includes the package logic and other metadata that relates to how the package executes when running. For example, changing an EXE file in the product may require the ProductCode or ProductVersion to be changed for the release management. However, merely changing or adding a launch condition (with the product remaining exactly the same as the previous version) would still require the PackageCode to change for release management of the MSI file itself.
A feature is a hierarchical group of components. A feature may contain any number of components and other sub-features. Smaller packages can consist of a single feature. More complex installers may display a «custom setup» dialog box, from which the user can select which features to install or remove.
The package author defines the product features. A word processor, for example, might place the program’s core file into one feature, and the program’s help files, optional spelling checker and stationery modules into additional features.
A component is the basic unit of a product. Each component is treated by Windows Installer as a unit. The installer cannot install just part of a component.[7] Components can contain program files, folders, COM components, registry keys, and shortcuts. The user does not directly interact with components.
Components are identified globally by GUIDs; thus the same component can be shared among several features of the same package or multiple packages, ideally through the use of Merge Modules.
A key path is a specific file, registry key, or ODBC data source that the package author specifies as critical for a given component. Because a file is the most common type of key path, the term key file is commonly used. A component can contain at most one key path; if a component has no explicit key path, the component’s destination folder is taken to be the key path. When an MSI-based program is launched, Windows Installer checks the existence of key paths. If there is a mismatch between the current system state and the value specified in the MSI package (e.g., a key file is missing), the related feature is re-installed. This process is known as self-healing or self-repair. No two components should use the same key path.
Developing installer packages
[edit]
Creating an installer package for a new application is not trivial. It is necessary to specify which files must be installed, to where and with what registry keys. Any non-standard operations can be done using Custom Actions, which are typically developed in DLLs. There are a number of commercial and freeware products to assist in creating MSI packages, including Visual Studio (natively up to VS 2010,[8] with an extension on newer VS versions[9]), InstallShield, WiX, InnoSetup and InstallSimple. To varying degrees, the user interface and behavior may be configured for use in less common situations such as unattended installation. Once prepared, an installer package is «compiled» by reading the instructions and files from the developer’s local machine, and creating the .msi file.
Windows Installer may be slower than native code installation technologies, such as InstallAware,[10] due to the overhead of component registration and rollback support, which often involves generating tens of thousands of registry keys and temporary files.
The user interface (dialog boxes) presented at the start of installation can be changed or configured by the setup engineer developing a new installer. There is a limited language of buttons, text fields and labels which can be arranged in a sequence of dialogue boxes. An installer package should be capable of running without any UI, for what is called «unattended installation».
Microsoft provides a set of Internal Consistency Evaluators (ICE) that can be used to detect potential problems with an MSI database.[11] The ICE rules are combined into CUB files, which are stripped-down MSI files containing custom actions that test the target MSI database’s contents for validation warnings and errors. ICE validation can be performed with the Platform SDK tools Orca and msival2, or with validation tools that ship with the various authoring environments.
For example, some of the ICE rules are:
- ICE09: Validates that any component destined for the System folder is marked as being permanent.
- ICE24: Validates that the product code, product version, and product language have appropriate formats.
- ICE33: Validates that the Registry table is not used for data better suited for another table (Class, Extension, Verb, and so on).
Addressing ICE validation warnings and errors is an important step in the release process.
- APPX – Software package format used on Microsoft’s Windows Store
- App-V – Software package format used for virtualization and streaming
- .exe
- List of installation software
- Package management system
- Windows Package Manager
- ZAP file – a way to perform an application installation when no MSI file exists
- ^ «Released Versions of Windows Installer». Microsoft Developer Network. Microsoft. Retrieved 3 November 2012.
- ^ «File Extension .MSI Details». Filext.com. Retrieved 2013-04-24.
- ^ Mensching, Rob (2003-11-25). «Inside the MSI file format». MSDN Blogs. Archived from the original on 2009-01-15. Retrieved 2017-02-15.
- ^ Mensching, Rob (2003-10-11). «The story of Orca». MSDN Blogs. Archived from the original on 2008-12-23. Retrieved 2017-02-15.
- ^ Smith, Chris (2005-07-01). «Windows Installer, The .NET Framework, The Bootstrapper, and You». MSDN Blogs. Retrieved 2017-02-15.
- ^ Stewart, Heath (2006-02-27). «Identifying Windows Installer File Types». Retrieved 2020-04-22.
- ^ «Windows Installer Components». MSDN Library. Microsoft Corporation. 2012-11-30. Retrieved 2013-04-08.
- ^ Hodges, Buck (2011-03-17). «Visual Studio setup projects (vdproj) will not ship with future versions of VS». MSDN Blogs. Retrieved 2020-02-04.
- ^ «Visual Studio Installer Projects Extension». Visual Studio Blog. 2014-04-17. Retrieved 2020-02-04.
- ^ «Extending Windows Installer with Faster Native Code Setup Engine» (Press release). 9 November 2010. Retrieved 22 August 2024.
- ^ Internal Consistency Evaluators – ICEs
- Official website