Application Dependencies and the importance of having correct detection methods in your deployment types for ConfigMgr 2012
A brand new feature in CM’s 2012 application model is the ability to set dependencies on applications. This is something that I have been waiting for to replace task sequences in CM07. Of course every “application” must have a deployment type and in that deployment type you will then need to specify a valid detection method .
If your detection method in one of the chaining dependencies is wrong , the whole “application” with dependent applications will fail .
Troubleshooting could be hard , but here is how to easy logic behind it :
– The policy will reach the client and the client will launch the application thru the Application catalog.
– The application will check which deployment type is valid and then it will check thru your defined detection method (s) if the “application” is installed on the machine. A detection method could be MSI product code , Registry , File or custom script . In my case a registry key as shown in the picture below :
It will check if the above registry key is in place , based on the above detection method. You could find that back in the “Appenforce.log” or “Appdiscovery.log”
– If the “application” isn’t installed on the machine , it will start installation of the “application” . You could find that back in the “Appenforce.log” or “Appdiscovery.log”
You will see in this example below that the success code = 0
– After the “application” is successfully installed thru the selected deployment type , it will check again thru your defined detection method (s) if the “application” is installed on the machine. IF your defined detection method (s) fail , the “application” will fail as well !
In the case where I made a mistake :
In the case I corrected my mistake :
– your Application deployment (re-)evaluation cycle will kick off every seven days by default and will launch your detection methods again to see if the application is still installed (dummy user protection ) . This means if you change your detection methods in the meanwhile on your existing application , it will validate the new detection mechanism rules !
My advise : Test – Test –Test or use simulated deployment to rule out basic mistakes .
Hope it Helps ,