

Running the WQL against the ProductName property seems to be a good way to go. UninstallString: "C:\Program Files (x86)\Mozilla Firefox\uninstall\helper.exe" SoftwareCode: mozilla firefox 23.0.1 (x86 en-us) ProductName: Mozilla Firefox 23.0.1 (x86 en-US) InstalledLocation: C:\Program Files (x86)\Mozilla Firefox I find the following Firefox related object: ARPDisplayName: Mozilla Firefox 23.0.1 (x86 en-US)ĮvidenceSource: CPXCCCCCCXCXCXCXXXXXCXXXXX I'm reasonably sure that SMS_InstalledSoftware is the best place to run queries against when trying to evaluate whether or not something is installed as Win32_Product is only for Windows Installer installed software. I used Scriptomatic to just dump everything in the SMS_InstalledSoftware WMI Class which is part of the root\cimv2\sms namespace. Now that best practices recommends that we keep our targeting logic bundled with the Application what we need to do is create an appropriate WQL query Global Condition and then we can evaluate it using the Application's Requirements. All my attempts to build my WQL query based Global Condition result in a wbemErrTypeMismatch error ( 2147749893 (0x80041005)). I'm trying to replicate the same logic using the Application-Program's Global Conditions and Requirements logic. Once we had the Collection created we would then deploy our Package-Program against it.

Where SMS_G_System_SoftwareProduct.ProductName like "Mozilla Firefox" On SMS_G_System_SoftwareProduct.ResourceId = SMS_R_System.ResourceId Using the SCCM 2007 Package-Program model we would create a Collection based on a WQL query that contained all workstations with Firefox installed: select * from SMS_R_System inner join SMS_G_System_SoftwareProduct We only want to deploy Adobe Flash Player Plugin to workstations that have Firefox installed. I'll use Adobe Flash Player Plugin as an example. This has a number of positive benefits - Collections are used purely for hierarchical or logical grouping, we get a more seamless Application deployment when using Supercedence, and improved Detection logic. Now that we have moved from SCCM 2007 to SCCM 2012 SP1 it was recommended that we move that logic to the Application-Program model and implement it using Global Conditions and Requirements. We have been handling all of our targeting logic for Packages (and now Applications) with Collections.
