Written by Newton Cunningham at Cireson.
For all those that are like me and are stuck in our old “package” way of doing things, the application model is in all reality a huge step forward in regards to what it can do for you with the proper understanding of its capabilities. As far as a little history, the main 3 parts of a package are represented by different terms within the application model and they are as follows:
- Package – Application
- Program – Deployment Type
- Advertisement – Deployment
There are a lot of similarities between the 2 of them, but I will key in on a few items that are very much worthy of discussion. The application model has detection method, requirements, dependencies, and supersedences. Each of them works in conjunction with one another and helps take away any need for repackaging the application or scripting (for the most part) in general.
First off is the detection method, which is exactly as described, it detects if the application is already installed. This can be done a few different ways, but the more important ones are through registry and a file. As long as the version number or a file exist (normally in Program Files) or the registry entry for a version number exists then these items can be properly utilized for detection.
Next is the requirements section which incorporates Applications that depend on or supersede the current installation. A differentiation and separation can be done of the two. Also, these settings can be used rather than collection compliance settings. The requirement settings can be rather in depth and really help with narrowing down what you want the deployment to touch and also act as a failsafe.
Then there are dependencies which can add the capability of auto installing another application that the primary application is missing or not allowing the primary application to install because a dependency does not exist. The Auto Install function is very useful in keeping proper compliance levels in the environment. Multiple dependencies can be created for each application to create a very deep chain for proper guarantee of full installations that have prerequisites.
Lastly there are supersedences for updates of certain applications, newer versions of applications, or an overall better application than the one that is currently in the environment. The legacy application/update needs to be added to the supersedence section of the new application and there will be a choice to either uninstall or leave the installation. This can really help with keeping clutter off of machines in the environment.
Through these new additions there will be no need to go with a packaging solution such as SMS Installer, Wise, etc. There will be a little bit more work in regards to putting each application and its additions together (if you did not repackage before), but it is well worth it. Thank you Configuration Manager Team for making this Application Model blow the old “Packaging” way of doing things out of the water!
This should for the most part help with your Configuration Manager Application Model inquiries. If you have any questions in regards to this then send me a message on my Twitter (https://twitter.com/JNewtonC) and follow https://twitter.com/teamcireson. Hope this helps everyone out there and makes life a little easier for you.