Working with the restart grace period of Win32 apps

This week is sort of a follow-up on a post of years ago about working with the restart behavior of Win32 apps. That post was focussed on the behavior of Win32 apps, based on the return codes and the configured restart behavior. This post will add the restart grace period in that mix. The restart grace period can be used to determine after which time the device will actually require a restart, when required by the successful installation of a Win32 app. The configuration for the restart grace period has already been available for some time, but since recently it’s now also possible for non-administrator users to snooze that restart. This post will have a closer look at the configuration options for the restart grace period, followed with the experience.

A closer look at the restart grace period

When looking at the restart grace period with the installation of Win32 apps, it all starts with the device restart behavior that is configured for the Win32 app. The restart grace period is configured by using the Restart grace period setting, in the Assignment section, of a Win32 app. That setting is only available when the Device restart behavior setting, in the Program section of a Win32 app, is set to either Determine behavior based on return codes or Intune will force a mandatory device restart. With the latter option the restart grace period will always be applicable, and with the former option the restart grace period will only be applicable when the return code matches a Hard Reboot. So, either way, the configuration for the restart grace period will become available in the configuration of the assignment of the Win32 app.

Within the assignment of the Win32 app is were it now gets interesting. The Restart grace period setting is now available, as also shown below in Figure 1. And since recently, non-administrator users can now also interact with the UI of the grace period. Once enabled, the Restart grace period setting (1) becomes available, with a few sub-settings to configure the detailed behavior of the restart grace period for the installation of the Win32 app. That includes the following settings:

  • Device restart grace period (minutes) (2): This setting determines the grace period for the device restart. That period is specified in minutes. The default value is 1,440 minutes (24 hours). This maximum value is 2 weeks.
  • Select when to display the restart countdown dialog box before the restart occurs (minutes) (3): This setting determines when to display the restart countdown dialog box. The default value is 15 minutes.
  • Allow user to snooze the restart notification (4): This settings can be used to enable users to snooze the restart.
    • Select the snooze duration (minutes) (5): This setting determines the duration that the restart can be snoozed. The default value is 240 minutes (4 hours). The snooze value can’t be more than the restart grace period.

Note: The select settings actually require that the IT administrator has to specify a number of minutes. Not select.

After being familiar with the restart grace period, it’s important to think carefully about it’s usage. The restart grace period provides users with a better experience and more control, as the device doesn’t require an immediate restart and possibly even allows a snooze. Besides that, the restart grace period can also introduce a longer period that a security gap isn’t fixed, as a restart might be required to finish the installation. That makes the usage of the grace period and important balance. A balance between usability and security. Make sure to use the best configuration that relates to the type of application or update.

Experiencing snoozing the restart grace period

Experiencing the restart grace period and the user interaction, is relatively easy with the right configuration. For this experience 7-zip is used as an example, with the restart behavior set to Intune will force a mandatory device restart, the restart grace period set to 30 minutes, the restart countdown set to 5 minutes, and the snooze set to 5 minutes. After the installation of the application, the user will experience the following behavior:

  • The user receives the notifications about the successful installation of the application including the message about the required restart, as shown below in Figure 2.
  • Within a minute after that notification, the user receive an interactive notification to restart the device, to snooze the restart of the device, or to schedule the restart of the device, as shown below in Figure 3.
  • After the user wants to schedule the restart, the user receives a dialog box to schedule the restart, as shown below in Figure 4. That new schedule cannot be configured outside the provided grace period of 30 minutes.
  • After the user snoozes the restart, the user receives a dialog box after the configured snooze time of 5 minutes, as shown below Figure 5. That snooze will automatically be set after using that option.
  • When the time of the restart is at the restart countdown, the user receives a dialog box, as shown below in Figure 6.

More information

For more information about the restart grace period for Win32 apps, refer to the following docs.

9 thoughts on “Working with the restart grace period of Win32 apps”

  1. Quick question, how did you change the notifications to say “petervanderwoude.nl software distribution” instead of the default “Microsoft Intune software distribution”?

    Reply
  2. Do you know that there is an bug in Intumne Management extension that let the devices intermediate restart because the user has no read right in registry.
    There is not coming up any Popup 🙄
    This issue was not reported from MS but i have already check them and its true. We habe deployed last week an software with an 1641 error and the computer restarted intermediatly witout interaction

    See
    https://asherjebbink.medium.com/your-device-will-restart-in-2147483648-minutes-d8dc3d4253c0

    Reply
  3. Intune does not support grace period for dependency package. It simply force reboot to user device if reboot is enabled in prerequisite package.

    Reply

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.