Ошибка в данном дистрибутиве windows installer

Обновлено: 06.07.2024

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

Одним из возможных методов решения подобной проблемы является запуск инструмента сканирования системных файлов. Чтобы его запустить, на правах администратора открываем командную строку и печатаем команду sfc /scannow, жмем Enter и ожидаем окончания проверки файлов.

Если данный метод должного результата не принес, то существует еще несколько способов искоренить ошибку установщика windows 10

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

Зажимаем Win + R, после чего вводим services.msc и далее OK.

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

Двойным нажатием открываем свойства службы и корректируем тип запуска. Далее закрываем окно «Службы» и тестируем ее работоспособность. Если ошибка не исчезла, тогда пробуем следующий способ.

Перерегистрация службы установщика Windows

Чаще всего хватает предыдущих действий, но иногда может возникнуть потребность в повторной регистрации службы установщика Windows.

Снова зажимаем Win + R и прописываем MSIEXEC /UNREGISTER. Вполне возможно, что на экране ничего не случиться.

Тогда снова Win + R и пишем MSIEXEC /REGSERVER. Это команда окончит перерегистрацию установщика, а соответственно решится ваша проблема. Если снова результат нет, то остается только попробовать через реестр.

Через реестр

  • Жмем Win + R, вносим regedit и жмем OK.
  • В меню редактора реестра направляемся в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\msiserver.
  • Проверяем показатели параметра ImagePath.
  • В случае необходимости изменяем путь, а далее активируем службу установщика Windows через инструмент services.msc.

ошибка установщика windows 10

ошибка установщика windows 10

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

Нет доступа к службе установщика Windows.

Не удалось запустить службу установщика Windows.

Не удалось запустить службу установщика Windows на локальном компьютере. Ошибка 5: отказано в доступе.

Решение

Важно! Для применения значительной части способов и действий, описанных в данной статье, нужно войти на компьютер с учетной записью администратора.

Как выяснить, используете ли вы учетную запись с правами администратора

Как выяснить, используете ли вы учетную запись с правами администратора

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

Windows 7 и Windows Vista

Откройте диалоговое окно Дата и время.

Нажмите Пуск.

Введите приведенную ниже команду в поле Начать поиск или Найти программы и файлы и нажмите клавишу ВВОД.

Date and Time - User Account Control dialog box

Выберите команду Изменить дату и время. Когда появится диалоговое окно Контроль учетных записей, нажмите кнопку Продолжить.

Выполните одно из описанных ниже действий в зависимости от того, что последует за нажатием кнопки Продолжить.

Если компьютер потребует ввести пароль, то прав администратора у вашей учетной записи нет.

Windows XP и Windows Server 2003

Откройте диалоговое окно Дата и время.

В меню Пуск выберите пункт Выполнить.

Введите в поле Выполнить указанную ниже команду и нажмите кнопку ОК.

В зависимости от результата выполните одно из следующих действий.

Убедившись, что вы вошли в систему с учетной записью администратора, вы можете приступать к устранению неполадок установщика Windows.

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

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

Способ 1. Определите, работает ли подсистема установщика Windows

В командной строке введите MSIExec и нажмите клавишу ВВОД.

Повторите попытку установить или удалить программу.

Способ 2. Убедитесь, что служба установщика Windows не отключена

Щелкните правой кнопкой мыши установщик Windows и выберите Свойства.

Если поле Тип запуска содержит значение Отключено, измените его на Вручную.

Щелкните правой кнопкой мыши службу Установщик Windows и выберите Пуск. Служба должна запуститься без ошибок.

Повторите попытку установить или удалить программу.

Способ 3. Проверьте свою версию установщика Windows и при необходимости обновите ее до последнейВажно! Этот метод применяется только для систем Windows XP, Windows Vista, Windows Server 2003, Windows Server 2003 R2 и Windows Server 2008.

Если она отличается от 4.5, скачайте и установите Установщик Windows 4.5.

Повторите попытку установить или удалить программу.

Способ 4. Зарегистрируйте подсистему установщика повторноВажно! Этот способ применяется только к системам Windows XP и Windows Server 2000.

Выберите в меню Пуск пункт Выполнить, введите команду cmd и щелкните командную строку.

Введите в командной строке следующие команды, нажимая после каждой из них клавишу ВВОД.

Повторите попытку установить или удалить программу.

Устранение неполадок, не позволяющих завершить процесс установки или обновления

Процесс установки или обновления не выполняется до конца

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

Ниже описаны распространенные способы установки программного обеспечения.

Вставьте компакт-диск или DVD-диск в дисковод и дождитесь автоматического запуска программы установки.

Откройте папку компакт-диска, DVD-диска или съемного носителя либо другое расположение установочных файлов и дважды щелкните программу установки. Как правило, файл программы установки называется следующим образом:

Autorun или Autorun.exe;

Setup или Setup.exe;

Install или Install.exe.

Если вы скачали программу с веб-сайта, нажмите кнопку Запустить.

Установочный носитель не читается

На установочном носителе (компакт-диске или DVD-диске) могут быть царапины или загрязнения, из-за которых он не читается. Для решения этой проблемы воспользуйтесь одним из приведенных ниже способов.

Способ 1. Очистите компакт-диск или DVD-диск.Используйте специальный набор для очистки дисков. Либо протрите серебристую сторону диска мягкой безворсовой хлопковой тканью. Не используйте бумажные салфетки: они могут поцарапать пластик или оставить на нем полосы. Очищать диск следует по направлению от центра к краям. Не совершайте круговых движений. Если проблема не исчезнет, протрите диск тканью, смоченной водой или специальным средством для чистки компакт- и DVD-дисков. Прежде чем вставлять диск в дисковод, убедитесь, что он совершенно сухой.

Способ 2. Скопируйте установочные файлы на компьютер или съемный носитель.Затем запустите программу установки из этого нового расположения. Как правило, установочный файл называется Autorun.exe или Setup.exe. При наличии сомнений обратитесь к указаниям по запуску программы установки в файле сведений в установочной папке. Если имеется исполняемый файл с расширением EXE, не рекомендуется запускать файлы с расширением MSI без соответствующих указаний производителя.

Примечание. Если требуется несколько компакт-дисков или DVD-дисков, рекомендуется скопировать все диски в одну папку в обратном порядке (начиная с диска с наибольшим номером). При появлении запросов на перезапись файлов подтверждайте операцию. Затем установите программу из нового расположения.

Способ 3. Получите более новую версию установочного пакетаЕсли попытка установить программу с компакт-диска или DVD-диска не увенчалась успехом, выполните указанные ниже действия.

Проверьте наличие более новой версии программного обеспечения на веб-сайте его производителя. Скачайте и установите новую версию.

Даже если у вас уже имеется последняя версия, скачайте ее с веб-сайта производителя и запустите программу установки.

Скачанные или скопированные установочные файлы могут быть повреждены

Способ 1. Скопируйте установочные файлы на компьютерСкопируйте установочные файлы на локальный жесткий диск компьютера или съемный носитель. Запустите программу установки из нового расположения. Как правило, установочный файл называется Autorun.exe или Setup.exe. При наличии сомнений обратитесь к указаниям по запуску программы установки в файле сведений в установочной папке. Если имеется исполняемый файл с расширением EXE, не рекомендуется запускать файлы с расширением MSI без соответствующих указаний производителя.

Если установочные файлы программы были получены из Интернета, скачайте их повторно (в диалоговом окне загрузки нажмите кнопку Сохранить, а не Запустить), сохранив файл в папке на локальном жестком диске компьютера или съемном носителе. Затем запустите программу установки из этого расположения.

Если установочные файлы находятся в сети (например, в коммерческой или корпоративной среде), скопируйте их в папку на локальном жестком диске компьютера и запустите программу установки из этой папки.

Способ 2. Получение более новой версии установочного пакетаЕсли после загрузки установочного пакета прошло некоторое время, выполните указанные ниже действия.

Проверьте наличие более новой версии программного обеспечения на веб-сайте его производителя. Скачайте и установите новую версию.

Даже если у вас уже имеется последняя версия, скачайте ее снова и запустите программу установки.

На процесс установки могут влиять программы, выполняемые на компьютере.

Отключите программы, которые могут мешать процессу установки. Для этого выполните указанные ниже действия.

Значок "Уведомление"

Если система запросит пароль администратора или подтверждение, введите пароль или подтвердите действие.

На вкладке Общие выберите Выборочный запуск и снимите флажок в поле Загружать элементы автозагрузки.

Откройте вкладку Службы, установите флажок Не отображать службы Майкрософт и нажмите кнопку Отключить все.

Попробуйте запустить программу установки.

Завершив устранение неполадок, перезагрузите компьютер в обычном режиме. Для этого выполните указанные ниже действия.

Значок "Уведомление"

Если система запросит пароль администратора или подтверждение, введите пароль или подтвердите действие.

На вкладке Общие выберите Обычный запуск и нажмите кнопку ОК, а затем — Перезагрузка.

Как правило, любую программу можно удалить несколькими способами. При возникновении неполадок попробуйте удалить программу другим способом.

Ниже описаны обычные способы удаления программного обеспечения.

Способ 1. Используйте функцию удаления (если она доступна)

Выберите папку программы, которую требуется удалить, и откройте ее.

При наличии функции удаления попробуйте воспользоваться ею.

Способ 2. Используйте панель управления

Выберите программу и нажмите кнопку Удалить. Следуйте инструкциям.

Примечание. Приведенные ниже сведения предназначены только для опытных пользователей.

Проверьте, не используются ли слишком длинные имена файлов и папок

Убедитесь, что у вас нет файлов и папок с именами длиннее 260 символов.

Подробнее об ограничении максимальной длины пути см. в статье Присвоение имен файлам, путям и пространствам имен.

Включите ведение журналов MSI и изучите файлы подробных журналов MSI

Большинство программ создают журналы установки. Если вы не можете найти такой журнал, включите ведение подробного журнала MSI. Дополнительные сведения см. в статье Как включить ведение журнала работы установщика Windows.

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

Msiexec путь\файл_msi.msi /L*v путь\файл_журнала_msi.txt Список параметров командной строки см. на странице Параметры командной строки.

При сбое установки в журнал обычно записывается "Возвращаемое значение 3" в том месте, где произошла проблема и где начался откат установки. Описание сбоя располагается в журнале непосредственно перед записью возвращаемого значения 3.

Проанализируйте файлы журнала с помощью средства Wilogutl.exe

Средство Wilogutl.exe позволяет проанализировать файлы журнала, созданные в ходе установки с помощью установщика Windows. Это средство может предложить решения для обнаруженных в журнале ошибок. Оно входит в последний Пакет средств разработки программного обеспечения Windows (SDK).

В следующем примере показано, как использовать средство Wilogutl.exe из командной строки:

wilogutl /q /l c:\mymsilog.log /o c\outputdir\

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

Если вы собираетесь удалить программу вручную, нужно иметь в виду следующее.

Перед использованием этого метода создайте точку восстановления системы

Переместите все личные данные и документы, которые могут находиться в установочной папке удаляемой программы. Например, переместите их в папку "Документы".

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

Общие сведения об установке или удалении программ см. на следующих ресурсах:

Здравствуйте. Сегодня хочу поднять тему, которая успела наболеть. Не знаю, как вы, а я в последнее время по работе довольно часто сталкиваюсь с проблемами установщика Windows – ошибками msi. Причем, данный вопрос бывает актуальным как для старой доброй Windows XP, так и для относительно «свежих» Windows 7 и Windows 8. Давайте разберем этот вопрос подробно, так как тема очень серьезная и если проблема возникла один раз, то поверьте, жизнь она вам осложнит – однозначно.

Что же это за файлы такие, имеющие расширение msi?

Этот файл установочного пакета, с помощью которого инсталлируется программное обеспечение, и который использует службу установщика Windows. Свое название расширение msi взяло от «Microsoft Installer», как раньше называлась версия установщика Windows. Такой файл содержит в себе полный сценарий установки программного продукта, вспомогательные компоненты, библиотеки и, в большинстве случаев, все установочные файлы, сжатые в cab-архивы. Можно долго обсуждать все достоинства и недостатки в работе Windows Installer, но придется все же принять его «как есть», а на некоторые неполадки в работе будем грамотно и адекватно реагировать. Ошибки могут возникать как в работе службы, так и по причине самих msi файлов.

Вот, что иногда случается: Error 1305: Error reading from file и далее система предлагает мне убедиться, а действительно ли был файл установщика, который я запускал. Поначалу звучит как минимум странно. Но, читая дальше послание системы, понимаю, что мне предлагают убедиться не только в наличии самого файла, но и в моих правах на доступ к нему. Как оказалось, это не я, а Windows Installer был обделен доступом к файлу, отсюда и проблема.

Error 1305: Error reading from file

Разрешается этот вопрос вовсе не сложным способом. Давайте для начала убедимся, есть ли у системы к файлу полный доступ, для чего в «Свойствах» файла зайдем на вкладку «Безопасность» и найдем пользователя «System (Система)».

Безопасность

Более чем уверен, что там вы его не обнаружите, так что добавляем сами – жмем на «Изменить», потом на «Добавить» и вписываем имя: «Система» (или же System, в случае англоязычной версии системы),

Система

после чего жмем на «Проверить имена» (строчка становится подчеркнутой).
Подтверждаем – ОК и ставим отметку в чекбоксе «Полный доступ», опять подтверждаем.

Жмем на «Дополнительно», далее – «Изменить разрешения» – «Добавить разрешения», наследуемые от родительских объектов и все подтверждаем трижды.
Таким образом, от этой ошибки установщика мы избавились, и больше она нас не побеспокоит в процессе установки. Хотя более разумно и предусмотрительно было бы добавить права полного доступа системы на всю папку с содержимым, из которой по обыкновению происходит инсталлирование программного обеспечения (как в моем случае папка «Install»).

Если на вашем компьютере имеется операционная система Windows ХР, а в «Свойствах папки» включен «простой общий доступ к файлам», вы не увидите вкладку «Безопасность» в свойствах файла. В таком случае вам следует зайти в «Свойства папки» и снять отметку в чекбоксе «Использовать простой общий доступ к файлам». Также этой вкладки вы рискуете не обнаружить в разных «сборках» и «облегченных версиях» как Windows XP, так и Windows 7. Чтобы таки зайти на эту вкладку, придется загрузиться в Safe mode (Безопасном режиме) и войти под учетной записью администратора.

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

Совместимость

Также проблемы могут быть при попытке установить программу со съемного носителя, флешки, например (запрет на такие действия можно сделать в настройках операционной системы) – просто скопируйте установочный файл в удобное место на жестком диске. Еще вариант решения проблемы – создайте новую папку под любым понравившимся именем и скопируйте в нее установочный пакет, оттуда и запускайте установку – бывает полезным при ошибках номер 1603, 214 728 7035, 2203 и 1723.

Обязательно убедитесь в наличии доступа системы к каталогам временных файлов. Откройте «Свойства системы» (Win+Pause или в контекстном меню по правому клику мышкой на иконке Мой компьютер выберите строку Свойства), в «Дополнительных параметрах системы»,

Дополнительных параметрах системы

на вкладке «Дополнительно» щелкните по кнопке «Переменные среды».

Переменные среды

Находим папки временных переменных (они в своих названиях имеют слова TEMP, TMP), проверим, есть ли к ним доступ у системы (по уже описанному выше алгоритму). Надеюсь, вы помните, чтобы узнать адрес такой папки, необходимо сделать двойной клик по переменной

двойной клик по переменной

и, скопировав указанный путь, вставить содержимое буфера обмена в строку проводника и сделать переход к папке. А заодно можете сделать и полезное дело – очистить все временные папки от их содержимого.

проводник

Также будет верным решением проверить на наличие прав доступа те директории, в которые планируется инсталлировать приложения и каталог с именем Config.Msi в корне системного раздела. Для всех обозначенных выше каталогов должно быть отключено шифрование, т. к. Windows Installer в таком случае не имеет к ним доступа, в отличие от пользователя.

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

Причина ошибки установщика Windows

Установщик Windows

Смотрим, работает ли она и какой у нее Тип запуска (должен быть задан Вручную) Если же служба не работает и имеет другой тип запуска, то запускаем (нажимаем «Запустить», можно – «Перезапустить») ее, а в свойствах изменяем тип запуска на «Вручную». В случае запуска службы проверим ситуацию и введем в строке «Выполнить» команду msiexec – если все ОК, то вместо ошибки вы увидите окно с параметрами запуска установщика Windows и номером его версии.

Дальнейшее устранение проблемы я вижу в исправлении поврежденных системных файлов операционной системы. Чтобы реализовать это, в строке «Выполнить» исполним команду sfc/scannow (заблаговременно подготовьте диск, с которого устанавливалась ваша операционная система, он может быть востребован в этом процессе) и после перезагружаем компьютер. Проблема по идее должна исчезнуть.

Также данная проблема поднимается на сайте Microsoft с вариантом решения. Пройдите по этой ссылке и запустите «родную» утилиту FixIt. Следуйте указаниям в сопровождении, это должно помочь в устранении проблемы.

Еще одним из вариантов устранения этой напасти может быть попытка восстановления параметров реестра для установщика Windows, при которых все нормально работает. Запустите файл редактора реестра из вот этого архива и подтвердите импорт новых настроек (не забудьте перед изменением параметров в реестре создать точку восстановления, чтобы иметь возможность отката к предыдущему состоянию системы).

В случае, если на вашем компьютере установлены такие ОС, как Windows Server 2000, Windows XP попробуйте инсталлировать свежую версию Windows Installer. В случае, если проблема остается, можно заново перерегистрировать компоненты. Выполняем команду cmd и в черном окне сначала вводим команду: msiexec/unregister, а затем: msiexec/unregister. Для большей уверенности можно еще ввести regsvr32 msi.dll, после чего черное окно можно закрыть.

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

Суть проблемы

Как то одним жарким летним вечером я решил установить на свой компьютер ActeiveState ActivePerl. Скачал инсталлятор, который был в .msi файле и запустил его. Каково же было мое удивление, когда вместо привычного инсталлятора я увидел вот это:

image

Как вскоре оказалось, подобная ошибка выпадала при запуске на моем компьютере любого .msi файла.

  1. Переустановить Windows Installer — на моей Windows 7 x64 и так стоит Windows Installer 5.0, который нельзя отдельно скачать и переустановить
  2. Перерегистрировать msiexec, что также мне не помогло.
  3. В конце все советы сводились к одному — переустановить Windows.

Решение проблемы

Для начала я включил Log-файл установщика Windows. Как включить лог Windows Installer вы можете почитать здесь, или поискать в любом поисковике по ключевому слову "voicewarmup".

Лог-файлы появляются во временной папке пользователя, которая обычно находится по пути C:\Users\имя_профиля\AppData\Local\Temp. Открыв лог, я увидел следующую ошибку:

MSI (c) (B8:84) [22:08:06:894]: Failed to connect to server. Error: 0x80040154

Поискав по коду ошибки в Интернете, и не нашедши никаких способов решения проблемы, я решил подумать логически.

Для начала я воспользовался старым добрым отладчиком WinDbg, который входит в пакет Debugging Tools For Windows. Мне понадобилась именно 64-разрядная версия данного отладчика.

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

Загрузил я в отладчик файл c:\windows\system32\msiexec.exe и задал для него параметры командной строки так, чтобы он открыл .msi файл. В моем случае параметром командной строки было: /i «C:\Users\MAV\Desktop\ActivePerl-5.12.4.1205-MSWin32-x64-294981.msi» однако можно задавать путь к любому другому .msi файлу.

image

Сам по себе отладчик, конечно не решит проблему, нужно ее локализовать. Поразмыслив, какие функции могут создавать COM-объекты, я остановился на CoCreateInstance, CoCreateInstanceEx и CoGetClassObject

Для установки точек прерывания на эти функции вводим в командной строке отладчика:
bp ole32!CoCreateInstance
bp ole32!CoCreateInstanceEx
bp ole32!CoGetClassObject
Если точки останова у вас не ставятся, значит вы неправильно настроили символы.

После запуска приложения (F5), срабатывает точка останова на ole32!CoCreateInstance. Если точка останова не срабатывает, а выпадает окно с параметрами Wndows Installer, то вы неправильно указали параметры командной строки для запуска.

image

Давайте теперь посмотрим, из какого же места кода вызывается создание нашего объекта, для этого мы можем нажать Debug->Step Out (Shift+F11). Мне пришлось нажать указанную комбинацию дважды, для того чтобы выйти в исходную вызывающую функцию.

image

Исходная вызывающая функция называется msi!CreateMsiServerProxy и, очевидно, находится в модуле msi.dll.

Обратим внимание также на регистр rax, который равен нашему коду ошибки 80040154. Для того чтобы узнать содержимое регистра rax, достаточно открыть окно Registers, или ввести в командной строке r rax .

Запомнив имя функции, а также примерный вид искомого кода, я открыл дизассемблер IDA Pro, и загрузил в него файл msi.dll. Следует отметить пару особенностей данного отладчика: во первых, IDA любит блокировать доступ к исследуемому файлу, во вторых, она создает в папке с исследуемым файлом несколько своих файлов баз данных, так что я рекомендую копировать исследуемые файлы в отдельную папку. В третьих, IDA не всегда подгружает файлы с символами, поэтому рекомендую в указанную отдельную папку также скопировать файл msi.pdb из вышеуказанной папки C:\Symbols.

image

После нахождения функции CreateMsiServerProxy, находим знакомые строки кода в ней:

Не иначе как функция пытается создать объект по CLSID IID_IMsiServer. Здесь я не буду вдаваться в подробности COM и искать различия между CLSID и IID, важно что я получил зацепку — имя интерфейса ID_IMsiServer и CLSID .

Запустив поиск в реестре на своей машине по указанным ключевым словам, а также на машине, с установленной Windows 7 x64, где Windows Installer работал, я нашел отличие: на моей машине отсутствовала ветка реестра HKEY_CLASSES_ROOT\AppID\ . Я экспортировал данную ветку реестра в отдельный .reg файл, а затем импортировал его на своей машине:

Windows Registry Editor Version 5.00

После импорта ключа реестра я вновь попробовал запустить .msi файл, и, «О чудо!», он запустился, после чего я успешно установил ActivePerl.

image

У вас может быть аналогичная проблема, но при этом отсутствовать другой ключ реестра. Импортировать при этом необходимо те ключи, которых у вас нет.

Выводы

  1. В итоге я сэкономил себе массу времени — на поиск проблемы и ее устранение ушло не более двадцати минут, зато на переустановку всех программ на моем компьютере ушло бы минимум два дня.
  2. Не надо спешить переустанавливать Windows по любому чиху. Иногда проблему можно решить довольно просто и быстро.

Спасибо за внимание, я очень надеюсь что статья вам понравилась, жду ваших отзывов, а также с удовольствием отвечу на ваши вопросы.

Читайте также: