Что нового

0xC0000142 в Microsoft Office: диагностика вместо переустановки

Половина интернета на запрос «0xC0000142 microsoft office» отвечает одним и тем же набором: переустанови Office, запусти восстановление, отключи антивирус — и как повезёт. Ни слова о том, как для начала узнать, что конкретно сломалось. Я так не работаю: сначала диагноз, потом лечение. Да, знаю — не про nginx и не про Percona, но Windows на клиентских машинах никуда не делся, и разбираться с ним приходится тем же способом: не гадать, а смотреть.
1784812656135.png

Содержание
Что вообще значит этот код​
Диагностика вместо перебора​
Частые причины​
План действий по порядку​
Если вылезло сразу после патча​
Словарик​

Что вообще значит этот код​

0xC0000142 — это NTSTATUS STATUS_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 прямо перед падением. Это точный файл и точная причина, а не гипотеза — вот и вся разница между «попробуй переустановить» и «вот что именно сломано».

Частые причины​

По убыванию частоты:

  1. битая или неполная установка Office — обычно после прерванного апдейта или проблем с диском;
  2. DLL-инъекция сторонним ПО — антивирусы и оверлеи грешат этим регулярно;
  3. повреждённые системные компоненты или рантайм-зависимости (VC++/.NET);
  4. зависший или остановленный Click-to-Run сервис;
  5. права на каталог установки Office или битый профиль пользователя Windows.

План действий по порядку​

От дешёвого к дорогому. Останавливаюсь на первом шаге, который сработал:

  1. Диспетчер задач → Службы → ClickToRunSvc → Restart. В части случаев ошибка снимается прямо здесь¹. Если у тебя MSI-установка, а не Click-to-Run, — этой службы попросту нет, репар делается через msiexec /fa или корпоративный deployment tool.
  2. Обновляю Office: File → Account → Update Options → Update Now — это первый шаг по рекомендации самой Microsoft, раньше остальных².
  3. sfc /scannow. Если пишет «unable to fix some of them» — DISM /Online /Cleanup-Image /RestoreHealth, затем sfc /scannow повторно.
  4. Восстановление Office: сначала Quick Repair, не помогло — Online Repair (Панель управления → Программы и компоненты → Microsoft Office → Изменить).
  5. Временно снимаю антивирус — именно службу или драйвер, не только UI — и проверяю запуск. Если дело в нём, ищу конкретный модуль веб- или почтовой защиты и выключаю точечно, а не всю защиту разом.
  6. Права на ...\Microsoft Office\root\OfficeXX — учётке нужен Full Control. Актуально после восстановления с бэкапа или переноса профиля.
  7. Завожу новый локальный профиль Windows, тот же Office. Стартует нормально — проблема в текущем HKCU или профиле, а не в системе.
  8. Переустанавливаю VC++ redist — vc_redist.x64.exe и x86.exe, оба, вне зависимости от разрядности Office.
  9. Крайний случай — снос через 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 сам не справляется.

Если добрался до девятого пункта и всё ещё не работает — это уже не диагностика, а археология. В этот момент снести систему и накатить заново дешевле, чем продолжать раскопки.
Об авторе
Guru
Василий, cистемный админ /gnu/linux/windows/macos/mikrotik/troubleshooter, создатель сайта
Интересуюсь всем что делает инфраструктуру быстрой и надёжной
Открыт к общению и проектам, написать мне можно через форму или в личном сообщении

❗ Если есть пожелания по обзору какого-либо вопроса не представленного на сайте - пиши в комментариях

Комментарии

Нет комментариев для отображения.

Информация о статье

Автор
Guru
Время чтения статьи
3 мин чтения
Просмотры
5
Посл. обновление

Ещё в Windows

Ещё от Guru

Поделиться этой статьёй

Назад
Верх