Служба 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. Кроме того, обнаружил, что не работает служебная программа "Сведения о системе" - пишет: "Не удается собрать сведения. Произошла сетевая ошибка при подключении к инструментарию управления Windows. Убедитесь, что сетевое подключение работает правильно.". Помогите, пожалуйста, решить эту проблему. Заранее благодарен за помощь! |
Sharer, проверьте содержимое разделов реестра:
Цитата:
|
Petya V4sechkin,
Благодарю Вас! Из 3-х разделов не оказалось первого - DcomLaunch. В ControlSet001 он присутствует (из него я брал твик реестра для службы RPC). Второй и третий разделы - на месте. Служба "Запуск серверных процессов DCOM" отсутствует, "Уведомление о системных событиях" есть, но остановлена (тип запуска - авто), "Инструментарий управления Windows" работает. |
Цитата:
|
Petya V4sechkin,
Думаю, что этот вариант не поможет. Я посмотрел в разделе "Select", что последняя удачная конфигурация у меня берется из раздела ControlSet003, а там та же ситуация - нет этого раздела. И, кстати, так же было и со службой RPC - раздел реестра, отвечающий за ее работу, был только в ControlSet001, откуда я его и брал для восстановления. |
Sharer, тогда и DcomLaunch восстановите оттуда.
И вообще сравните список служб в CurrentControlSet и ControlSet001. |
Petya V4sechkin,
А восстанавливать можно в CurrentControlSet002? Просто я именно туда делал твик реестра службы RPC, поскольку, как я понял, CurrentControlSet - это зеркало для него. |
Sharer, можно, если соответствует.
|
Petya V4sechkin,
Большое спасибо! Восстановил раздел реестра - служба DCOM заработала. Также заработала и программа "Сведения о системе". Но осталась проблема с незарегистрированным классом. После того, как запустилась служба, я сразу проверил раздел "Службы копонентов - Компьютеры" и снова получил эту ошибку при открытии одного из 3 подразделов - "Приложения COM+". Тут нужно заметить, что во время попыток переустановки службы DCOM согласно инструкции (http://support.microsoft.com/kb/315296/ru/) перед установкой я удалял раздел реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3. А после неудачных попыток он частично был воссоздан - с малым количеством записей по сравнению с прежним, что вполне объяснимо - установка DCOM прерывалась с ошибкой. Поэтому я предположил, что ошибка может быть связана с неполным разделом реестра. Я импортировал его прежнюю полную версию из резервной копии реестра, созданной средством восстановления (отката) системы. После восстановления теперь уже при простой попытке обращения ко всему разделу - "Службы компонентов - Компьютеры" - возникает та же ошибка: "80040154 - Класс не зарегистрирован" и далее появляется окно консоли управления MMC с сообщением об ошибке приложения. |
Sharer, выполняйте остальные рекомендации из 2-го сообщения темы.
|
Petya V4sechkin,
Лог Process Monitor - http://rghost.ru/8MwvKzSXz Dial-a-fix пока не стал спешить применять. |
Sharer, в логе:
Цитата:
Убедитесь, что файл \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,
Все понятно. Большое спасибо Вам и моя глубокая признательность за помощь и уделенное время! Сердечно благодарю Вас! |
Время: 07:32. |
Время: 07:32.
© OSzone.net 2001-