Ошибка «Класс не зарегистрирован» в Windows 10 – способы исправления
Пользователь может столкнуться с тем, что система выдает сбой с сообщением о том, что класс не зарегистрирован. Он может сопровождаться ошибкой 0x80040154 или надписью class not registered. При этом, возникать он может в совершенно различных ситуациях, например, при открытии файла, при входе в настройке или при попытке загрузки утилиты из магазина. В этой статье будет рассказано о том, как справится с подобной проблемой.
Дальше будут расписаны методы устранения возникающей ошибки в зависимости о того, что ее вызывает.
Класс не зарегистрирован при открытии картинок и фото
Наибольшее количество сбоев возникает при попытке открыть какое-нибудь изображение. Этому может быть несколько причин, самой распространенной является неполное или неправильное удаление предыдущей утилиты для просмотра картинок. Хотя, этот сбой может вызывать и ошибка в стандартном приложении системы.
Для начала следует зайти в пуск, оттуда перейти к параметрам, здесь выбрать раздел Приложения, после чего кликнуть по приложениям по умолчанию. Здесь можно поступить по разному. Во-первых, в пункте фотографии, можно указать встроенную утилиту для просмотра или ту, которая точно работает без ошибок. Также можно полностью сбросить все программы к настройкам по умолчанию, нажав соответствующую кнопку.
Теперь следует зайти в диспетчер задач и перейти к процессам, в случае, если их не видно, нужно нажать на подробнее. На этой вкладке нужно найти проводник и перезапустить его.
После чего можно проверить то, правильно ли открываются изображения. Если да, то нужно удалить предыдущую программу для просмотра через панель управления, а после перезагрузить компьютер и попытаться установить ее снова.
При запуске приложений
Обычно, если не работают программы, то вместе с такой ошибкой выдается код 0x80040154. В этом случае потребуется просто правильным образом удалить утилиту, после чего установить ее заново. Если это встроенная программа, то удалить и переустановить ее можно, однако, потребуется гораздо больше действий через PowerShell.
Ошибка explorer exe при нажатии на пуск
В некоторых случаях у пользователя может не работать пуск или другие программы для настройки компьютера, что вызывает огромные неудобства. В этом случае, для начала стоит попробовать перезапустить процесс проводника, если не поможет, то придется переходить к действиям через PowerShell. Найти нужную утилиту можно в Windows System32 WindowsPowerShell v1.0. Далее е потребуется запустить от имени администратора.
В программе нужно написать и выполнить следующий оператор Get-AppXPackage -AllUsers | Foreach
При запуске популярных браузеров
Ошибка может выскакивать и при старте любых браузеров. Для Edge подойдет способ из первого раздела, также может помочь перерегистрация приложений.
Для остальных также сначала нужно будет зайти в приложения по умолчание, после чего нажать на задание значений по умолчанию для приложений.
Далее останется указать тот браузер, который вызывает ошибку и задать его в качестве приложения по умолчанию.
Для Internet Explorer алгоритм действий немного отличается. Для начала следует открыть командную строку от имени администратора (в поиске пишем CMD, кликаем на найденном ярлыке ПКМ и выбираем необходимый пункт), после чего ввести в ней оператор regsvr32 ExplorerFrame.dll.
Используем службу компонентов
Стоит попробовать этот метод, если остальные не помогли. Для начала нужно нажать win+r и ввести dcomcnfg. Далее следует пройти по пути Службы компонентов — Компьютеры — Мой компьютер и выбрать Настройку DCOM.
При этом может появиться несколько всплывающих окон, в которых будет предложено зарегистрировать некоторые компоненты. Нужно согласиться, если же окон не появилось, то этот способ не подходит.
Решение конфликта
Итак, решение проблемы Windows 10 «класс не зарегистрирован», при попытке открытия фоток, следующее:
- Через кнопочку «Пуск» перейти в «Параметры». В качестве альтернативного способа можно одновременно нажать «Вин» и «I».
- Зайти в «приложения». Затем – в «Используемые по умолчанию».
- Для просмотра фоток выбрать ту программку, которая гарантированно не вызывает подобный сбой.
- Также рекомендуется осуществить сброс параметров к первоначальному состоянию.
- Сохранить изменения и кликнуть на кнопке «Пуск», чтобы открыть диспетчер задач.
- В процессах найти «Проводник» и инициировать его перезапуск.
Альтернативная методика заключается в нажатии правой кнопкой мышки по значку фото, выбора из предоставленного списка пункта «Открыть с помощью», установки правильно работающего ПО для таких файлов.
Не удалось подключиться с компьютера к кластеру серверов по причине класс не зарегистрирован
Не устанавливаются никакие дополнительные компненты винды. В частности не обновляется нетфреймворк, который уже нужен как-бы 4тый, а он не ставится. ДА как и никакой вообще фреймворк (ни 3.0 ни 3.5)
При установке конкретно netframework 4.0 выдается «Ошибка 0х80040154 класс не зарегистрирован»
пробовал sfc /scannow в ответ получаю
C:UsersArFeRR>sfc /scannow
Начато сканирование системы. Этот процесс может занять некоторое время.
Начало стадии проверки при сканировании системы.
Защита ресурсов Windows обнаружила поврежденные файлы, но не может восстановить
некоторые из них.
Сведения см. в журнале CBS.log windirLogsCBSCBS.log. Например:
C:WindowsLogsCBSCBS.log
в логах очень много мусора, не понимаю ничё там вообще =(
Скриншоты
— такое возникает при установке любого компонента, того же фреймворка, каких-то обновлений любого http://clip2net.com/s/1sg1W
— и ещё вариации http://clip2net.com/s/1sg2A
— пустое окно «включение и выключение компонентов windows» http://clip2net.com/s/1sg5v
Пригалается CBS.log , сгененрированный утилитой sfc, и dxdiag ещё может поможет в решении проблемы.
Очень нужно поставить netframework 4 без переустановки винды и всяческих откатов.
Винда 7ка х64 судя по всему сборка.
Вложения
CBS.rar (80.0 Кб, 568 просмотров) |
DxDiag.txt (27.2 Кб, 839 просмотров) |
Меню пользователя ArFeRR |
Посмотреть профиль |
Найти ещё сообщения от ArFeRR |
Меню пользователя garniv |
Посмотреть профиль |
Найти ещё сообщения от garniv |
А если всё же не сборка?
Вот информация о системе http://clip2net.com/s/1shkQ
По теме можно, что с проблемой делать посоветуете, чтоб проблему решить? Написание писем ещё всяким другим людям не решает проблемы (
Меню пользователя ArFeRR |
Посмотреть профиль |
Найти ещё сообщения от ArFeRR |
Винда почти 100% левая — это англ. версия максималки + русификатор, что само по себе не нормально — стаили бы сразу русскую. На неё ж и обновления нужны буржуйские и воможно русский .NET не встаёт.
В русской версии по русски написано какая она, а тут по буржуйски Ultimate.
И что это за сведения о системе? Они ничего не дают, ибо даже на необходимый минимум не тянут.
Сносить всё и ставить нормальную систему, а тут похоже хакеры-недоучки хорошо покопались.
Восстанавливай системные файлы не из под этой системы, а качай MSDN такой же оси с той же разрядностью и языком, грузись с болванки с ней и оттуда уже восстанавливай. Тогда может будет результат (без багов не обойдётся один хрен)
Меню пользователя Полковник Исаев |
Посмотреть профиль |
Найти ещё сообщения от Полковник Исаев |
Да я уже понял, что левая.
Сведения о системе прикрепил нормальные.
Подскажи тогда, мне нужно качать версию
MICROSOFT WINDOWS 7 ULTIMATE N RTM X64 RETAIL ENGLISH — MSDN такое?
И где можно подробнее прочитать о восстановлении системы, точнее о её repair (починке)?
Я так понял мне нужно восстановить недостающие компоненты системы.
Там прямо при загрузке с диска будет выбор восстановления? Что будет в итоге? Та же система, которая и была до восстановления (возможно слетит язык и активация) или будет уже новая? Мне важно, чтобы реестр сохранился и корректно работали уже установленные на неё проги типа visual studio, 1c и другие инструментальные средства
Вроде система всё-таки русская? Или нет?
http://clip2net.com/s/1sivo (команда systeminfo |more )
Вложения
system.rar (49.2 Кб, 301 просмотров) |
Меню пользователя ArFeRR |
Посмотреть профиль |
Найти ещё сообщения от ArFeRR |
Они ни о чём, лучше бы отчёт из сандры или аиды. Приложеный .nfo неудобно читать. Но не суть.
Должна подойти, версии N и обычные почти не отличаются, но если у тебя версия без N, то лучше её качай.
Если версия будет неподходящая, то при восстановлении тебе система об этом сообщит и откажется восстанавливать.
Да и там же через консоль вводишь туже самую команду sfc /scannow
100% слетит, т.к. файлы заменятся на оригинальные. Потом поставишь русский MUI через обновление и активируешь (активация пиратки на этом форуме не обсуждается).
Часть софта тоже слетит! Имей это ввиду! Но что слетит, а что останется работать — никогда заранее не угадаешь, я сам так восстанавливал и тут просто лотерея. Реестр сохранится поностью с высокой вероятностью.
На скрине лишь её текущий язык, а родной скорее всего буржуйский. В русской версии по-русски написана версия, а не по-буржуйски. Хотя в сборках это не всегда явно понятно.
Восстановление может занять часа два и более — реально быстрее винду переустановить и софт, чем ждать и потом править все баги после такого лечения, а багов наверняка будет много.
Меню пользователя Полковник Исаев |
Посмотреть профиль |
Найти ещё сообщения от Полковник Исаев |
А гуглить не пробовали?
0х80040154 оно же MAKE_HRESULT(SEVERITY_ERROR,FACILITY_ITF,0x154) оно же REGDB_E_CLASSNOTREG оно же «Class not registered».
Книжка пишет: ошибку получаем когда программа запросила создание объекта неизвестного системе COM/DCOM класса, либо объект не может быть создан так, как это попросила программа(либо по причине «так надо», либо по причине порченой записи о классе).
Ловится и исправляется простым способом:
1) Выясняем какой именно класс хотя инстантиировать:
а) если повезло: то его идентификатор будет написан в логах рядом с этой ошибкой;
б) если не повезло: ловим на ходу — запускаем программу и мониторим её обращения к реестру(и/или любого другого процесса, которум могли делегировать эту функцию, например если это Windows Installer, то наверное нужно мониторить его хост-службу), к ветке HKCR(HKCRCLSID, HKLMsoftwareclasses), например Sysinernals Process Monitor-ом. Также не забываем о таком чуде как Registration-Free Activation — заглядываем в манифесты исполняемых файлов и убеждаемся что все зависимые сборки присутствуют и работоспособны.
2) Найдя идентификатор, выясняем почему он не годен: нет его регистрации, негодна имплементация, проблема с правами доступа к имплементации.
3) Решаем проблему: Гуглим на предмет принадлежности проблемного компонента тому или иному ПО, переустанавливаем или устанавливаем впервые ПО, читаем факи, багрепорты, хелпы, лицензии, системные требования и прочие документы которые никогда в жизни не читали.
Лечения то на 5 минут плюс/минус время закачки/установки. Написать этот ответ и то больше времени заняло.
Меню пользователя FeyFre |
Посмотреть профиль |
Найти ещё сообщения от FeyFre |
Опции просмотра |
Линейный вид |
Комбинированный вид |
Древовидный вид |
Copyright © 2000-2017 3DNews. All Rights Reserved.
Администрация 3DNews требует соблюдения на форуме правил и законов РФ
Серверы размещены в Hostkey
Re: Ошибка при вызове конструктора (COMObject)
Сообщение от Akbar11
Регистрация библиотеки командой regsvr32 «C:Program Files1cv88.3.10.2466bincomcntr.dll»
Клиент — сервер
Процес, нажимаю вин + Q, пишу командная строка строка, контекстное меню запустить от имени админа, запускаю, Логин + пароль и регистрирую библиотеку
Мдя-я-я. все как в анекдоте.
«Пьяный ходит вокруг фонаря ночью и о чем-то материться. Прохожий хочет помочь и участливо спрашивает в чем дело.
Да я ключи потерял и уже полчаса не могу найти — следует ответ.
прохожий оглядывает место под фонарем и удивляется. Да тут же ровный асфальт, сухо и отлично видно что ключей тут нет. Ты уверен что именно тут потерял?
Да нет.. потерял я в грязной луже, вон там в подворотне. Но там же очень темно искать и очень грязно и очень мокро — поэтому я ищу именно тут».
Уважаемый. У Вас диагностика «не зарегистрирован класс Excel.Application». Ну и что же вы хотите добиться «упорством достойного лучшего применения» регистрируя библиотеку 1с предприятия. 😡
Решение проблемы
Для начала я включил Log-файл установщика Windows. Как включить лог Windows Installer вы можете почитать здесь, или поискать в любом поисковике по ключевому слову «voicewarmup».
Лог-файлы появляются во временной папке пользователя, которая обычно находится по пути C:Usersимя_профиляAppDataLocalTemp. Открыв лог, я увидел следующую ошибку:
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*http://msdl.microsoft.com/download/symbols. В данном случае папка C:Symbols — это хранилище загруженных символов на жестком диске, чтобы отладчик каждый раз не лез в интернет за ними.
Загрузил я в отладчик файл c:windowssystem32msiexec.exe и задал для него параметры командной строки так, чтобы он открыл .msi файл. В моем случае параметром командной строки было: /i «C:UsersMAVDesktopActivePerl-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_ROOTAppID . Я экспортировал данную ветку реестра в отдельный .reg файл, а затем импортировал его на своей машине:
Windows Registry Editor Version 5.00
После импорта ключа реестра я вновь попробовал запустить .msi файл, и, «О чудо!», он запустился, после чего я успешно установил ActivePerl.
У вас может быть аналогичная проблема, но при этом отсутствовать другой ключ реестра. Импортировать при этом необходимо те ключи, которых у вас нет.
Решение для многопользовательской версии АРМ ФСС
Спасибо Вячеславу, за добавление комментария! Очень полезно будет для тех, кто пользуется многопользовательской версией!
В случае сетевой многопользовательской версии ПО, помимо всего описанного сделал следующее:
1. Удалил 2 ветки реестра: HKEY_CURRENT_USERSOFTWAREFSS и HKEY_CURRENT_USERSOFTWAREFSSRF
2. Добавил разрешение пользователям на папку с ПО и БД на сервере.
Сертификаты устанавливал вручную с сайта, так 20.08.18 они обновились, а через ПО загружались старые. Что именно помогло не скажу.
Спасибо Олесе, за её помощь в решении данного вопроса. Очень помог комментарий доброго человека. Пользуйтесь!
1.Проверить, установлены ли в системе компоненты Microsoft.Net Framework версии 4 и выше (по умолчанию данные компоненты устанавливаются в C:WindowsMicrosoft.NETFramework)если нет установить
2. Проверить, что в папке, куда установлено приложение, имеется файл GostCryptography.dll (т.е.в той папке куда ставили ПО у меня это C:ARM_FSS_NET ). Если данного файла нет, попробуйте переустановить приложение.
3. Если все верно, в командной строке от имени админа выполнить:
cd C:ARM_FSS_NET( здесь пишите тот путь где лежит установленная программа) затем выполнить
C:WindowsMicrosoft.NETFrameworkv4.0.30319RegAsm.exe /registered GostCryptography.dll — с указанием вашего адреса установки компонентов Microsoft.NET
должно появиться сообщение «Типы зарегистрированы успешно»
4. Перезапустить приложение.
Еще раз хочу выразить огромную благодарность Александру, Вячеславу и Олесе! Люди не бросили коллег в беде, потратили время на написание комментария, думаю, он поможет очень многим! Спасибо Вам большое! Удачи Вам!
На этом всё! Теперь Вы знаете, как исправить: «Ошибка: Класс не зарегистрирован, ClassID: »
Если Вам нужна помощь профессионального системного администратора, для решения данного или какого-либо другого вопроса, перейдите в раздел ПОМОЩЬ, и Вам помогут наши сотрудники.
Если у Вас появятся вопросы задавайте их в комментариях! Всем удачи и добра!
Присоединяйтесь к нам в социальных сетях, чтобы самыми первыми получать все новости с нашего сайта!