It’s quite familiar, isn’t it? And I bet you are probably like me wondering the same why the heck it doesn’t just restart itself. Here Raymond Chen lists a few logical scenarios that explain the reason why.
One, when the application starts, it might freak out if it sees a dead copy of itself.
Two, while Windows Error Reporting is checking for a solution, it still has access to the carcass of the crashed application in case the needs of referring some information.
Three, suppose you start up a new copy of dead application right away. If the application is a single-instance program, it might simply switch over to its own dead body. Even if it asks, it will never get a proper answer.
Four, what’s worse, if the new copy of the program tries to extract information from the existing dead body, it may effectively launched a denial of service attack against itself.
Five, if the program crashes at startup, automatically restarting the program would just launch another copy that immediately crashes.
The bottom line, before trying to restart the program again, Windows makes sure that the previous copy has received a formal R.I.P.