Symptoms:
When deploying software to a collection the client execmgr.log shows the following error:
OnContentAvailable program
You will notice a hash mismatch also " SoftDistAdvertHashMismatchEvent" - when checking the CAS.log you will see
"Hash matching failed."
Cause:
SCCM is a temperamental bitch
Solution:
Goto the package in question and right click on Distribution Points and click "Manage Distribution Points". Choose "Update all distribution points with a new package source version" - and thats exactly what happens.
Kick of a hardware policy cycle on the client and watch the magic.