Configure application deployment retry
When applications fail to deploy, you need to wait for the next application deployment reevaluation cycle before the next attempt is made to install it (unless the user manually retries via software center).
In the most part, when applications fail generally it's because of something that is going on at the endpoint at that specific time. E.g. reboot pending/a file in use etc etc. Therefore on a second retry (normally after a reboot) the application will install.
It would be good if there was a "Retry Failed Install" option where you could configure if you wanted the application to automatically retry installing if it failed. You could specify..
If you want this to happen
The maximum number of attempts
When you want it to retry (on next reboot etc).
When the MSI exit code returns reboot pending, it could also automatically retry on the next reboot.
For required deployments, as long as your failure codes match custom added or default Fast Retry return codes configured in the app deployment type, it will re-try the install up to 10 times about every two hours which is equivalent to running the application deployment evaluation cycle as far as additional install attempts. Using something such as PSADT to improve the application packaging process such as checking for pending reboots, closing open apps, etc. before the app is installed is ideal.
"When the MSI exit code returns reboot pending, it could also automatically retry on the next reboot."
This would be fantastically useful, or at least, run the application deployment evaluation cycle when the agent next starts. This would allow a lot of folk who use task sequences to handle a situation where an app install or uninstall needs a reboot to move to simpler applications instead.
A scenario I'm facing at the minute when deploying a new version of an app, let's call them OldVer and NewVer.
NewVer cannot be installed over the top of OldVer, and won't upgrade it - OldVer must be removed first.
Removing OldVer requires a reboot before NewVer can be installed.
Right now I have to use a script which, if OldVer is installed, uninstalls OldVer and returns 3010 - but then NewVer may not be installed in the same maintenance window.