In this blog I will be discussing about SCCM deployment type and priority order. I will be discussing about one of the most important aspect of SCCM applications with multiple “Deployment Types” and its impact based on priority.

Usually applications & its deployment types are compared with Package & Program (Old way of deploying the application), but there is a huge difference when we compare Application Model with Package model.

Package & Program

When we talk about package, we can have multiple programs under 1 package. Hence, giving us flexibility to deploy our choice of program (command line) to execute the application. We can have multiple applications used as a single source in a package, while using individual programs to install specific applications.

Application & Deployment types

Under 1 application you can have multiple deployment types, however you can’t use 1 specific deployment type to deploy on collection. Rather “Deployment types” comes handy in a different way which is more suitable for targeting the application based upon different OS architect, physical memory etc.

Example: Deploy 7-zip application with 32 bit and 64 bit based on OS architecture.

Under 7-zip application, we can create 2 “Deployment Types”, 1 each for 32-bit and 64-bit application, each Deployment type will be using its own content with its own command line. Please find below screenshot from the application I created with 2 deployment types.

32-bit application showing as “7-Zip 19.00 – x86” Deployment Type.

App DeploymentType 01

While 64-bit application showing as “7-Zip 19.00 (x64 edition)” Deployment Type. Kindly note, this has different content ID as compared to 32-bit version.

App DeploymentType 02

With 32-bit deployment type, I have specified under “Deployment Types” to have requirement met as “Windows 10 (32-bit)”. 

App DeploymentType 03

I did the same with 64-bit deployment type, by specifying “Windows 10(64-bit)” requirement set under “Deployment Types”.

App DeploymentType 04

We are all set to deploy Application “7-Zip” to workstations, hence there is no need to have 2 separate collections to be deployed each for 32-bit and 64-bit. As we have 2 deployment types specified, each will be responsible to install application based upon same architecture.

Understanding Priority

You can see there is a priority number defined for each Deployment type. This plays important role while deploying the application. In above example we know that 32-bit app will get only installed to 32-bit OS architecture and so on for 64-bit app.

App DeploymentType 05

What will happen if a system is part of multiple “deployment Types”

If we make a little twist and define “Deployment types” in such a way that system is part of both “deployment Types”. While keeping the priority set as follows:

Deployment Type “7-Zip 19.00 -x86” have requirements “{All Windows 10 (64-bit), All Windows 10(32-bit)}

App DeploymentType 06

Deployment Type “7-Zip 19.00 (x64 edition)” set to “All Windows 10 (64-bit)

What will be deployed on 64-bit Windows 10 system ?

Deployment Type has become ambiguous for the system as condition for both the “Deployment Types” have met:

  1. System is part of either 64-bit or 32-bit condition.
  2. System is also part of 64-bit condition.

In this case priority comes into picture. Priority of Deployment Type with lower number always wins if machine is part of multiple Deployment Type. Hence, even though OS architecture of system is 64-bit, 7-zip 19.00 -x86 will get installed as it has lower priority number.

We can verify this by deploying on a system.
7z1900.msi deployed successfully and created the installation directory under “c:\Program Files(x86)\7-Zip”

App DeploymentType 07

Final Note

Hence, it is important to understand when creating multiple deployment types.

  • Deployment Types requirement should be unique, hence avoiding any ambiguity.
  • System will install only 1 type of Deployment Type. If you want to install multiple application, then create application for each.
  • While deploying application with multiple deployment types through Task Sequence, it won’t ask you to specify Deployment Type as priority is responsible for deploying the application, hence don’t treat “Deployment Type” feature equivalent to package/program feature.
  • Every Deployment Type uses its own content along with its own command line to install/uninstall and detection logic.