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
The 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
The 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
The 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.