Working with the restart behavior of Applications in ConfigMgr 2012

This week I will do a small post about working with the restart behavior of installations in combination with the Application Model in ConfigMgr 2012. In previous versions there was sometimes a need to use a batch file to catch some weird installation return codes. The nice thing about ConfigMgr 2012 is that it gives us a possibility to specify those return codes and to react on it. In the rest of this post I will show in three steps how to configure ConfigMgr 2012 to work with return (restart) codes.

Step 1: Return codes

RetuCodeRestThe first thing I always do is running the installation of an application a few times and see which return codes it gives me. Based on those experiences I create, if needed, some extra entries in the Return Codes –tab of the Properties of the Deployment Type. By default the following return codes are pre-defined:

  • 0 – Success (no reboot)
  • 1707 – Success (no reboot)
  • 3010 – Soft Reboot
  • 1641 – Hard Reboot
  • 1618 – Fast Retry

Step 2: Enforce specific behavior

UserExpeBehaThe second thing I do is determining how I think the client should react on the return codes. This can be configured, on the User Experience –tab of the Properties of the Deployment Type, by selecting one of values under Should Configuration Manager enforce specific behavior regardless of the application’s intended behavior?. The following options are available (including small explanation):

  • Determine behavior based on return codes – (Default) The client will perform any action needed based on the return code of the application.
    • Note: In this case a good configuration in the first step is very important.
  • No specific action – The client won’t perform any action.
    • Note: In this case it is possible to completely suppress a restart.
  • The software install program might force a device restart – The client is told that the installation will force a restart.
  • Configuration Manager client will force a mandatory device restart – The client will always perform a restart.

Step 3: Restart behavior

ClieRestSettThe third, and last, thing I do is more a general client setting. From the moment we decide to restart the device we should think about the configuration of the Computer Restart –settings in the Client Settings. The following Device Settings can be configured:

  • Display a temporary notification to the user that indicates the interval before the user is logged of or the computer restarts (minutes) – Default is 90 minutes.
  • Display a dialog box that the user cannot close, which displays the countdown interval before the user is logged of or the computer restarts (minutes) – Default is 15 minutes.


The combination of these three steps gives us a lot of options to work with the restart behavior of installations. In most cases the default configuration is perfect, but in some case some tuning is needed. For example, the installation of an application is not allowed at any time. This can be achieved by either configuring a custom return code in the first step, or by specifying No specific action in the second step.

Note: There are also Maintenance Windows and/ or Business Hours, that can influence the restart behavior. I didn’t mention them here, because, yes they can exist, but there should always be a moment that we “touch” a users’ device and this is about that moment.

52 thoughts on “Working with the restart behavior of Applications in ConfigMgr 2012”

  1. Hi there,

    Hope you can help, I’m trying to deploy an Available application via SCCM with a reboot exit code 1641, since it’s only set to available and not required I can’t use toast notifications. Is there a way to force a reboot with a let’s say 10 minute timer? So that users have enough time to save their files etc?

Leave a Comment

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