One of the powerful feature of Group Policy that have been around since its inception has been the ability to deploy and manage MSI based applications. Once senario you might find yourself in due to increasing popularity of Windows x64 is how do you deploy the right version of an application to your SOE however you are still running a mixture x86/x64 environments. Normally you can just deploy the x86 version of an application to both x86/x64 platforms however there are some scenarios where this might not be possible or simply not ideal.
Below I will show you how to prevent the deployment of the example application the “Geosense for Windows” to computer running Windows x64. Now this program is a good example as it come in both x86 and x64 bit versions as it comes with software-driven location sensor driver for Windows 7. Drivers are of course one of the few types of x86 applications you can install on a x64 versions of Windows. You may also want to use this option if you have a high performance x64 version of an application that can take advantage of the system with greater than 4gb of ram.
Step 1. Open the properties of the x86 application you want to prevent deploying to x64 Windows
Step 2. Click on the “Deployment” tab
Step 3. Click on “Advanced…”
Notice that by default that Make 32-bit X86 application available to Win64 machines is ticked…
Step 4. Un-tick “Make 32-bit X86 application available to Win64 machines”
Step 5. Click “OK”
Now the application will no longer try to install on x64 version of Windows.
So now you have prevent installing 32-bit version of the application on 64bit version of Windows how do I prevent x64 version of application from installing on 32-bit versions of Windows? Nothing.
As you can see below when you add an MSI for a 64bit application it detects the platform that it has been compiled so that it wont try and deploy x64 applications to x86 versions of Windows.
Also note the “Make 32-bit X86 application available to Win64 machines” is not shown as option does not apply.