How to filter out Platform Specific Applications October 30, 2009
Posted by keithga in MDT 2010.trackback
A common question that comes up every now and then is:
Using the Microsoft Deployment Toolkit deployment wizard, how do I filter out x86 applications when installing a x64 OS, and vice versa?
Say you have two applications defined in the MDT Management Console:
- 7-Zip (x86 version)
- 7-Zip (x64 version)
You have done the right thing and marked each one with the correct client platform types (See my previous blog entry). For x86, the new Platform Types in MDT 2010 are:
- All x86 Pre-Vista
- All x86 Vista and Newer
And for x64, the new Platform Types are:
- All x64 Pre-Vista
- All x64 Vista and Newer
However, when you start up the Litetouch Deployment Wizard in MDT 2010, it does not filter out the “7-Zip (x86 version)” when installing a x64 OS, and does not filter out “7-Zip (x64 version)” when installing a x86 OS. This is by design.
The file ZTISupportedPlatforms.xml contains a list of all platform types, the corresponding WMI Query Language (WQL) string used to validate each Supported Platform Types.
Unfortunately, the WQL string needs to be validated during the actual application, not during the Deployment Wizard pages. Most of the time, the Wizard Page is not running on the same as the OS we are installing to, so the Supported Platforms WQL test will return back false information. Supported platforms can only be evaluated during the actual install when the OS is running.
So how do we get the only one Application or the other to display?
The trick here is to create a “Application Bundle”. An Application Bundle is an Application defined in the MDT Management Console, that does not perform any application installation itself, but instead contains a dependency on other applications that do the actual installation.
In the case above we would create a new Application Bundle in the Management Console called “7-Zip” that is dependent on “7-Zip (x86 version)” and “7-zip (x64 version)”.
We would also go back to the “7-Zip (x86 version)” and “7-zip (x64 version)” entries and mark them as “Hidden” in the Property Pages.
- 7-Zip <—New dependent on 7-zip x86 and x64
- 7-Zip (x86 version) <– Hidden
- 7-Zip (x64 version) <– Hidden
Now in the Microsoft Deployment Toolkit Deployment Wizard Page we will see only one entry
- 7-zip
When it comes time to perform the actual installation, the ZTIApplications.wsf script will see that 7-Zip is dependent on two other items. When it tries to install the other two applications, only one will pass, depending on the platform type specified. The other platform type will not error, but silently continue.
Keith
Keith Garner is a Deployment Specialist with Xtreme Consulting Group
Hello Keith,
is it possible to filter different languages?
Hi Keith,
I can’t get ZTIApplications.wsf to install applications marked as hidden, even though they are enabled. I even tried to install them as MandatoryApplications via CustomSettings.ini, but BDD.log says that there are no applications to install. non-hidden applications are installed normally.
can you advise?
Hidden applications can only be installed by using MandatoryApplications like this:
MandatoryApplications001 = {GUID}
where {GUID} is the GUID of the application in the Deployment Workbench
Hi tmintner, thanks for your reply.
As I said in my first comment, I tried to install the hidden applications as MandatoryApplications via CustomSettings.ini, but BDD.log still says that there are no applications to install…