- SmartDeploy: Rethinking software deployment to remote workers in times of a pandemic - Thu, Jul 30 2020
- Outlook attachments now blocked in Office 365 - Tue, Nov 19 2019
- PolicyPak MDM Edition: Group Policy and more for BYOD - Tue, Oct 29 2019
One wrong way and two right ways exist to manage application architecture in SCCM 2012. Although you can make the wrong way work, doing things correctly and planning ahead will save you a ton of reconfiguration time later. To do this, let’s start by creating two custom device collections.
Creating x86 and x64 device collections in SCCM 2012 ^
Being able to see the architecture breakdown of your environment is made incredibly simple through the use of two device collections. Launch the Configuration Manager console and navigate to Device Collections. Create a new device collection and name it All x64 Clients. Set the limiting collection to All Desktop and Server Clients and click Next.
Under Membership Rules, add a new Query Rule. Name the query after your collection and edit the query statement. Select Criteria and click Add. Under Where, choose Computer System as the attribute class and System Type as the attribute. Click the Value button and select x64-based PC.
Query rule that filters only x64-based computers
If you plan to deploy settings, updates, or applications to this collection and you want a faster installation time, enable Use incremental updates for this collection. As a best practice, do not create more than 200 incremental update collections. Repeat this process and create an x86 device collection.
In our environment, applications are deployed to collections that query AD security groups. If you have an application that is only a 64-bit (or 32-bit) application, you can use these architecture device collections as your limiting collection in the deployment.
The device collection for this application is limited to only members in the All x64 Clients collection.
Creating application deployment requirements in SCCM 2012 ^
Requirements for application deployments allow granular filtering. You can allow an application to install if a device meets certain hardware specifications, has a certain operating system installed, or meets some other custom query.
Many administrators will filter to a certain OS architecture by selecting an operating system condition. This allows one to add both the x86 and x64 versions of an application to the same SCCM deployment.
Two deployment types allow multi-architecture installs from a single SCCM deployment.
SCCM evaluates each deployment type until one evaluates as true. Further evaluations then cease. Because of this, each deployment type would have a device requirement configured for it. In the screenshot below, the application is filtered to All Windows 8 (x64) and All Windows 8.1 (x64) clients.
Filtering by OS architecture directly in the application
Filtering this way means extra work later. Any time a new OS is released, you have to change the requirements for every application that relies on this method. Creating a custom application requirement enables you to make OS changes in one location and have the changes applied to any application that needs them.
In the Configuration Manager console, select Software Library – Application Management – Global Conditions. Create a global condition and name it OS Architecture x64. Change the condition type to Expression and add a new clause. Set the category to Device, set the condition to Operating system, and select all of the 64-bit operating systems.
Creating a new custom global condition for 32-bit operating systems
Repeat this process for 32-bit applications. You should now have two custom global conditions listed under all Global Conditions.
When you edit the requirements window for any application, you can see your new condition by changing the Category to Custom and selecting your OS Architecture condition.
A custom 64-bit global condition in the application requirement window
Although you could technically create one condition and set the value to either true or false, I prefer two separate conditions. This allows me to easily read the requirement section without evaluating a statement. As you can see, using device collections and global conditions makes multi-architecture applications easy to manage!