Незважаючи на потужні сучасні комп'ютерні конфігурації і відносно стабільні операційні системи, практично кожен користувач Windows останніх версій стикався з раптовою появою повідомлення про те, що припинена робота програми COM Surrogate. Чому виникають такі проблеми і як з ними боротися, читайте далі.
COM Surrogate (Windows 7) - що це таке?
Природно, що при появі повідомлень подібного роду користувач відразу задається питанням приводу вірусного впливу і намагається в «Диспетчері завдань» судорожно шукати такий процес зі спробою його зупинки. На жаль, це ні до чого не приводить, оскільки такого процесу там просто немає. Але ж помилку чітко вказана служба, в роботі якої стався збій.
Сама служба Windows 7 COM Surrogate в її оригінальному варіанті здебільшого орієнтована на виконання компонентів COM+ в середовищі ISS (інтернет-з'єднання, відтворення деяких типів мультимедіа-файлів і т. д.). Але це тільки загальний випадок.
Чому з'являється помилка «Припинена робота програми COM Surrogate»?
Суть проблеми зводиться до того, що деякі програми, що використовують стандартні бібліотеки .NET, некоректно звертаються до ресурсів комп'ютера. Може спостерігатися «виліт» додатків в процесі роботи, при старті або нормальне функціонування певного моменту, при якому з'являється критична синтаксична помилка, що викликає зациклення виконання коду (наприклад, при спробі відтворення «битих» медіафайлів). Та ще й синій екран вискакує.
З іншого боку, нерідко відзначається, що програма COM Surrogate може не бути системним процесом, а вірусом, який маскується під нього. Його дія полягає в тому, що споживання системних ресурсів починає зашкалювати (завантаження процесора може доходити до 95-100%, хоча для стандартної служби, за ідеї, завантаження ЦП зазвичай не перевищує 50% навіть при умові її некоректного функціонування).
Як дізнатися, що це не вірус?
Якщо з якихось причин користувач отримав повідомлення про те, що припинена робота COM Surrogate, для початку необхідно перевірити, не вірус чи викликав таку реакцію системи. За функціонування самої служби відповідає процес dllhost, представлений у вигляді однойменного виконуваний EXE-файлу.
Для початку слід відкрити «Диспетчер завдань», на вкладці процесів знайти там зазначену службу (їх може бути декілька, в залежності від кількості запущених додатків, що використовують вищеописані компоненти), і через ПКМ перейти до пункту відкриття місця зберігання файлу. Якщо це оригінальний процес, буде зазначено папку System32 (для систем з архітектурою x86) або SysWOW64 (для 64-бітних систем). Будь-яке інше розташування одразу вказує на присутність вірусу.
Питання мультимедіа
Що стосується мультимедіа, найчастіше проблеми з COM Surrogate спостерігаються при старті і закриття програвачів (в основному KMPlayer), не кажучи вже про відтворення пошкоджених файлів. Багато фахівців пов'язують це з наявністю в системі застарілих з наборів кодеків K-Lite і The HDvid. Найпростішим рішенням проблеми стане стандартне видалення цих пакетів (можна використовувати розділ і програм компонентів в «Панелі управління») з наступним встановленням більш свіжої версії.
Усунення проблем з роботою служби
Однак у більшості випадків збої в роботі служби COM Surrogate можна усунути більш універсальним методом. Для цього потрібно використовувати розділ системи в «Панелі управління», перейти на вкладку «Додатково» та натисніть кнопку параметрів.
Далі використовується вкладка запобігання виконання даних", на якій задіюється рядок включення DEP для всіх служб і програм, крім обраних. У віконці нижче через натискання кнопки додавання служби необхідно вказати повний шлях до файлу dllhost і зберегти зміни, після чого перезавантажити систему.
Якщо це не допомогло, використовуйте онлайн-відновлення системи. Спочатку в командної консолі, яка працює від імені адміна, вводиться команда сканування (DISM.exe /Online /Cleanup-image /ScanHealth), а потім проводиться безпосередньо відновлення (DISM.exe /Online /Cleanup-image /RestoreHealth).
Видалення вірусу
Але, як вже було сказано, COM Surrogate може виявитися вірусом. Якщо це дійсно так (дивимося розташування файлу), а перевірка антивірусним сканером нічого не дала, для початку перевантажуємо систему в безпечному режимі і використовуємо будь-який засіб перевірки. Непогано допомагає Microsoft Security Essentials з встановленим особливим режимом сканування. Якщо видаляти загрозу в ручному режимі, необхідно використовувати редактор реєстру (regedit), задати пошук з введенням в якості значення {AB8902B4-09CA-4bb6-B78D-A8F59079A8D5}, а знайдений розділ повністю видалити. Після цього слід стандартна перезавантаження. На всякий випадок бажано перевірити додаткові компоненти браузера, а також відстежити шлях до виконуваного файлу (він повинен закінчуватися тільки розширенням EXE). Якщо в кінці дописано щось ще, все це потрібно видалити і зберегти зміни.
Чого робити не варто ні в якому разі?
Деякі користувачі при появі збоїв у роботі служби наївно вважають, що від них можна позбутися шляхом завершення всіх процесів dllhost з видаленням однойменного файлу з його оригінального розташування. Завершіть процеси – зависнуть використовують їх застосування. Видаліть файл – система взагалі перестане працювати. Завершити оригінальний процес можна тільки в тому випадку, якщо всі програми закриті (але процес все одно активний). А ось видаленням файлу займатися не можна. Це викличе таку кількість додаткових помилок, що іноді допомогти зможе тільки повна переустановка системи.
Короткий підсумок
Як бачимо, проблеми з даною службою можна зустріти досить часто. Звичайно, в більшості своїй вони пов'язані з мультимедіа, рідше – з інтернетом, коли браузери починають зависати. Для усунення проблем, якщо це дійсно відноситься до відтворення відео або аудіо, краще застосувати зазначені методики, для всіх інших випадків доведеться використовувати виключення для служби DEP.