SCCM Package Vs Application 32 Vs 64 Context

Let’s understand the differences between SCCM Package Vs Application 32 Vs 64 Context. Discussing the differences between SCCM CB packages and the application model is not new.

I have seen several posts and discussions about the advantages of using an application model rather than “classic” packages. Let’s see more details about the SCCM Package Vs. Application.

I recommend using applications rather than packages for several reasons. I’m not getting into the details of the advantages of using the SCCM CB application model.

In this post, we will see a video experience of the SCCM CB package running in 32-bit and the application running in a 64-bit context. SCCM 2007 was a 32-bit application, and if I understand correctly, SCCM 2007 packages always run in a 32-bit context.

Patch My PC

SCCM CB Package Runs in 32 Bit Context and Application in 64-bit – SCCM Package Vs Application 32 Vs 64 Context

In this video, you will get all the details about the SCCM CB Package Runs in 32 Bit Context and Application in 64 Bit. Create and RUN Powershell script almost in real-time through the SCCM CB version. Real-time example scenarios are explained in the video.

SCCM Package Vs Application 32 Vs 64 Context – Video 1

History of SCCM Packages?

This could be because the package implementation is simply a 32-bit code. The packages can’t run in a 64-bit context. Is this true for SCCM CB as well?

SCCM Package Vs Application
SCCM Package Vs Application 32 Vs 64 Context – Fig.1

Per my testing and video tutorial here, the packages in SCCM CB always run in a 32-bit context. This statement is true for Windows 10 32-bit and 64-bit machines. It won’t be easy to understand and reproduce this scenario when deploying MSI or EXE applications as a package.

The MSI/EXE applications, packaged to run only with 32-bit, will work fine with SCCM CB packages. However, these apps will fail when trying to convert these 32-bit packages into a new application model.

Adaptiva

To fix this issue, we need to enable an option in the SCCM app model (Deployment type properties) called “Run installation and uninstall the program as 32-bit process on 64-bit clients“.

Programs
Run installation and uninstall the program as 32-bit process on 64-bit clients
SCCM Package Vs Application 32 Vs 64 Context – Table 1
SCCM Package Vs Application 32 Vs 64 Context - Fig.2
SCCM Package Vs Application 32 Vs 64 Context – Fig.2

How to Confirm SCCM Packages Run with a 32bit Code?

I created a PowerShell script to use package options in SCCM CB. Navigate \ Software Library \ Overview\Application Management\Packages” and right-click and create a package with the PowerShell script. Deploy the script to a Windows 10 64bit machine.

When we deploy the PowerShell script to a Windows 10 64-bit machine, the Windows PowerShell 32-bit application is executed, as shown in the video above. This proves that the SCCM CB package uses 32-bit code, which can’t run in a 64-bit context.

You can deploy 64-bit MSI/EXE/Scripts using SCCM packages. The best method is to run the package from the SysNative context. Sysnative is a virtual folder that will help us access the 64-bit System32 folder from a 32-bit application or script.

SCCM Package Vs Application 32 Vs 64 Context - Fig.3
SCCM Package Vs Application 32 Vs 64 Context – Fig.3

SCCM CB Software Center client is still a 32-bit application. The app SCClient(32-bit) is visible in the above picture. This proves that the new software center is a 32-bit client on a Windows 10 64-bit machine.

How to Confirm SCCM Applications Run with 64-bit Code?

SCCM CB application always runs in a 64-bit context. By default, all the applications created using the SCCM CB app model use 64-bit context to start the execution. Your 32-bit application will fail if you create and deploy an SCCM application to clients.

When a specific requirement to run within a 32-bit context exists, you need to enable the following option: “Run installation and uninstall the program as a 32-bit process on 64-bit clients.” You can find this option in Application—deployment type properties.

To prove SCCM applications use 64bit context to run MSI/EXE/Scripts, I have created an application via \Software Library\Overview\Application Management\Applications. I used the same PowerShell script (which I used to develop the SCCM package). Deployed application to Windows 10 device.

As you can see in the video here, I initiated the PowerShell execution from the software center. The PowerShell script (Windows PowerShell) runs within a 64-bit context. When deployed as an SCCM package, the same PowerShell script ran in a 32-bit context.

SCCM CB Task Sequence Runs within a 64bit Context

The Task Sequence in SCCM CB runs within a 64-bit context. However, the SCCM CB TS engine provides a similar option for applications to run 32-bit applications/scripts.

The option is to enable the following: “Run installation and uninstall the program as 32-bit process on 64-bit clients“.

References – SCCM Package Vs. Application

  • SCCM Application Versus Package – here
  • ConfigMgr 2012 and 32-bit Application Installers – here
  • PowerShell App Deployment Toolkit – here

We are on WhatsApp now. To get the latest step-by-step guides, news, and updates, Join our Channel. Click here. HTMD WhatsApp.

Author

Anoop C Nair is Microsoft MVP! He is a Device Management Admin with more than 20 years of experience (calculation done in 2021) in IT. He is a Blogger, Speaker, and Local User Group HTMD Community leader. His main focus is on Device Management technologies like SCCM 2012, Current Branch, and Intune. He writes about ConfigMgr, Windows 11, Windows 10, Azure AD, Microsoft Intune, Windows 365, AVD, etc.

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.