Managing 32 bit and 64 bit versions of applications using Global Conditions, Requirement Rules and Deployment Types
In CM07 (System Center Configuration Manager 2007, or SCCM 2007) collections were used to determine any installation prerequisites. If different architecture versions of the same application needed to be distributed, two separate collections would need to be maintained as targets for the advertisements.
CM12 (System Center 2012 Configuration Manager) makes this simpler by including the concept of requirement rules that are evaluated at install time. Creating requirement rules eliminates the need for multiple collections to manage targeting of x86 and x64 versions of the same application.
We can simplify the administrative overhead even further by incorporating global conditions into the requirement rules.
This method is easier than using collections for target as the OS version is detected at install time. Additionally, using global conditions is easier than creating requirements rules for each application deployment type.
Before I walk you through an example, consider the following scenario:
- You are running CM12CU2
- You have ten applications that each use a requirement rule that addresses x64 versions of Windows XP and Windows 7
- You update to CM12SP1 which includes support for windows 8
- You now have to update all ten applications requirement rule to support Windows 8 x64
- If you had used global conditions instead, you would only need to update the one global condition and all of the applications requirements would automatically be updated to support Windows 8 x64
Let’s try an example with 7-Zip since it has both x86 and x64 versions, we can create a single application with two deployment types, each using a requirement rule and each requirement rule uses a global condition that specifies that the deployment type should only run on the specified architecture version of specific operating systems. In the images below, I have already upgraded my system to SP1 so support for Windows 8 is already visible in some of the screen shots.
Overview – Creating Applications with Global Conditions, Require Rules and Deployment Types
This overview assumes that you are already familiar with Applications and Deployment types. More details are provided on Global conditions and Requirement rules.
Create the Global Conditions
- Create Two Global Conditions for OS Architecture (one x86 and one x64)
- Navigate to Software Library\Application Management\Global Conditions
- Click Create Global Condition
- Provide a Name such as OS Architecture x64
- Provide a Description (Optional)
- Change the Condition type to Expression
- Click Add Clause
- Set the Category to Device
- Set the Condition to Operating System
- Set the Rule Type to Value
- Set the Operator to One of
- Select all of the x64 OS versions that you want to support with this GC (if you are running CM12 SP1 or later, you can also select Windows 8 versions)
- Click OK
- Validate the Global Condition and then click OK
- Repeat the process for x86 Architectures
Create the Application and Deployment Types
- Create a source folder with both x86 and x64 MSI versions on the application. For my example I used 7-Zip
- Create an Application and select the x64 version of the MSI
- Create a new Deployment Type of x86 and select the x86 version of the MSI
- Add the new Global Conditions as requirements for each Deployment Type
If you created the GC before installing SP1, you can simply update the Global condition to support Windows 8 x64 once SP1 is applied.
This same method can be used to support RT (ARM) and x64 versions of Windows 8 applications.
Over the years, I have read many books about Systems Management Server (SMS), and Configuration Manager (CM). Most of them have been focussed on preparing readers for the relevant Microsoft certification exam or theoretical explanations of how the system works and how to configure it for basic functionality. These types of publications are great for new users of products looking to get a basic working knowledge of CM.
This book is different. It I written by professionals who have years of in depth experience with the technology in some extreme use case scenarios. This background gives them some rather distinctive perspectives on how to get more out of a CM infrastructure. Whereas traditional books on the subject focus on the “What” and the “How”, Brian and Greg also include the “Why”. For example, they include decision making frameworks that help the reader decide what is best for their particular implementation, use case scenarios, and other objectives. In situations where the best practice might prove impractical, they provide rationale for making trade-offs (E.g. budget vs. performance, Application Catalog vs. Software Center).
CM is a complex product. Each of its modules could easily be a product in itself. There are dozens of point solution products aimed specifically at a sub feature of CM. As such, this book is not targeted at somebody who is new to the technology. There aren’t a lot of pages spent on how to install the software or the basic functionality. Rather, the writers assume a basic understanding of the feature set (easily obtained form on of the dozen or so traditional books available on the subject) and provides a series of in depth modules intended to help a generalist administrator get more out of a specific feature as the need arises.
The organization of the book into a series of recipe cards lends itself to be easily consumed. You don’t need to read it cover to cover. You can jump right in to the topic that you currently need to learn more about. Each topic is organized into the following sections:
- Getting Ready – What’s you’ll need before you start
- How to do it – Step-by-step instructions
- How it works – An explanation of the mechanics of the product
- There’s more – Additional information should your requirements be a little more complex
- See also – Additional resources if relevant
This recipe book firmly establishes Greg and Brian as CM Iron Chefs. I will be recommending this book to all of my customers. Buy it directly from Packt Publishing.
Full disclosure: I have met both Brian Mason and Greg Ramsey multiple times. They did not approach me to review this book. I was asked by the publisher to review this book. As a token of their appreciation once my review is completed, I will receive a free eBook from Packt Publishing.