Не удалось выполнить проверку обновлений код ошибки 3 0x80040154 system level

Исправление ошибки Windows Installer 0x80040154 / Хабр

Исправление ошибки Windows Installer 0x80040154

В этой статье я расскажу об исправлении одной очень распространенной ошибки Windows Installer. Обыскавши Интернет как русскоязычный, так и англоязычный, включая форумы и ньюсгруппы Microsoft, я понял что ошибка довольно распространенная, однако исправить ее, на самом деле никому не удавалось.

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

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

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

Недолго думая, я полез в интернет, ввел в поиск появившееся сообщение, и, «О ужас!» — я увидел сотни постов людей с этой проблемой! В русскоязычном и англоязычном сегменте Интернета у множества людей была аналогичная проблема, и никто ее не смог решить по существу.

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

Для начала я включил 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

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

Что означает ошибка 0x80040154? Поискав в поисковике, и воспользовавшись утилитой Error Lookup, я определил, что ошибка означает «Класс не зарегистрирован».

Обычно такая ошибка появляется, когда вы запрашиваете у системы создать COM-объект, который не был должным образом зарегистрирован в реестре. Но как определить какой именно объект не зарегистрирован?

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

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

Я предпочитаю указывать отладчику путь для поиска символов через переменную среды _NT_SYMBOL_PATH, которая должна быть задана как: C:\Symbols;srv*C:\Symbols*https://msdl. microsoft. com/download/symbols. В данном случае папка C:\Symbols — это хранилище загруженных символов на жестком диске, чтобы отладчик каждый раз не лез в интернет за ними.

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

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

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

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

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

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

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

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

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

Windows Registry Editor Version 5.00

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

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

Выводы

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

Исправление ошибок установки и обновления Microsoft Edge

Windows

Установка нового браузера Microsoft Edge Chromium обычно проста, но, как и другие программы, может привести к ошибке. В этом посте мы рассмотрим ошибки установки и обновления Microsoft Edge и способы их устранения.

Ошибки установки и обновления Microsoft Edge

Мы покажем, как вы можете устранить ошибки установки и обновления в новом веб-браузере Edge Chromium, и рассмотрим следующие ошибки:

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

1] Ошибка 3 или 0x80040154

2] Ошибка 3 или 0x80080005

Это означает, что отсутствует раздел реестра, который необходим для Edge. Лучший выход – переустановить Microsoft Edge. Убедитесь, что вы используете последнюю версию.

3] Ошибка 7 или 0x8020006F

Это проблема совместимости игрового режима с Microsoft Edge. Чтобы использовать Edge, выключите игровой режим и переустановите или обновите Microsoft Edge. Выберите «Настройки»> «Игры»> «Режим игры»> Отключите параметр «em> Режим игры».

4] Ошибка 403

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

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

5] Ошибка 1603 или 0x00000643

Microsoft предлагает сообщить о проблеме, если это происходит впервые. Если при обновлении Edge произошла ошибка, рекомендуется запустить Microsoft Fix It, устранить неполадки службы установки или проверить доверенный установщик. Этот пост подробно покажет, как исправить ошибки 1603 или 0x00000643.

6] Ошибка 0x80070070

Если вам не хватает места, Edge не удастся установить с кодом ошибки 0x80070070. Лучше всего сначала запустить встроенный инструмент Storage Sense, чтобы освободить место. Если это не работает, вы можете посмотреть список программ и выяснить, что не требуется.

7] Ошибка HTTP 500 или ошибка 0x8004xxxx или 0x8007xxxx

Коды ошибок включают в себя ошибку 500 или ошибку 0x80010108, или 0x80040801, или 0x80042193, или 0x80042194, или 0x800421F4, или 0x800421F6, или 0x800421F7, или 0x800421F8, или 0x80072742, или 0x80072EE2, или 0x800008 или 0x800008 или 0x800800 или 0x80000 для 8 или 0x80000 или 8 или 0x80000 для 8 или 0x80000 или 8 или 0x80000 или 8, или 0x80000 или 8 или 0x80000 или 8 или 0x80000 или 8, или 0x80000).

Следуйте этому сообщению, чтобы исправить ошибки HTTP 500 или 0x8004xxxx или 0x8007xxxx – Вам необходимо сбросить сетевой адаптер, проверить настройки прокси и сбросить настройки прокси WinHTTP, чтобы решить эту проблему.

8] Ошибка 0x8020006E или 0x80200059

Это основная проблема ИТ. Ошибка появляется, когда ИТ-администраторы организации настроены на предотвращение несанкционированной установки или обновления. Свяжитесь с ИТ-специалистом, чтобы установить Edge.

9] Ошибка 0x80200070

Ошибка 0x80200070 возникает, когда при установке Edge не хватает мощности процессора для обновления или установки. Единственный выход – убивать программы, которые потребляют много ресурсов ПК.

10] Ошибка 0x80200068 или 0x80200065 или 0x80200067

Это проблема низкого заряда батареи вашего ноутбука. При низком заряде батареи режим энергосбережения может ограничивать использование программного обеспечения меньшим количеством ресурсов. Есть два варианта.

Во-первых, отключите режим энергосбережения в Windows 10. Тем не менее, сохраняйте свою работу. Второй вариант – подключить компьютер. Если уровень заряда батареи ниже 10%, это хорошая идея для этого. Убедитесь, что режим экономии заряда аккумулятора отключен после подключения.

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

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

Вы можете попробовать перезапустить обновление или выбрать лучшее интернет-соединение, чтобы загрузить обновление Edge.

12] Не удается подключиться к Интернету

Если вы не можете подключиться к Интернету, а также загрузить или установить, ознакомьтесь с нашим связанным руководством. Мы предложили:

В списке перечислены большинство проблем, связанных с новыми ошибками установки и обновления Microsoft Edge (Chromium). Обязательно установите стабильную версию для лучшего опыта, но если вы пробуете бета-версию, всегда проверяйте форумы на предмет уже сообщенной проблемы.

Связанное чтение : ошибки установки и обновления Microsoft Edge.

Источники:

Https://habr. com/ru/sandbox/33155/

Https://techarks. ru/windows/ispravlenie-oshibok-ustanovki-i-obnovleniya-microsoft-edge/