Is it by design that Windows 10 no longer displays "<app> has stopped working" dialogs when apps crash? Can I re-enable this dialog?

In earlier versions of Windows, when an app crashes, I would get a dialog that says "<app> has stopped working". However, in Windows 10, I don't typically see this dialog—the app simply closes and the Windows Error Reporting service (WerFault.exe) reports the crash. (This dialog can still appear for foreground apps but I don't usually see it for Windows Store apps, background apps, or system apps like Windows Explorer. Also, the behavior may depend on whether a debugger such as Visual Studio is installed.)

I can't help but think that Microsoft is either

  • trying to prevent users from stopping WER from reporting the crash, as part of its strategy of relying on telemetry to improve its products at the expense of privacy, or
  • removing the need for user input when an application crashes, which can sometimes be problematic—when the "stopped working" dialog appears, the crashed application doesn't actually exit until the user closes the error dialog, which may not be possible if the application has hooked the mouse such as with many full-screen games.

Regardless, I have not been able to find an official source on this change. Is this change by design, and is there some registry change or other means by which I can re-enable this dialog? The ideal answer contains a reference to an official Microsoft source; this isn't meant to be an opinion-based question.


Solution 1:

I found a way to re-enable the old behavior.

Using the Group Policy Editor:

  1. Run gpedit.msc
  2. Go to Local Computer Policy > Computer Configuration > Administrative Templates > Windows Components > Windows Error Reporting
  3. Set Prevent display of the user interface for critical errors to Disabled.

Note that the help for the setting is wrong because it says If you disable or do not configure this policy setting, Windows Error Reporting displays the user interface for critical errors, but that does not appear to be true if the policy is not configured.

If you don't want to use the Group Policy Editor, instead, run the Registry Editor and under the key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting, create a DWORD DontShowUI of value 0.

I think the benefit of using the Group Policy Editor is that the setting will survive a major Windows Feature Update, whereas the registry setting might be lost.

I also wonder what the official word is on this.

Solution 2:

The policy setting that is suggested in the answer by @BIOSCMOS still only has an effect on processes that display a user interface. WER on Windows 10 never shows a dialog when an invisible process crashes, regardless of the DontShowUI value. I've looked hard, but couldn't find a similar setting for invisible processes.

So I've written a tool that hooks itself into WER and modifies its behaviour to show the dialog for all crashes, including those in invisible processes: WerTweak. As a plus, it makes WER display the same old-style crash reporting dialog as in previous Windows versions, instead of the crippled new dialog usually displayed in Windows 10.