none
Windows Error Reporting (WER) блокирует повторный запуск Outlook после его зависания из-за Suspended процесса Outlook, который блокирует "*ost.tmp" файл RRS feed

  • Вопрос

  • Здравствуйте.

    Периодически происходит эта проблема: повторная попытка открыть Outlook не удаётся, выходит ошибка "The file *.ost cannot be opened". Перед этим происходит краш Outlook (event 1000, Application Error), или Outlook зависает, и система предлагает пользователю подождать или перезапустить процесс, если нажимает перезапустить, повторный запуск не удаётся. В этих двух случаях создаётся новый процесс Outlook со статусом Suspended. Process Explorer показывает, что этот Suspended процесс открыл файл *.ost.tmp, который использовался упавшим процессом Outlook. Outlook работает в кеш-моде, это необходимо. Чтобы повторно запустить Outlook приходится перелогниваться пользователям.

    Логика создания Suspended процессов при зависании процессов отписана в статье. То есть это - результат работы Windows Error Reporting.

    https://devblogs.microsoft.com/oldnewthing/20181018-00/?p=100005

    Сейчас WER выключен политикой пользователя, с этой настройкой возникает проблема с Suspended процессами Outlook:

    User Configuration\Policies\Administrative Templates\Windows Components\Windows Error Reporting\ Disable Windows Error Reporting

    Проблема ещё в том, что не понятно, как воспроизвести зависание или краш Outlook.

    Я нашёл разные варианты настроек WER (в реестре, групповых политиках), но они не работают в моих тестах. У меня есть приложение, которое крашится, WER на него срабатывает (WerFault.exe запускается и предлагает закрыть процесс), хотя я добавил его в исключения в компьютерной политике

    Computer Configuration\Policies\Administrative Templates\Windows Components\Windows Error Reporting\Advanced Error Reporting Settings\List of applications to be excluded

    Затем я попробовал отключить WER в реестре: в ключе

    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Windows Error Reporting\ создал значение REG_DWORD с именем Disabled и значением 1. 

    https://docs.microsoft.com/ru-ru/windows/win32/wer/wer-settings

    Это не сработало для моего тестового приложения, которое крашится. Как это отработает для Outlook протестировать нет возможности (проблема плавающая). На форумах много сообщений, что добиться железного отключения WER не получается настройками.

    Прошу подсказать, можно ли исключить Outlook.exe из работы WER, чтобы не создавались Suspended процессы, или как-то иначе обойти проблему повторного запуска Outlook.

    20 января 2020 г. 15:10

Все ответы

  • Вопрос переместили в раздел Office 2016.

    Офис действительно версии 2016: Microsoft Outlook for Office 365 MSO (16.0.12325.20280) 64-bit.

    Операционная система: Microsoft Windows Server 2016 Datacenter 10.0.14393 N/A Build 14393.

    21 января 2020 г. 14:19
  • В ключе 

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\RuntimeExceptionHelperModules

    есть DWORD значение 

    C:\Program Files\Microsoft Office\root\VFS\ProgramFilesCommonX64\Microsoft Shared\OFFICE16\msowerrelief.dll

    "the runtime exception module technology introduced by WER" https://github.com/pauldotknopf/WindowsSDK7-Samples/tree/master/winbase/windowserrorreporting/RuntimeExceptionModule

    Есть предположение, что это модуль отвечает за обработку событий падений и зависаний Outlook. Поможет ли решить проблему, если его убрать из ключа? И не возникнет ли других проблем?

    21 января 2020 г. 14:36