Половина интернета на запрос «0xC0000142 microsoft office» отвечает одним и тем же набором: переустанови Office, запусти восстановление, отключи антивирус — и как повезёт. Ни слова о том, как для начала узнать, что конкретно сломалось. Я так не работаю: сначала диагноз, потом лечение. Да, знаю — не про nginx и не про Percona, но Windows на клиентских машинах никуда не делся, и разбираться с ним приходится тем же способом: не гадать, а смотреть.
Содержание
Если поле пустое или бесполезное (
и пробую снять самое свежее как тест, прежде чем городить всё остальное.
Если добрался до девятого пункта и всё ещё не работает — это уже не диагностика, а археология. В этот момент снести систему и накатить заново дешевле, чем продолжать раскопки.
Содержание
Что вообще значит этот код
Диагностика вместо перебора
Частые причины
План действий по порядку
Если вылезло сразу после патча
Словарик
Что вообще значит этот код
0xC0000142 — это NTSTATUSSTATUS_DLL_INIT_FAILED. Не ошибка Outlook как приложения, а сбой в DllMain() одной из DLL на этапе загрузки процесса — ещё до того, как сам Outlook успел хоть что-то сделать. Отсюда практический вывод: почтовый профиль, PST/OST, надстройки Outlook почти всегда ни при чём. Проблема на уровне загрузчика Windows, не приложения.Диагностика вместо перебора
Прежде чем трогать хоть один пункт из плана ниже, иду вeventvwr.msc → Windows Logs → Application → ищу Application Error (ID 1000) для outlook.exe. Во вкладке Details/XML — поле FaultingModuleName. Оно прямо называет виновника:- библиотека вроде
mso*.dll,vcruntime*.dll,ucrtbase.dll— почти наверняка битый Office или отсутствующий рантайм VC++; - сторонняя DLL (антивирус, оверлей, DLP-агент) — вот и весь виновник, дальше можно не перебирать.
Если поле пустое или бесполезное (
ntdll.dll, unknown) — беру Procmon из Sysinternals, фильтр Process Name = OUTLOOK.EXE, ищу первый NAME NOT FOUND или ACCESS DENIED на .dll прямо перед падением. Это точный файл и точная причина, а не гипотеза — вот и вся разница между «попробуй переустановить» и «вот что именно сломано».Частые причины
По убыванию частоты:- битая или неполная установка Office — обычно после прерванного апдейта или проблем с диском;
- DLL-инъекция сторонним ПО — антивирусы и оверлеи грешат этим регулярно;
- повреждённые системные компоненты или рантайм-зависимости (VC++/.NET);
- зависший или остановленный Click-to-Run сервис;
- права на каталог установки Office или битый профиль пользователя Windows.
План действий по порядку
От дешёвого к дорогому. Останавливаюсь на первом шаге, который сработал:- Диспетчер задач → Службы →
ClickToRunSvc→ Restart. В части случаев ошибка снимается прямо здесь¹. Если у тебя MSI-установка, а не Click-to-Run, — этой службы попросту нет, репар делается черезmsiexec /faили корпоративный deployment tool. - Обновляю Office: File → Account → Update Options → Update Now — это первый шаг по рекомендации самой Microsoft, раньше остальных².
sfc /scannow. Если пишет «unable to fix some of them» —DISM /Online /Cleanup-Image /RestoreHealth, затемsfc /scannowповторно.- Восстановление Office: сначала Quick Repair, не помогло — Online Repair (Панель управления → Программы и компоненты → Microsoft Office → Изменить).
- Временно снимаю антивирус — именно службу или драйвер, не только UI — и проверяю запуск. Если дело в нём, ищу конкретный модуль веб- или почтовой защиты и выключаю точечно, а не всю защиту разом.
- Права на
...\Microsoft Office\root\OfficeXX— учётке нужен Full Control. Актуально после восстановления с бэкапа или переноса профиля. - Завожу новый локальный профиль Windows, тот же Office. Стартует нормально — проблема в текущем
HKCUили профиле, а не в системе. - Переустанавливаю VC++ redist —
vc_redist.x64.exeиx86.exe, оба, вне зависимости от разрядности Office. - Крайний случай — снос через Microsoft Support and Recovery Assistant (офлайн-деинсталлятор SaRA для Click-to-Run) и чистая установка.
Если вылезло сразу после патча
Совпадение по времени с обновлением — не паранойя, а рабочая гипотеза. Смотрю, что легло последним:
Код:
Get-HotFix | Sort-Object InstalledOn -Descending
Словарик
- DllMain — функция-точка входа библиотеки (DLL), которую Windows вызывает при её загрузке в процесс; вернула отказ — падает весь процесс.
- Click-to-Run — потоковая система установки Office (в противовес старой MSI), со своим сервисом
ClickToRunSvcи своим механизмом обновлений. - Procmon (Process Monitor) — утилита Sysinternals для трассировки обращений процесса к файловой системе, реестру и DLL в реальном времени.
- DISM — Deployment Image Servicing and Management, встроенный инструмент восстановления образа системных компонентов, когда
sfcсам не справляется.
Если добрался до девятого пункта и всё ещё не работает — это уже не диагностика, а археология. В этот момент снести систему и накатить заново дешевле, чем продолжать раскопки.