Установщик windows msi что это

Инсталляторы MSI

Windows Installer изначально входит в состав операционных систем семейства Windows .NET Server 2003, Windows XP, Windows 2000 и Windows Me; для операционных систем Windows NT 4.0, Windows 98 и Windows 95 он должен устанавливаться дополнительно (либо, как было сказано выше, при инсталляции какого-либо приложения, либо в виде отдельного пакета обновления).

В русскоязычной версии Windows служба Windows Installer именуется Установщик Windows. Следует понимать, что речь идет не о программе, «которая устанавливает Windows», а о программе, которая обеспечивает «установку для Windows».

Еще раз повторим, что по настоятельной рекомендации Microsoft все современные дистрибутивы «солидных» приложений должны создаваться на основе технологии MSI — так называемые инсталляторы MSI.

При ее использовании большая часть задач по развертыванию приложения возлагается не на программу-инсталлятор, а на службу Windows Installer. Именно поэтому Многие компании-разработчики включают в состав дистрибутивов своих приложений еще и установочные файлы службы Windows Installer: если таковая на компьютере пользователя отсутствует, инсталляции приложения предшествует установка Windows Installer.

Хотя эта процедура запускается автоматически, полезно знать, что дистрибутив может содержать два ехе-файла для установки Windows Installer:

  • INSTMSI.EXE — стандартный инсталлятор;
  • INSTMSIW.EXE — инсталлятор с поддержкой кодировки Unicode (то есть с поддержкой расширенного набора символов для обеспечения многоязычности).

Так что, увидев в составе дистрибутива два этих файла, не пугайтесь: это не вирусы и не программы-шпионы (хотя. кто знает, чем занимается Windows Installer помимо инсталляции).

Windows Installer позволяет выполнять следующие задачи:

  • восстановление состояния компьютера после сбоя установка — Windows Installer продолжает записывать все изменения в системе во время установки приложения; в случае сбоя установки он может восстановить или вернуть систему в исходное состояние;
  • предотвращение определенных форм конфликта между приложениями — Windows Installer назначает правила установки, которые помогают, предотвратить конфликты с общими ресурсами в существующих приложениях; такие конфликты могут возникать при попытке программы установки обновить или удалить общие с существующим приложением библиотеки динамической компоновки (.dll);
  • надежное удаление существующих программ — Windows Installer может надежно удалить любую ранее установленную им программу; удаляются все связанные с ней записи реестра и файлы, кроме тех, которые являются общими с другим программным обеспечением;
  • диагностика и восстановление поврежденных приложений для проверки наличия в установленных приложениях поврежденных файлов. или отсутствия файлов эти приложения могут послать запрос к Windows Installer, если такие файлы будут найдены, Windows Installer восстановит приложение, скопировав только отсутствующие или поврежденные;
  • установка компонентов приложения по требованию (install on demand) — Windows Installer можно настроить на исходную установку минимального набора возможностей приложения; в дальнейшем дополнительные компоненты могут быть автоматически установлены при попытке пользователя получить доступ к возможностям приложения, для которых эти компоненты необходимы; возможность называют объявлением (advertisement), например Windows Installer может установить Microsoft Excel без поддержки средств аналитической обработки данных — при первой попытке доступа пользователя к функции анализа (не включенной в исходную установку) Windows Installer автоматически установит соответствующий компонент; точно так же Windows Installer удаляет компоненты, не используемые в приложении, например Можно настроить Windows Installer на удаление компонента анализа данных, если он не будет использоваться более 30 дней;
  • автоматическая установка приложений — пакеты установки можно настроить так, чтобы не прерывать процесс установки по требованию пользователя; во время процесса установки Windows Installer может запросить атрибуты Рабочего стола;
  • поддержка 32-разрядных и 64-разрядных приложений — допускается установка 32-разрядных приложений на 64-разрядные компьютеры;
  • поддержка технологии Microsoft .NET Framework;
  • интеграция с сосуществованием компонентов — исключает конфликты версий библиотек .dll, позволяя привязывать приложение к версии компонента, с которой оно было разработано и протестировано, вне зависимости от компьютера, на котором размещается приложение; сосуществование компонентов поддерживает одновременное выполнение нескольких версий каждого компонента;
  • возможность настройки параметров программного обеспечения разработчиками.

Технология .NET Framework позволяет разрабатывать приложения, которые, будучи однажды написанными и скомпилированными, могут выполняться в любой среде. Архитектура .NET разделяет компоненты приложений. В результате приложение всегда загружает компоненты, с которыми оно было разработано и протестировано. Если приложение выполняется после установки, оно будет выполняться всегда. Исключается неверная работа приложений, вызванная заменой первоначальных библиотек .dll на файлы .dll, разработанные для более поздних версий. Технология работы Windows Installer базируется на использовании трех основных файлов:

  • файла пакета установи (в формате MSI), входящего в дистрибутив приложения;
  • файла программы установщика — Msiexec.exe; эта программа выполняет все задачи, связанные с установкой: копирует файлы на жесткий диск, вносит изменения в реестр, создает ярлыки на Рабочем столе и выводит диалоговые окна для запроса пользовательских предпочтений; Msiexec.exe можно запустить в режиме командной строки, указав необходимые дополнительные параметры;
  • файла библиотеки динамической компоновки Msi.dll, содержащего функции для чтения файлов пакетов (MSI), применения преобразований и выполнения некоторых других действий.
Читайте также:  Record from windows media

Файлы Msiexec.exe и Msi.dll входят в состав систему и находятся в папке %SystemRoot%\SYSTEM32 (для Windows 2000/ХР) или %SyetemRoot%\SYSTEM (для Windows 98) на жестком диске компьютера (если Windows Installer установлен).

По двойному щелчку файла с расширением MSI операционная система запускает программу Msiexec.exe. Тот же результат можно получить, выбрав в контекстном меню MSI-файла команду Установка,

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

Каждый файл пакета (MSI) содержит базу данных реляционного типа, в которой хранятся все инструкции и данные, необходимые для установки (или удаления) программы различными способами. Например, файл пакета может содержать инструкции по установке приложения, предыдущая версия которого уже установлена.

Реляционная база данных — это база данных, состоящая из нескольких взаимосвязанных таблиц. Соответственно, MSI-файл содержит набор таблиц, описывающих доступные возможности, компоненты, отношения между возможностями и компонентами приложения, а также необходимые параметры реестра.

Поскольку база данных является реляционной, изменения, внесенные в одну таблицу, автоматически распространяются на всю базу. Это упрощает процесс настройки больших приложений или групп приложений.

Помимо MSI-файла в состав дистрибутива могут входить файлы еще нескольких типов, влияющих на работу Windows Installer. Наиболее важными среди них можно считать файлы преобразования (с расширением MST). Содержащиеся в них сведения применяются к установочной базе данных и изменяют ее элементы. Например, Windows Installer может использовать файл преобразования для смены языка интерфейса пользователя приложения. Файлы преобразования изменяют MSI-файл пакета установки во время установки и, следовательно, могут динамически влиять на процесс установки. Эти преобразования применяются к файлу базового пакета каждый раз, когда требуется изменить конфигурацию приложения, заданную в пакете установки. Преобразования применяются в ходе начальной установки и не влияют на уже установленные приложения.

msiexec.exe Установщик Windows®

Установщик Windows (msiexec.exe) облегчает процесс установки программного обеспечения в Windows 10 в соответствии с архитектурной основой операционной системы.

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

Что такое файл пакета установщика Windows (MSI)

Информация об установке программного обеспечения объединена в так называемые установочные пакеты. Они содержат .msi файлы с:
● База данных и рекомендации по разработке установщика для приложений и служб.
● Преобразования, модификации и контроль версий
● API для удаленного доступа к установленным приложениям / программному обеспечению

Процесс Msiexec (расшифровывается как исполняемый файл установщика Microsoft) помогает устанавливать сторонние приложения, связанные в формате MSI. Когда пользователь дважды щелкает файл пакета .msi, служба установщика Windows (msiexec.exe) автоматически запускает процесс установки.

Приложения Microsoft Store против приложений для настольных компьютеров

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

Почему выгодно использовать установщик Windows

Несмотря на то, что существуют другие способы установки приложений в Windows 10, третьи стороны часто используют службу установщика Windows и связывают информацию об установке с этой службой. Одна из причин — его функции не ограничиваются только установкой программ. Установщик Windows также может выполнять некоторые другие важные задачи. Например, поставщики программного обеспечения используют его для рекламы своих продуктов, при этом пользователям не нужно сначала устанавливать приложение. Также есть возможность устанавливать продукты по запросу, а также настраивать их функции.

Еще одной важной характеристикой установщика Windows является откат установки. Установщик Windows гарантирует, что в случае неудачной установки система вернется в свое состояние перед установкой. Это означает, что все файлы, которые были удалены и перезаписаны во время установки, будут восстановлены.

Проблемы, связанные с установщиком Windows

Пользователи могут столкнуться с различными проблемами при работе с установщиком Windows. Среди них «Cлужба установки Windows не может быть доступна» ошибка. Это довольно распространенная проблема, поэтому есть два возможных решения:

Способ 1. Запустите службу установщика Microsoft из диалогового окна «Выполнить»

  1. Откройте диалоговое окно «Выполнить» с помощью сочетания клавиш Windows + R на клавиатуре.
  2. Введите services.msc и нажмите кнопку ОК
  3. Найдите опцию Windows Installer в списке сервисов в окне Сервис
  4. Дважды щелкните службу установщика Windows. Откроется окно свойств установщика Windows.
  5. Проверьте, активен ли сервисный статус. Если он остановлен, нажмите кнопку «Пуск», а затем подтвердите изменение, нажав «ОК».
Читайте также:  Windows f10 что это

msiexec.exe Установщик Windows®

6. Перезагрузите компьютер, чтобы увидеть, устранена ли проблема

Способ 2 — переустановите установщик Windows

1.Нажмите Windows + R на клавиатуре, и появится диалоговое окно «Выполнить».

2. Введите cmd и подтвердите, нажав OK

3. Вставьте эти команды одну за другой:
● cd% windir% \ system32
● ren msi.dll msi.old
● ren msiexec.exe msiexec.old
● ren msihnd.dll msihnd.old
4. Введите команду выхода

Как только вы закончите с этим процессом, перезагрузите компьютер и установите последнюю версию установщика Windows (найдите ее на официальном сайте Microsoft). После этого перезагрузите компьютер снова.

Эти простые шаги помогут вам справиться с этой проблемой. Если это не решит проблему, возможно, вы захотите углубиться в тему на веб-сайте Microsoft или перейти на надежные технические форумы.

Windows Installer: то, что вендор прописал

Продолжая тему работы с 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 и т.д.). Для внесения изменений в установку достаточно отредактировать записи этих таблиц в трансформе — вы имеете практически полный котроль над процессом инсталляции.

Читайте также:  Как убрать пароль windows 10 с планшета

Простые примеры «чистых MSI» – Skype, InstEd.
Для диагностирования проблем с такими установщиками используются стандартные возможности – чтение записей журнала событий (журнал Application, события с источником MsiInstaller) или полное логирование установки (запуск msiexec с параметром /l*v ).

«Комбинированный 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 скрываются иногда совершенно непохожие инсталляторы. Надеюсь, эта обзорная статья помогла вам получить представление об их многообразии и о возможных проблемах установки и способах их диагностики.

Оцените статью