Инсталляторы MSI
В русскоязычной версии Windows служба Windows Installer именуется Установщик Windows. Следует понимать, что речь идет не о программе, «которая устанавливает Windows», а о программе, которая обеспечивает «установку для Windows».
При ее использовании большая часть задач по развертыванию приложения возлагается не на программу-инсталлятор, а на службу Windows Installer. Именно поэтому Многие компании-разработчики включают в состав дистрибутивов своих приложений еще и установочные файлы службы Windows Installer: если таковая на компьютере пользователя отсутствует, инсталляции приложения предшествует установка Windows Installer.
Так что, увидев в составе дистрибутива два этих файла, не пугайтесь: это не вирусы и не программы-шпионы (хотя. кто знает, чем занимается Windows Installer помимо инсталляции).
Файлы Msiexec.exe и Msi.dll входят в состав систему и находятся в папке %SystemRoot%\SYSTEM32 (для Windows 2000/ХР) или %SyetemRoot%\SYSTEM (для Windows 98) на жестком диске компьютера (если Windows Installer установлен).
По двойному щелчку файла с расширением MSI операционная система запускает программу Msiexec.exe. Тот же результат можно получить, выбрав в контекстном меню MSI-файла команду Установка,
Существуют MSI-дистрибутивы, состоящие только из одного MSI-файла. Чтобы начать установку такого приложения, следует щелкнуть правой кнопкой мыши значок MSI-файл и выбрать в его контекстном меню команду Установка (можно также выбрать соответствующий MSI-файл с помощью компонента Установка и удаление программ).
Каждый файл пакета (MSI) содержит базу данных реляционного типа, в которой хранятся все инструкции и данные, необходимые для установки (или удаления) программы различными способами. Например, файл пакета может содержать инструкции по установке приложения, предыдущая версия которого уже установлена.
Поскольку база данных является реляционной, изменения, внесенные в одну таблицу, автоматически распространяются на всю базу. Это упрощает процесс настройки больших приложений или групп приложений.
Помимо MSI-файла в состав дистрибутива могут входить файлы еще нескольких типов, влияющих на работу Windows Installer. Наиболее важными среди них можно считать файлы преобразования (с расширением MST). Содержащиеся в них сведения применяются к установочной базе данных и изменяют ее элементы. Например, Windows Installer может использовать файл преобразования для смены языка интерфейса пользователя приложения. Файлы преобразования изменяют MSI-файл пакета установки во время установки и, следовательно, могут динамически влиять на процесс установки. Эти преобразования применяются к файлу базового пакета каждый раз, когда требуется изменить конфигурацию приложения, заданную в пакете установки. Преобразования применяются в ходе начальной установки и не влияют на уже установленные приложения.
Windows Installer изнутри
Устройство и развертывание пакетных файлов
Технология Windows Installer
Продукты, функции и компоненты
.msi-файл представляет собой сложную базу инструкций по установке приложений, которая содержит десятки таблиц, сотни столбцов и иногда вложенные файлы. В базе данных хранится информация о требованиях операционной системы к установке приложения, этапах установки и даже диалоговых окнах, выводимых на экран.
.msi-файл имеет трехуровневую структуру. Высший уровень — продукт, собственно приложение. Продукту присваивается уникальный код — глобально уникальный идентификатор (globally unique identifier, GUID). На следующем уровне располагаются функциональные блоки внутри продукта. Функциональные блоки имеют имена и могут быть добавлены по желанию пользователя. На экране 1 показан пример функциональных блоков в приложении — в данном случае Microsoft Office Access и Microsoft Office Excel в пакете установки Microsoft Office. Функциональный блок — это единый блок для установки внутри пакета Windows Installer. Устанавливаются (или удаляются) функциональные блоки пакета, а не отдельные файлы.
![]() |
| Экран 1. Функциональные блоки приложения, упакованного для Windows Installer |
На экране 1 видно, что Excel состоит из множества функциональных подблоков, таких как Help и Spreadsheet Templates. Во время установки пользователь может указать подблоки, которые следует установить на компьютере локально или запускать с сервера, добавить при первом обращении к ним (обозначается единицей в пиктограмме подблока) или вообще не требуется устанавливать. Метод «объявления» (advertisement) подблоков описан по врезке «Возможности объявлений».
База данных Windows Installer
![]() |
| Экран 2. Таблицы базы данных приложения, упакованного для Windows Installer |
На экране 2 показана таблица LaunchCondition пакета Windows Installer для Group Policy Management Console (GPMC). В правой панели таблицы представлены минимальные требования к операционной системе и платформе для установки GPMC. В столбце Condition содержатся условия, которые должны быть выполнены в процессе установки. В столбце Description описаны минимальные требования для набора условий. Приступая к установке приложения, Windows Installer проверяет, удовлетворены ли условия запуска, прежде чем продолжить установку.
Таблицы последовательностей (sequence table) представляют собой ядро базы данных; в них перечислены действия, которые служба Windows Installer должна выполнить в процессе установки, и порядок их выполнения. Например, в таблице последовательностей указывается, что механизм Installer должен сначала проверить условия запуска в таблице LaunchCondition, затем скопировать исходные файлы в каталог назначения и подготовить набор элементов реестра. Таблицы последовательностей бывают трех типов: Admin, Advertisement и Install. Тип таблицы последовательностей, используемый Windows Installer, зависит от типа выполняемой процедуры установки. Описания типов таблиц последовательностей даны в таблице 1.
С каждой таблицей последовательностей связаны две вспомогательные таблицы. Одна из них — InstallUISequence — определяет диалоговые окна пользовательского интерфейса, которые должны отображаться при интерактивной (управляемой пользователем) установке. Другая таблица — так называемая таблица «исполнительной последовательности» (execute sequence; InstallExecuteSequence) — определяет шаги, необходимые для установки.
Последовательность состоит из набора заранее определенных стандартных функций, которые перечислены в столбце Action таблицы InstallExecuteSequence. Стандартные функции выполняют разнообразные задачи, в том числе копирование файлов, поиск новых версий программы и определение размера дискового пространства, доступного при установке. В документации SDK и Orca приведены подробные сведения о назначении конкретного пакета Windows Installer. С помощью Orca можно подготовить специальные операции для задач, которые нельзя решить с использованием стандартных функций пакета Windows Installer. Специальная операция может быть DLL, составленной пользователем, и даже сценарием VBScript для таких действий, как поиск в Active Directory (AD) определенных значений перед продолжением установки.
Трансформации, исправления и модули слияния
Служба Windows Installer
В частности, служба Installer создает новый процесс msiexec.exe в контексте безопасности пользователя для выполнения той части установки, которая проводится в пользовательском профиле. Служба Installer использует собственный повышенный контекст безопасности (учетную запись LocalSystem) для выполнения специфической для данного компьютера части процедуры установки, для проведения которой у пользователя полномочий нет. Приложения, развернутые таким способом, называются управляемыми (managed applications). Повышение полномочий, используемое Windows Installer для управляемых приложений, как правило, возможно только при применении групповой политики, хотя метод доступен и вне процедур на базе Group Policy Object (GPO), через политику Administrative Template.
Хранение файлов Installer на рабочей станции
Запуск Installer Files из командной строки и в сценариях
Существует два дополнительных способа запуска пакетных установок Windows Installer — из командной строки и сценария. С помощью msiexec.exe можно выполнять различные процедуры установки из командной строки. Полный список функций командной строки для msiexec.exe приведен в статье Microsoft «Command-Line Switches for the Microsoft Windows Installer Tool» по адресу http://support.microsoft.com/?kbid=227091. Например, из командной строки можно установить один функциональный блок в прикладном пакете, такой как инструменты консоли DNS в пакете Windows 2003 Administration Tools (adminpak.msi). С помощью Orca следует отыскать нужное имя функционального блока — в данном случае FeDNSConsole — и запустить msiexec.exe из командной строки, чтобы произвести установку:
Свойство ADDLOCAL используется данной командой, чтобы указать службе Windows Installer функциональные блоки пакета, которые необходимо установить. Метод командной строки используется вместо выбора функциональных блоков пользователями или установки отдельных блоков администратором с помощью файла трансформации.
Даррен Мар-Элиа — редактор журнала Windows & NET Magazine. С ним можно связаться по адресу: dmarelia@winnetmag.net
Возможности объявлений
Объявление приложений — компонент Windows Installer, который широко используется при развертывании приложений с помощью Group Policy. Объявленное приложение на самом деле не устанавливается на настольном компьютере пользователя, обозначается лишь «присутствие» приложения. Это может быть ярлык на рабочем столе или в меню Start, ассоциирование файлов в реестре и даже COM-компонент, зарегистрированный в HKEY_CLASSES_ROOT. Объявление оповещает пользователя о том, что приложение установлено и готово к использованию. Однако сами файлы приложения разворачиваются лишь после первого обращения пользователя к приложению. Преимущество объявлений заключается в том, что приложения доступны, но устанавливаются лишь после того, как в них возникает необходимость. Благодаря объявлениям, администратору, обслуживающему 20 тыс. настольных компьютеров, приходится обновлять приложения только на компьютерах, пользователи которых действительно работают с этими программами. Недостаток объявлений — вынужденное ожидание в течение нескольких минут, пока система устанавливает приложение для первого запуска.
Типы таблиц последовательностей
Поделитесь материалом с коллегами и друзьями
Ошибки при установке программ из пакета Windows Installer «.msi»
Вообще, меня это жутко бесит, т.к. после глупого сообщения об ошибке совсем непонятно что делать дальше. Microsoft специально разработали установщик Windows Installer для расширения возможностей установки программ (в основном это касается системных администраторов), но не позаботились должным образом о безглючной работе этой службы или хотя бы об адекватных сообщениях о проблемах. А нам теперь это разгребать 🙂
Неполадки могут быть с работой самой службы или могут возникать в процессе установки программ, когда всё настроено, в принципе, правильно. В первом случае нужно ковырять службу установщика, а во втором решать проблему с конкретным файлом. Рассмотрим оба варианта, но сначала второй.
Ошибки msi файлов
«Error reading from file «имя файла» verify that the file exists and that you can access it» (Error 1305). Переводится «Ошибка чтения из файла … проверьте существует ли файл и имеете ли вы к нему доступ». Ну не тупняк ли? Естественно, что кнопка «Повторить» не помогает, а отмена прекращает всю установку. Сообщение особой смысловой нагрузки также не несёт, т.к. файл точно существует и я имею к нему доступ, иначе бы просто не смог его запустить и получить это сообщение, к тому же почему-то на английском языке 🙂
А ошибка в том, что не Я должен иметь доступ к файлу, а установщик Windows, точнее сама Система. Решается очень просто:
Теперь ошибка установщика не появится! Можно добавить доступ на всю папку, из которой вы обычно инсталлируете программы, например на папку «Downloads», как у меня. Смотрим видео по решению проблем с правами доступа:
Ещё способы решить проблему
Описанный метод поможет при разных сообщениях, с разными номерами. Например, вы можете видеть такие ошибки файлов msi:
Во всех этих случаях должна помочь установка прав на файл и/или на некоторые системные папки. Проверьте, имеет ли доступ «система» к папке временных файлов (вы можете получать ошибку «Системе не удается открыть указанное устройство или файл»). Для этого:
После нажатия «Enter» путь преобразится на «нормальный» и вы переместитесь в реальную временную папку. Права на неё и надо проверять. Также рекомендую очистить временные папки от всего что там скопилось или даже лучше удалить их и создать новые с такими же названиями. Если не получается удалить папку, почитайте как удалить неудаляемое, но это не обязательно.
Если служба Windows Installer всё равно не хочет работать, то проверьте права на папку «C:\Config.Msi», сюда «система» также должна иметь полный доступ. В этом случае вы могли наблюдать ошибку «Error 1310». На всякий случай убедитесь, что к папке КУДА вы инсталлируете софт также есть все права.
Если вы используете шифрование папок, то отключите его для указанных мной папок. Дело в том, что хотя мы сами имеем к ним доступ, служба Microsoft Installer не может до них достучаться пока они зашифрованы.
Ещё ошибка может быть связана с битым файлом. Может быть он не полностью скачался или оказался битым уже на сервере. Попробуйте скачать его ещё раз оттуда же или лучше с другого места.
Ошибка установщика Windows
В случае общих проблем не будут устанавливаться никакие msi файлы, процесс установки, скорее всего, даже не начнётся. При этом могут появляться ошибки вида:
или ещё нечто подобное со словами «ошибка msi», «Windows Installer Error». Всё это означает, что система дала сбой и теперь её надо лечить. Может вы ставили какой-то софт, который испортил системные файлы и реестр, или подхватили вирус. Конечно, никогда не будет лишним удалить вирусы, или убедиться что их нет. Но оставьте этот вариант на потом, т.к. обычно проблема кроется в другом.
Сначала давайте проверим работает ли служба Windows Installer:
Следующее что я посоветую сделать – это выполнить команду сканирования системы на повреждённые и изменённые системные файлы. Нажмите «Win + R» и введите
Sfc /scannow
Произойдёт поиск и замена испорченных файлов на оригинальные, при этом может потребоваться вставить установочный диск с Windows XP-7-10. После окончания процесса перегрузитесь и посмотрите, решена ли проблема.
Microsoft сам предлагает утилиту, призванную решить нашу проблему. Запустите программу Easy Fix и следуйте мастеру.
Параметры реестра и службы
Следующий способ устранения ошибки – восстановление рабочих параметров в реестре установщика Windows Installer.
Для этого скачайте архив и запустите оттуда два reg-файла, соответственно своей версии Windows. Согласитесь с импортом настроек.
В Windows XP или Windows Server 2000 установите последнюю версию установщика 4.5.
Если не помогло, то проделайте ещё перерегистрацию компонентов:
Если пишет, что не хватает прав, то нужно запускать командную строку от имени Администратора.
Если команды выполнились, но не помогло, то скачайте файл и запустите msi_error.bat из архива, проверьте результат.
Последний вариант — скачайте программу Kerish Doctor, почитайте мою статью, там есть функция исправления работы службы установщика и многих других частых проблем Windows.
Подведение итогов
Ошибки с установщиком Windows очень неприятные, их много и сразу непонятно куда копать. Одно ясно – система дала сбой и нужно восстанавливать её до рабочего состояния. Иногда ничего не помогает и приходится переустанавливать Windows. Однако не торопитесь это делать, попробуйте попросить помощи на этом форуме. В точности опишите вашу проблему, расскажите что вы уже делали, какие сообщения получили, и, возможно, вам помогут! Ведь мир не без добрых людей 🙂
msiexec.exe Установщик Windows®
Установщик Windows (msiexec.exe) облегчает процесс установки программного обеспечения в Windows 10 в соответствии с архитектурной основой операционной системы.
Крайне важно, чтобы процесс установки и настройки программы проходил гладко и без проблем. По этой причине разработчики, как правило, используют службу установщика Windows, чтобы облегчить пользователям установку программного обеспечения. Таким образом, поставщики минимизируют совокупную стоимость владения для своих клиентов.
Что такое файл пакета установщика Windows (MSI)
Приложения Microsoft Store против приложений для настольных компьютеров
В течение многих лет Microsoft поощряла поставщиков использовать установщик Windows в качестве основного помощника при установке. В целях безопасности многие пользователи в настоящее время предпочитают загружать приложения из Магазина Microsoft непроверенным установщикам, найденным на неизвестных веб-сайтах. Таким образом они гарантируют, что приложение, которое они устанавливают на свой компьютер, не являются вирусом и не принесут вреда их системе.
Почему выгодно использовать установщик Windows
Несмотря на то, что существуют другие способы установки приложений в Windows 10, третьи стороны часто используют службу установщика Windows и связывают информацию об установке с этой службой. Одна из причин — его функции не ограничиваются только установкой программ. Установщик Windows также может выполнять некоторые другие важные задачи. Например, поставщики программного обеспечения используют его для рекламы своих продуктов, при этом пользователям не нужно сначала устанавливать приложение. Также есть возможность устанавливать продукты по запросу, а также настраивать их функции.
Еще одной важной характеристикой установщика Windows является откат установки. Установщик Windows гарантирует, что в случае неудачной установки система вернется в свое состояние перед установкой. Это означает, что все файлы, которые были удалены и перезаписаны во время установки, будут восстановлены.
Проблемы, связанные с установщиком Windows
Пользователи могут столкнуться с различными проблемами при работе с установщиком Windows. Среди них «Cлужба установки Windows не может быть доступна» ошибка. Это довольно распространенная проблема, поэтому есть два возможных решения:
Способ 1. Запустите службу установщика Microsoft из диалогового окна «Выполнить»
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 или перейти на надежные технические форумы.
LiveInternetLiveInternet
—Цитатник
Сказочные существа японского художника Ёсимасы Цутии Чтобы понять, из какого материала сделаны.
Анимация ёлочки,дед мороза-уроки Любови Тартановой
—Метки
—Рубрики
—Ссылки
—Приложения
—Музыкальный плеер
—Поиск по дневнику
—Сообщества
—Статистика
Oшибка установщика Windows Installer, решение проблемы +видео
Неполадки могут быть с работой самой службы или могут возникать в процессе установки программ, когда всё настроено, в принципе, правильно. В первом случае нужно ковырять службу установщика, а во втором решать проблему с конкретным файлом. Рассмотрим оба варианта, но сначала второй.
Ошибки msi файлов
А ошибка в том, что не Я должен иметь доступ к файлу, а установщик Windows, точнее сама система. Решается очень просто:
Всё, эта ошибка установщика Windows не появится, а установка должна пройти как по маслу! Можно добавить доступ на всю папку, из которой вы обычно инсталлируете программы, например на папку «Downloads», как у меня.
Ещё способы решить проблему:

Для этого зайдите в свойства файла msi и на вкладке «Совместимость» поставьте галочку «Запустить программу в режиме совместимости».
Описанный метод поможет при разных сообщениях, с разными номерами. Например, вы можете видеть такие ошибки файлов msi:
Во всех этих случаях должна помочь установка прав на файл и/или на некоторые системные папки. Проверьте, имеет ли доступ «система» к папке временных файлов (вы можете получать ошибку «Системе не удается открыть указанное устройство или файл»). Для этого:


После нажатия «Enter» путь преобразится на «нормальный» и вы переместитесь в реальную временную папку. Права на неё и надо проверять. Также рекомендую очистить временные папки от всего что там скопилось или даже лучше удалить их и создать новые с такими же названиями. Если не получается удалить папку почитайте как удалить неудаляемое, но это не обязательно.
Если всё равно не работает служба Windows Installer, то проверьте права на папку «C:\Config.Msi», сюда «система» также должна иметь полный доступ. В этом случае вы могли наблюдать ошибку «Error 1310».
На всякий случай убедитесь, что к папке КУДА вы инсталлируете софт также есть все права.
Если вы используете шифрование папок, то отключите его для указанных мной папок. Дело в том, что хотя мы сами имеем к ним доступ, служба Microsoft Installer не может до них достучаться пока они зашифрованы.
Ещё ошибка может быть связана с битым файлом. Может быть он не полностью скачался или оказался битым уже на сервере. Попробуйте скачать его ещё раз оттуда же или лучше с другого места.
Ошибка установщика Windows
В случае общих проблем не будут устанавливаться никакие msi файлы, процесс установки, скорее всего, даже не начнётся. При этом могут появляться ошибки вида:
или ещё нечто подобное со словами «ошибка msi», «Windows Installer Error».
Всё это означает, что система дала сбой и теперь её надо лечить. Может вы ставили какой-то софт, который испоганил системные файлы и реестр, или подхватили вирус. Конечно, никогда не будет лишним удалить вирусы или убедиться что их нет. Но оставьте этот вариант на потом, т.к. обычно проблема кроется в другом.
Сначала давайте проверим работает ли служба Windows Installer:
Следующее что я посоветую сделать – это выполнить команду сканирования системы на повреждённые и изменённые системные файлы. Нажмите «Win + R» и введите
Произойдёт поиск и замена испорченных файлов на оригинальные, при этом может потребоваться вставить установочный диск с Windows. После окончания процесса перегрузитесь и посмотрите, решена ли проблема.
Следующий способ устранения ошибки – восстановление рабочих параметров установщика Windows Installer. Для этого скачайте архив и запустите оттуда два reg-файла, согласитесь с импортом настроек.
В Windows XP или Windows Server 2000 установите последнюю версию установщика Windows 4.5. Если не помогло, то проделайте ещё перерегистрацию компонентов:
1. Нажмите «Win + R» и введите cmd
2. Затем в чёрном окне введите последовательно команды:
В ответ должна быть пустота, никаких ошибок. Если проблема не решена, введите ещё команду
3. Закройте чёрное окно
Если это не помогло, то скачайте файл и запустите msi_error.bat из архива, проверьте результат.
Последний вариант — скачайте программу Kerish Doctor 2015, почитайте мою статью, там есть пункт исправления работы службы.
Подведение итогов
Смотрим видео по решению проблем с правами доступа
| Рубрики: | ДЛЯ КОМПА |
Метки: для компа
Процитировано 1 раз
Понравилось: 4 пользователям








