Сбой установки приложения сообщение об ошибке класс не зарегистрирован 0x80040154
В данной статье описывается проблема в котором приложения COM + завершится ошибкой «80040154» в Windows Server 2012 R2, Windows 8.1 или Windows RT 8.1. Доступно исправление для устранения этой проблемы. Перед установкой данного исправления см.
Симптомы
Эта проблема возникает при развертывании приложения COM + на разделы COM + службы каталогов Active Directory.
Сведения об исправлении
Существует исправление от корпорации Майкрософт. Однако данное исправление предназначено для устранения проблемы, описанной в этой статье. Применяйте данное исправление только в тех системах, которые имеют данную проблему.
Если исправление доступно для загрузки, имеется раздел «Исправление загрузки доступно» в верхней части этой статьи базы знаний. Если этого раздела нет, отправьте запрос на получение исправления в службу технической поддержки и поддержки.
Примечание. Если наблюдаются другие проблемы или необходимо устранить неполадки, вам может понадобиться создать отдельный запрос на обслуживание. Затраты на обычные службы поддержки будет применяться к Дополнительные вопросы и проблемы, с которыми не данным исправлением, оплачиваются. Полный список телефонов поддержки и обслуживания клиентов корпорации Майкрософт или создать отдельный запрос на обслуживание посетите следующий веб-узел корпорации Майкрософт:
Примечание. В форме "Пакет исправлений доступен для скачивания" отображаются языки, для которых доступно исправление. Если нужный язык не отображается, это потому, что исправление не поддерживается для этого языка.
Предварительные условия
Это исправление установите в Windows Server 2012 R2 или Windows 8.1.
Сведения о реестре
Для использования исправления из этого пакета, нет необходимости вносить изменения в реестр.
Необходимость перезагрузки
Может потребоваться перезагрузить компьютер после установки данного исправления.
Сведения о замене исправлений
Это исправление не заменяет ранее выпущенные исправления.
Статус
Корпорация Майкрософт подтверждает, что это проблема продуктов Майкрософт, перечисленных в разделе "Относится к".
Ссылки
Дополнительные сведения о , которую корпорация Майкрософт использует для описания обновлений программного обеспечения.
Сведения о файлах
Глобальная версия этого исправления устанавливает файлы с атрибутами, указанными в приведенных ниже таблицах. Дата и время для файлов указаны в формате UTC. Дата и время для файлов на локальном компьютере отображаются в местном времени с вашим текущим смещением летнего времени (DST). Кроме того, при выполнении определенных операций с файлами, даты и время могут изменяться.
Файлы, относящиеся к определенному продукту, этапу разработки (RTM, SPn) и обслуживания (LDR, GDR) можно определить по номерам версий, как показано в следующей таблице.
Выпуски обновлений GDR содержат только те исправления, которые выпускаются повсеместно и предназначены для устранения распространенных критических проблем. В обновления LDR входят также специализированные исправления.
Файлы MANIFEST (.manifest) и MUM (.mum), устанавливаемые для каждой среды, перечислены в разделе "Сведения о дополнительных файлах". MUM, MANIFEST и связанные файлы каталога безопасности (.cat) очень важны для поддержания состояния обновленных компонентов. Файлы каталога безопасности, для которых не перечислены атрибуты, подписаны цифровой подписью корпорации Майкрософт.
Суть проблемы
Как то одним жарким летним вечером я решил установить на свой компьютер ActeiveState ActivePerl. Скачал инсталлятор, который был в .msi файле и запустил его. Каково же было мое удивление, когда вместо привычного инсталлятора я увидел вот это:
Как вскоре оказалось, подобная ошибка выпадала при запуске на моем компьютере любого .msi файла.
- Переустановить Windows Installer — на моей Windows 7 x64 и так стоит Windows Installer 5.0, который нельзя отдельно скачать и переустановить
- Перерегистрировать msiexec, что также мне не помогло.
- В конце все советы сводились к одному — переустановить 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 файлу.
Сам по себе отладчик, конечно не решит проблему, нужно ее локализовать. Поразмыслив, какие функции могут создавать 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.
Обратим внимание также на регистр rax, который равен нашему коду ошибки 80040154. Для того чтобы узнать содержимое регистра rax, достаточно открыть окно Registers, или ввести в командной строке r rax .
Запомнив имя функции, а также примерный вид искомого кода, я открыл дизассемблер IDA Pro, и загрузил в него файл msi.dll. Следует отметить пару особенностей данного отладчика: во первых, IDA любит блокировать доступ к исследуемому файлу, во вторых, она создает в папке с исследуемым файлом несколько своих файлов баз данных, так что я рекомендую копировать исследуемые файлы в отдельную папку. В третьих, IDA не всегда подгружает файлы с символами, поэтому рекомендую в указанную отдельную папку также скопировать файл msi.pdb из вышеуказанной папки C:\Symbols.
После нахождения функции 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.
У вас может быть аналогичная проблема, но при этом отсутствовать другой ключ реестра. Импортировать при этом необходимо те ключи, которых у вас нет.
Выводы
- В итоге я сэкономил себе массу времени — на поиск проблемы и ее устранение ушло не более двадцати минут, зато на переустановку всех программ на моем компьютере ушло бы минимум два дня.
- Не надо спешить переустанавливать Windows по любому чиху. Иногда проблему можно решить довольно просто и быстро.
Спасибо за внимание, я очень надеюсь что статья вам понравилась, жду ваших отзывов, а также с удовольствием отвечу на ваши вопросы.
Чаще всего проблема бывает вызвана неправильным удалением сторонних программ для просмотра фото, сбоями параметров приложений по умолчанию Windows 10 и подобными, однако решается это в большинстве случаев очень просто.
- Зайдите в Пуск — Параметры (значок шестеренки в меню Пуск) или нажмите клавиши Win+I
- Зайдите в «Приложения» — «Приложения по умолчанию» (или в Система — Приложения по умолчанию в Windows 10 1607).
- Выберите в пункте «Просмотр фотографий» стандартное приложение Windows для просмотра фотографий (или другое, правильно работающее приложение для фото). Также можно нажать «Сбросить» в пункте «Сброс к рекомендуемым Майкрософт значениям по умолчанию».
- Закройте параметры и зайдите в диспетчер задач (меню правого клика по кнопке Пуск).
- Если в диспетчере задач не отображаются задачи, нажмите «Подробнее», потом найдите в списке «Проводник», выберите его и нажмите «Перезапустить».
По завершении проверьте, открываются ли файлы изображений теперь. Если открываются, но вам требуется, чтобы с JPG, PNG и иными фото работала сторонняя программа, попробуйте удалить ее через Панель управления — Программы и компоненты, а затем установить заново и назначить используемой по умолчанию.
Примечание: еще один вариант этого же способа: нажать правой кнопкой мыши по файлу изображения, выбрать пункт «Открыть с помощью» — «Выбрать другое приложение», указать работающую программу для просмотра и отметить пункт «Всегда использовать это приложение для файлов».
Если ошибка возникает просто при запуске приложения «Фотографии» Windows 10, то попробуйте способ с перерегистрацией приложений в PowerShell из статьи Не работают приложения Windows 10.
При запуске приложений Windows 10
При возникновении рассматриваемой ошибки при запуске приложений магазина Windows 10, а также при ошибке 0x80040154 в приложениях, опробуйте способы из статьи «Не работают приложения Windows 10», которая была приведена выше, а также попробуйте такой вариант:
- Удалите это приложение. Если это встроенное приложение, используйте инструкцию Как удалить встроенные приложения Windows 10.
- Заново установите его, здесь поможет материал Как установить Магазин Windows 10 (по аналогии можно установить и другие встроенные приложения).
- Исправление с помощью PowerShell, как описано в одном из способов статьи Не работает меню пуск Windows 10 (лучше использовать в последнюю очередь, иногда может еще больше навредить).
- Странным образом часто срабатывающий способ — зайти в панель управления (нажать Win+R, ввести control и нажать Enter), перейти в «Программы и компоненты», слева выбрать «Включение или отключение компонентов Windows», снять отметку с Internet Explorer 11, нажать Ок и после применения перезагрузить компьютер.
Если это не помогло, попробуйте также способ, описанный в разделе про службу компонентов Windows.
Ошибка при запуске браузеров Google Chrome, Mozilla Firefox, Internet Explorer
При появлении ошибки в одном из интернет-браузеров, за исключением Edge (для него следует попробовать способы из первого раздела инструкции, только в контексте браузера по умолчанию, плюс перерегистрация приложений), выполните следующие шаги:
Дополнительные действие по исправлению ошибки для Internet Explorer:
- Запустите командную строку от имени администратора (начните набирать в поиске на панели задач «Командная строка», при появлении нужного результата, нажмите по нему правой кнопкой мыши и выберите «Запустить от имени администратора» в контекстном меню).
- Введите команду regsvr32 ExplorerFrame.dll и нажмите Enter.
По завершении действий, проверьте, была ли исправлена проблема. В случае с Internet Explorer, перезагрузите компьютер.
Для сторонних браузеров, если способы, приведенные выше не сработали, может помочь удаление браузера, перезагрузка компьютера и последующая повторная установка браузера (или удаление разделов реестра HKEY_CURRENT_USER\ SOFTWARE\ Classes\ ChromeHTML\, HKEY_LOCAL_MACHINE\ SOFTWARE\ Classes\ ChromeHTML\ и HKEY_CLASSES_ROOT\ ChromeHTML (для браузера Google Chrome, для браузеров на базе Chromium название раздела может быть, соответственно, Chromium).
Исправление в службе компонентов Windows 10
Иногда в исправлении ошибки 0x80040154 может помочь ручная регистрация всех библиотек DLL и компонентов OCX, находящихся в системных папках. Для её выполнения: запустите командную строку от имени администратора, введите по порядку следующие 4 команды, нажимая Enter после каждой (процесс регистрации может занять продолжительное время).
Последние две команды — только для 64-разрядных версий Windows. Иногда в процессе может появиться окно с предложением установить недостающие компоненты системы — сделайте это.
Дополнительная информация
Если предложенные способы не помогли, следующая информация может оказаться полезной:
На этом завершаю и надеюсь, что в материале нашлось решение для исправления ошибки в вашей ситуации.
Решения
Причины ошибок
Чтобы избежать неудобств при запуске программ на ПК с Windows, рекомендуется устранить ошибку 0x80040154.
Дополнительная информация и ручной ремонт
Вот некоторые из лучших методов, которые вы можете попытаться решить с помощью кода ошибки 0x80040154 на вашем компьютере:
Это один из способов решить код ошибки 0x80040154. Regsvr32.exe это программа, которую вы можете использовать для регистрации DLL (Dynamic Link Libraries) и элементов управления ActiveX в реестре.
Чтобы использовать этот файл для повторной регистрации неисправных компонентов COM, просто откройте командную строку с повышенными привилегиями. Если 32-разрядная DLL находится в папке% systemroot% System32, переместите ее в папку% systemroot% SysWoW64.
После этого выполните следующую команду:% systemroot% SysWoW64regsvr32 . Это поможет решить проблему.
Другой альтернативой является загрузка Restoro. Это новый, продвинутый и инновационный инструмент для ремонта ПК, в котором используется множество утилит, таких как Active X control и class fixer, системный оптимизатор, антивирус и очиститель реестра.
Имеет удобный интерфейс с простой навигацией. Это делает его довольно простым в использовании для всех уровней пользователей. Это безопасно, быстро и совместимо со всеми версиями Windows.
Активное управление X и утилита класса сканирует весь ваш компьютер, обнаруживает и устраняет все ошибки, такие как 0x80040154, вызывая проблемы ActiveX и ID класса в считанные секунды.
Помимо этого, Restoro предлагает и другие преимущества. Запустив это программное обеспечение в своей системе, вы также можете обеспечить хорошее состояние и производительность ПК, поскольку оно также удаляет антивирусы, устраняет проблемы с реестром, исправляет поврежденные файлы DLL, а также повышает скорость вашего ПК.
DLL-файлы часто могут быть повреждены или повреждены из-за перегрузки данных. Это связано с реестром. Если вы не чистите реестр часто, он перегружается данными и повреждает файлы DLL.
Однако с помощью встроенной в программу утилиты очистки реестра вы можете легко восстановить эти файлы. Очиститель реестра удаляет все ненужные файлы из вашей системы, занимающие дисковое пространство, и одновременно исправляет поврежденные файлы DLL и восстанавливает реестр.
Однако, если файлы DLL повреждены из-за атаки вредоносного ПО, антивирусный модуль позаботится о них. Он удаляет все вредоносное ПО, такое как рекламное ПО, шпионское ПО, вирусы и трояны, и восстанавливает ваши файлы.
Нажмите чтобы загрузить Restoro на свой компьютер и устранить ошибку 0x80040154 на своем ПК прямо сейчас!
Читайте также:
- Как создать бота обратной связи telegram
- Почему приходит код подтверждения инстаграм на телефон
- Как посмотреть комментарии в приложении ютуб на телевизоре
- Какой архитектуре вся тяжесть вычислительной нагрузки при доступе к бд ложится на приложение клиента
- Почему в приложении яндекс диск на пк не видит фото