Jason Sandy’s has a great blog explaining ConfigMgr Package/Program retry behavior including the Retry return/exit/error codes and how often the retry occurs.  One bit of info missing from the blog that I couldn’t find anywhere else (documentation, forums, blogs, etc.) was how long or how many retry attempts will occur before ConfigMgr gives up.

The answer is… 1008 times!  This equates to every 10 minutes for an entire week; however, if the computer is restarted, turned off, goes to sleep, etc. the duration will be extended.

To verify this I created a Package/Program that simply exited with an error code in the FailureRetry list.  Something like


Monitoring the ConfigMgr Client Execution Manager log (execmgr.log) will show the sequence of events.


Here is a filtered archive of the log as well.

The progress can obviously be monitored through ConfigMgr Status Messages… all 2016+ of them!


While the retries are ongoing, the Deployment Status in the ConfigMgr console will show as In Progress but will eventually become an Error after the retries conclude.


Where is this information stored?  Can it be changed?

The configuration values are stored in the CCM_SoftwareDistributionClientConfig WMI class within the rootccmPolicyMachine namespace.  MSDN has some good info on it.

While the article details out the ExecutionFailureRetryErrorCodes it does not list the default value of the ExecutionFailureRetryCount.

A quick WMI query with PowerShell will expose that though.


Check out some of the other properties here.  There may be a good reason to tweak content download timeouts or retries, and success & reboot return codes (like you can with Applications and Task Sequences).

I haven’t gotten around to changing these values yet and verifying they stick.  It should be possible to change these for the entire ConfigMgr Site and for individual computers.  Chris Nackers and an old MSDN article give a good starting point for injecting ConfigMgr Client Local Policies.

Happy Retry (times 1008!)