Показать полную графическую версию : [решено] Служба DCOM: Код ошибки 80040154 - Класс не зарегистрирован
Здравствуйте! Возникли проблемы в работе системы - скорее всего после вируса. Была остановлена служба RPC: модифицирован файл rpcss и удален раздел реестра, отвечающий за ее работу - HKLM/SYSTEM/CurrentControlSet/Services/RpcSs. С этим я справился - заменил файл оригинальным и применил твик реестра. После этого служба снова заработала. Кроме того, мною была перезапущена связанная служба - локатор RPC, которая находилась в отключенном состоянии.
Но на этом проблемы не закончились - оказалось также поврежденной служба DCOM. Она отсутствует в разделе "Службы", при попытке открытия раздела с ее настройками - "Службы компонентов - Компьютеры" - окно сразу закрывалось. Пытался переустановить ее по данному методу - http://support.microsoft.com/kb/315296/ru/ отдельно, а также перерегистрировал связанные библиотеки (ole32.dll, oleaut32.dll, comuid.dll, comsvcs.dll), добавлял свою учетную запись в параметр "Локальные политики безопасности - Назначение прав пользователя - Олицетворение клиента после проверки подлинности" и снова пытался переустановить, но все безрезультатно - при установке возникает ошибка COM+ Setup Error:
"Подкомпонент "COM+" вызвал исключение при обработке сообщения установки OC_COMPLETE_INSTALLATION.
d:\xpsp\com\com1x\src\complussetup\comsetup\ccompluscore.cpp (строка 565)
Код ошибки = 0x80040206
Произошла непредвиденная ошибка
Не удалось зарегистрировать классы событий COM+.".
Если после этого снова проверить раздел "Службы компонентов - Компьютеры" - окно уже не закрывается: есть раздел "Мой компьютер" с 3 подразделами: "Приложения COM+", "Настройка DCOM", "Координатор распределенных транзакций". Последние два успешно открываются, а первый (Приложения COM+) выдает: "Ошибка при обработке последней операции. Код ошибки 80040154 - Класс не зарегестрирован. Журнал событий может содержать дополнительные сведения об ошибке".
Кроме того, обнаружил, что не работает служебная программа "Сведения о системе" - пишет: "Не удается собрать сведения. Произошла сетевая ошибка при подключении к инструментарию управления Windows. Убедитесь, что сетевое подключение работает правильно.".
Помогите, пожалуйста, решить эту проблему. Заранее благодарен за помощь!
Petya V4sechkin
21-02-2015, 17:00
Sharer, проверьте содержимое разделов реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DcomLaunch
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SENS
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\winmgmt
и работу соответствующих служб:
Запуск серверных процессов DCOM
Уведомление о системных событиях
Инструментарий управления Windows
Скачайте Dial-a-fix (http://wiki.lunarsoft.net/wiki/Dial-a-fix) , поставьте флажки в области Registration center и нажмите GO.
(Приложения COM+) выдает: "Ошибка при обработке последней операции. Код ошибки 80040154 - Класс не зарегестрирован.
Сделайте лог Process Monitor (http://technet.microsoft.com/ru-ru/sysinternals/bb896645) следующим образом:
запустите Process Monitor;
спровоцируйте ошибку 0x80040154 "Класс не зарегистрирован";
сохраните лог: меню File -> Save -> PML-формат;
заархивируйте и выложите на любой файлообменник, например http://rghost.ru
Petya V4sechkin,
Благодарю Вас! Из 3-х разделов не оказалось первого - DcomLaunch. В ControlSet001 он присутствует (из него я брал твик реестра для службы RPC). Второй и третий разделы - на месте.
Служба "Запуск серверных процессов DCOM" отсутствует, "Уведомление о системных событиях" есть, но остановлена (тип запуска - авто), "Инструментарий управления Windows" работает.
Petya V4sechkin
21-02-2015, 17:20
Из 3-х разделов не оказалось первого - DcomLaunch. В ControlSet001 он присутствует.
Перед загрузкой системы можно в меню по F8 выбрать "последнюю удачную конфигурацию".
Petya V4sechkin,
Думаю, что этот вариант не поможет. Я посмотрел в разделе "Select", что последняя удачная конфигурация у меня берется из раздела ControlSet003, а там та же ситуация - нет этого раздела. И, кстати, так же было и со службой RPC - раздел реестра, отвечающий за ее работу, был только в ControlSet001, откуда я его и брал для восстановления.
Petya V4sechkin
21-02-2015, 17:32
Sharer, тогда и DcomLaunch восстановите оттуда.
И вообще сравните список служб в CurrentControlSet и ControlSet001.
Petya V4sechkin,
А восстанавливать можно в CurrentControlSet002? Просто я именно туда делал твик реестра службы RPC, поскольку, как я понял, CurrentControlSet - это зеркало для него.
Petya V4sechkin
21-02-2015, 17:43
Sharer, можно, если соответствует.
Petya V4sechkin,
Большое спасибо! Восстановил раздел реестра - служба DCOM заработала. Также заработала и программа "Сведения о системе".
Но осталась проблема с незарегистрированным классом. После того, как запустилась служба, я сразу проверил раздел "Службы копонентов - Компьютеры" и снова получил эту ошибку при открытии одного из 3 подразделов - "Приложения COM+". Тут нужно заметить, что во время попыток переустановки службы DCOM согласно инструкции (http://support.microsoft.com/kb/315296/ru/) перед установкой я удалял раздел реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3. А после неудачных попыток он частично был воссоздан - с малым количеством записей по сравнению с прежним, что вполне объяснимо - установка DCOM прерывалась с ошибкой. Поэтому я предположил, что ошибка может быть связана с неполным разделом реестра. Я импортировал его прежнюю полную версию из резервной копии реестра, созданной средством восстановления (отката) системы. После восстановления теперь уже при простой попытке обращения ко всему разделу - "Службы компонентов - Компьютеры" - возникает та же ошибка: "80040154 - Класс не зарегистрирован" и далее появляется окно консоли управления MMC с сообщением об ошибке приложения.
Petya V4sechkin
21-02-2015, 22:06
Sharer, выполняйте остальные рекомендации из 2-го сообщения темы.
Petya V4sechkin,
Лог Process Monitor - http://rghost.ru/8MwvKzSXz
Dial-a-fix пока не стал спешить применять.
Petya V4sechkin
22-02-2015, 09:26
Sharer, в логе:
mmc.exe 1376 RegOpenKey HKCR\CLSID\{15B0BB4C-0F7D-11D1-B21F-00C04FB9473F} NAME NOT FOUND
Слишком усердно вы удаляли clbcatq.dll вместе с COM+ и выпиливали их из реестра (в чем не было никакой необходимости в принципе).
Убедитесь, что файл \Windows\system32\clbcatq.dll на месте.
Нажмите Пуск -> Выполнить -> regsvr32 clbcatq.dll
Petya V4sechkin,
Благодарю Вас! Зарегистрировал файл - ошибка исчезла и службы компонентов заработали.
С переустановкой службы я, конечно, поспешил. Было несколько попыток - по причине того, что по ходу дела перерегистрировал 4 библиотеки и вносил изменение в политику безопасности (подробно об этом я написал в первом посте). Файл cdbcatq.dll у меня был на месте - я сам его проверял и, более того, вернул исходную копию. Дело в том, что согласно инструкции по переустановке я переименовал "cdbcatq.dll" в "~cdbcatq.dll". После этого система сразу заменила его новой копией из файлового кэша. Но, поскольку переустановка завершалась ошибкой, исходный (переименованный) файл остался на месте. Поэтому через безопасный режим я удалил новый файл, а исходный снова переименовал, как и было изначально. Хотя, к слову, сравнение показало их полную идентичность. А из реестра я удалил только раздел HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3 (опять же по инструкции), но вчера и его восстановил из резервной копии. Раздел HKCR\CLSID\{15B0BB4C-0F7D-11D1-B21F-00C04FB9473F} я не удалял - возможно, он был удален установщиком службы во время попытки переустановки, а может и вирус постарался.
Кроме того, я сравнил список служб в ControlSet001 и CurrentControlSet - в целом все одинаково, удаленных разделов больше не обнаружил.
И еще вопрос: Registration center в Dial-a-fix мне уже выполнять не нужно?
Petya V4sechkin
22-02-2015, 21:30
И еще вопрос: Registration center в Dial-a-fix мне уже выполнять не нужно?
Нет, если все восстановилось.
Petya V4sechkin,
Все понятно. Большое спасибо Вам и моя глубокая признательность за помощь и уделенное время! Сердечно благодарю Вас!
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.