Install 32-bit and 64-bit applications with Group Policy and SCCM

Some applications have separate installers for 32-bit and 64-bit operating systems. By using Group Policy or SCCM, you can merge deployments together to make management easier.

Having to test, deploy, and manage dozens of applications is difficult enough. Managing applications across multiple architecture types can be downright tricky. There are many ways to deploy multi-architecture applications, including using WMI filters and architecture security groups. I prefer to keep things simple, though. Simple means fewer parts and more automation.

Group Policy and SCCM support multi-architecture deployments that require just a one-time setup. Let’s start by covering these deployments with a Group Policy software installation and then look at SCCM.

Installing X86 and X64 applications with a Group Policy ^

In both parts of this article, we will be using 7-Zip as our test application. It comes in both architecture flavors. Download both versions in a share accessible by domain computers. Create a folder named 7-Zip, a sub-folder for the version, and an additional folder for each architecture. Your software share structure should now look like this:

Splitting up the application into architecture folders will reduce network traffic if you move to SCCM.

Splitting up the application into architecture folders will reduce network traffic if you move to SCCM.

Create a new GPO and a security group named APP_7-Zip. Scope the GPO so that it is linked to an OU containing X86 and X64 test computers and only applies to your APP_7-Zip security group. Edit your GPO and navigate to Computer Configuration/Policies/Software Settings/Software installation.

Add a new package and browse to your X86 application. For the deployment method, select Advanced. On the Properties page, select Advanced (again) and uncheck Make this 32-bit X86 application available to Win64 machines.

This will prevent X64 machines from installing the X86 application.

This will prevent X64 machines from installing the X86 application.

Set any additional options (such as adding MSTs under Modifications), and then add a second new package. Add your X64 application. You do not need to make any advanced deployment changes with this package. You should now have two applications listed in your GPO.

This GPO will now install applications based on architecture.

This GPO will now install applications based on architecture.

If you reboot an 32-bit and an 64-bit client, they will each install their respective applications. With Group Policy software installation mastered, let’s cover architecture installs with SCCM.

Deploying 32-bit and 64-bit applications with SCCM ^

First, ensure that your applications are organized with the folder structure under the Group Policy software installation section. When the System Client evaluates the applications that need to be installed, content divided by architecture will ensure a faster caching time.

Terminology can be a bit confusing with SCCM. For simplicity’s sake, an application will contain multiple deployments (MSIs). These deployment types allow our computers to choose based on their architecture.

Start by creating a new application in SCCM. Instead of automatically detecting the MSI information, select Manually specify the application information. Fill out the general application information. Be sure to list a publisher and a software version.

Under Deployment types, select Add and then list your X86 application in the Location field. Under Name, be sure that the application name contains something like (x86 edition). This will make reporting easier after the install. Continue through the wizard until you reach the Requirements pane. Create a new Device requirement and change the condition to Operating system. Leave the Operator value as One of. This will allow you to specify OR statements.

Expand each operating system that you support and check the 32-bit version. Under Windows 7, you would check All Windows 7 (32-bit). Finish the wizard and then add a second deployment type. This time, import your X64 application. Be sure that the name contains X64 and set the OS requirements accordingly. Your requirements should look something like the screenshot below.

Configuring X64 OS requirements in SCCM

Configuring X64 OS requirements in SCCM

Under Deployment types, you should now have two items listed. When the SCCM client evaluates the application, it will check the requirements. This allows you to manage one application and one collection deployment.

Our completed application with two architecture dependent installs.

Our completed application with two architecture-dependent installs

Whether you use Group Policy or SCCM, you can deploy applications without worrying about the OS architecture. This makes your deployments and management easier. If you face other application issues, let me know in the comments below.

1+

Poll: Does your organization plan to introduce Artifical Intelligence?

Read 4sysops without ads and for free by becoming a member!

14 Comments
  1. Slim! 6 years ago

    Very good and usefull articel. Thanks 🙂

    0

  2. Author

    No problem and thank you!

    0

  3. Harish Kumar 4 years ago

    Hi Joseph,

    Very interesting article! Thank you very much for the detailed explanation.

    However, how do I pass on command line arguments to the .msi package?

    Example of the command line for the application install is:

    msiexec /package "application.msi" ApplicationContextID=87934798056483

    Thanks,

    Harish

     

    0

  4. Author

    Select properties for the application in SCCM - Deployment Types tab - edit your deployment - select the programs tab.

    From here, you can edit the installation program line at the top.

    0

  5. Harish Kumar 4 years ago

    Hi Joseph,

    Thanks for your reply!

    We do not use SCCM for deployment. Looking for an option to roll out using GPO or via a login script. Any suggestions?

    -HK

     

    0

  6. Author

    For a Group Policy rollout, add that property into the MSI itself. Download the MSI editing tool ORCA (it is a Microsoft tool). Edit the MSI and go to the property page. Find the property ApplicationContextID and paste in that number. If you don't see that property, create a new line in the property page. Be sure to back up your MSI first or generate these changes in an MST (ORCA calls this generate a transform).

    0

  7. Keith Eves 4 years ago

    Hi Joseph

    Good article.  Just one question, for now maybe>

    We have created separate application for 32 and 64 bit versions.  Can we just add the MSI to an existing package, or will we have to start from scratch?

    Thanks in advance

    0

  8. Author

    You can add the MSIs to an existing GPO (if that is what you mean).

    0

  9. Ranj Bassi 4 years ago

    Hi

    Thanks for this article.

    I did set this up we have a mixture of 32 bit and 64 Windows 7 OS however the 2 packages I need to install are for an Outlook Plugin and there is a x86 and x64, this solution works great if the machine and Office is x86 or machine is x64 and office is x64 but what would I need to do for machines where they are x64 but are running x86 office as this rule doesnt work for those.

    I have just found out that we have quite a number of machines with this configuration which has caused the SCCM deployment to fail.

    Any advice on what I could do for machines with x64 OS but with x86 MS office would be great.

    Thanks

    0

  10. Author

    You could do a file condition that checks to see where Office is installed. If it is located into Program Files, install the X64 version - if it installed in Program Files X86, install the 32bit plugin.

    0

  11. Asif Patil 2 years ago

    User is running a windows 7 machine with 64bit install, but the software centre is trying to download 32bit updates to the machine.
    This is causing any of his open programs to close down as it tries to install, fails and then retries again.

    0

  12. Daro 1 year ago

    Joseph Moody, my concern is, I have separated OU for pcs and I have granted by teams by OU but if we have new pc coming so my question is do we need to run all those commands to grant them again or not need to run? 

    0

  13. Author

    You should only need to run these once per machine.

    0

Leave a reply

Your email address will not be published. Required fields are marked *

*

© 4sysops 2006 - 2020

CONTACT US

Please ask IT administration questions in the forums. Any other messages are welcome.

Sending

Log in with your credentials

or    

Forgot your details?

Create Account