Description

Application Recovery and Restart (ARR) technologies enable developers to customize an application's behavior when Windows Error Reporting (WER) terminates the application due to an unrecoverable error. For example, it enables an application to perform data recovery and cleanup operations such as capturing application state and releasing resources before termination. It also allows developers to specify that WER should automatically restart an application that it has terminated.

In this screencast, Kate Gregory (@gregcons) provides an overview of ARR on Windows 7 via the Windows API Code Pack, a source code library that can be used to access some features of Windows 7 and Windows Vista from managed code. Kate also demonstrates just how easy it is to integrate ARR into your managed applications through a few lines of C#.

The Discussion

Damon Achey

I like the tools but would strongly disagree that this replaces the need to auto-save. These handle all cases when the OS has a chance to notify the application, but what about sudden power outages or OS level crashes? I know we like to think neither of those ever happen, but they do. This may however allow a developer to be comfortable with longer auto-save intervals though since it handles many of the more frequent application termination scenarios.

What would be really nice would be a method to use this code for our auto-save also. Perhaps a function to SaveNow(), or pass in an interval to be used by a built in timer for auto-saving and then handle it internally as if an event caused a save.