System Center 2012 Configuration Manager comes with a lot of great built-in requirements out of the box; however they’re generally just generic conditions that are specific to the Windows Operating Systems or User accounts. This makes sense because not only would it be impossible to take into consideration every possible condition for even their own software, someone who is using ConfigMgr for purely server management isn’t going to care about settings for software like Microsoft Office even!
Fortunately, Microsoft made it quite simple to create your own custom conditions which can be used as Application Requirements.
Here’s a real-life example I used for a deployment in my company:
I was asked to deploy Lync 2013 throughout the company (around 1900 computers/users). Sounds simple enough except for a few things that needed to be taken into consideration. In the organization we have people using both Office 2010 Standard/Professional and Office 2013 Standard/Professional. On top of that, there are people using both the x86 and x64 versions of Office. Not only that but people using Office 2013 Professional don’t need Lync 2013 installed because it already ships with Lync.
While it is possible to deploy a version of Lync 2013 that includes both x86 and x64 versions, this version is around 1GB in size! The individual versions, while still large are about 300-400MB smaller which certainly would make a difference to VPN users who are connecting from home or more importantly tethering with their company cell phones. So I opted to use separate versions of each to try and make the deployments as small as possible.
This left me with two choices:
1. Determine all the users of each version of Office before-hand and deploy each version to a separate collection based on which version of Office each person uses. Extremely cumbersome.
2. Use requirements and deployment types and let SCCM figure out which version of Office should go on each computer. (DING DING DING! WE HAVE A WINNER!)