This is what I've found with software distribution. Packages will fail if a pending reboot is put into the registry. Not all MSI packages do this but some do
.If there is a reboot pending in the registry and a msi or batch package is run after, it usually fails.