Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Windows 2000/XP (http://forum.oszone.net/forumdisplay.php?f=6)
-   -   [решено] Служба DCOM: Код ошибки 80040154 - Класс не зарегистрирован (http://forum.oszone.net/showthread.php?t=295875)

Sharer 21-02-2015 13:36 2474132

Служба 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 2474192

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 , поставьте флажки в области Registration center и нажмите GO.

Цитата:

Цитата Sharer
(Приложения COM+) выдает: "Ошибка при обработке последней операции. Код ошибки 80040154 - Класс не зарегестрирован.

Сделайте лог Process Monitor следующим образом:
  1. запустите Process Monitor;
  2. спровоцируйте ошибку 0x80040154 "Класс не зарегистрирован";
  3. сохраните лог: меню File -> Save -> PML-формат;
  4. заархивируйте и выложите на любой файлообменник, например http://rghost.ru

Sharer 21-02-2015 17:18 2474199

Petya V4sechkin,
Благодарю Вас! Из 3-х разделов не оказалось первого - DcomLaunch. В ControlSet001 он присутствует (из него я брал твик реестра для службы RPC). Второй и третий разделы - на месте.

Служба "Запуск серверных процессов DCOM" отсутствует, "Уведомление о системных событиях" есть, но остановлена (тип запуска - авто), "Инструментарий управления Windows" работает.

Petya V4sechkin 21-02-2015 17:20 2474200

Цитата:

Цитата Sharer
Из 3-х разделов не оказалось первого - DcomLaunch. В ControlSet001 он присутствует.

Перед загрузкой системы можно в меню по F8 выбрать "последнюю удачную конфигурацию".

Sharer 21-02-2015 17:30 2474207

Petya V4sechkin,
Думаю, что этот вариант не поможет. Я посмотрел в разделе "Select", что последняя удачная конфигурация у меня берется из раздела ControlSet003, а там та же ситуация - нет этого раздела. И, кстати, так же было и со службой RPC - раздел реестра, отвечающий за ее работу, был только в ControlSet001, откуда я его и брал для восстановления.

Petya V4sechkin 21-02-2015 17:32 2474209

Sharer, тогда и DcomLaunch восстановите оттуда.
И вообще сравните список служб в CurrentControlSet и ControlSet001.

Sharer 21-02-2015 17:39 2474213

Petya V4sechkin,
А восстанавливать можно в CurrentControlSet002? Просто я именно туда делал твик реестра службы RPC, поскольку, как я понял, CurrentControlSet - это зеркало для него.

Petya V4sechkin 21-02-2015 17:43 2474215

Sharer, можно, если соответствует.

Sharer 21-02-2015 21:22 2474278

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 2474291

Sharer, выполняйте остальные рекомендации из 2-го сообщения темы.

Sharer 21-02-2015 22:33 2474304

Petya V4sechkin,
Лог Process Monitor - http://rghost.ru/8MwvKzSXz
Dial-a-fix пока не стал спешить применять.

Petya V4sechkin 22-02-2015 09:26 2474399

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

Sharer 22-02-2015 21:26 2474644

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 2474648

Цитата:

Цитата Sharer
И еще вопрос: Registration center в Dial-a-fix мне уже выполнять не нужно?

Нет, если все восстановилось.

Sharer 22-02-2015 22:55 2474685

Petya V4sechkin,
Все понятно. Большое спасибо Вам и моя глубокая признательность за помощь и уделенное время! Сердечно благодарю Вас!


Время: 07:32.

Время: 07:32.
© OSzone.net 2001-