SCCM Collection Based on Installed Application Version

Let’s find out the best way to create an SCCM Collection based on Installed Application and its version. You can create a collection based on the application installed on Windows 11 or Windows 10 PCs.

SCCM dynamic device collections based on the installed application can sometimes be tricky because of the dependency on hardware inventory. The hardware inventory schedule might delay getting the latest information available on Windows PCs.

You need to avoid creating collections based on each application installed to reduce the impact of high-cost collection evaluation and performance issues. This post is just for education purposes and testing in the lab environment.

It would be best if you tried to use the implicit uninstall feature introduced with the SCCM 2107 rather than using collection based on the installed application. When a resource is in a collection, the application installs. Then when you remove the resource from the collection, the application uninstalls.

Patch My PC

Check Installed Application Details from Resource Explorer

Let’s check the installed application from SCCM resource explorer. This helps to confirm whether the hardware inventory is working or not. These details available in resource explorer can help us with troubleshooting scenarios.

  • Launch SCCM Console.
  • Navigate to \Assets and Compliance\Overview\Devices\ and select one device.
  • Right-click on one of the devices and select Start and click on Resource Explorer.

You need to check the Hardware History section from resource explorer and Navigate to Installed Software – Current node to get all the list of applications/software installed on Windows 11 or Windows 10 PC.

SCCM Collection Based on Installed Application Version
SCCM Collection Based on Installed Application Version

NOTE! – Don’t get confused between the nodes called Installed Applications and Installed Applications (64) because it won’t give the consolidated list of x86 Vs. x64 versions of apps.

Create SCCM Collection Based on Installed Application

Let’s see how to create an SCCM collection based on the installed application on Windows PC. You can create a collection based on any of the applications. I create a collection based on the Google Chrome application installation status.

Adaptiva

The dynamic device collection created based on Google Chrome installed Windows PC helps to target Google Chrome upgrade scenarios; however, I don’t recommend using this method for upgrading the Chrome version.

Instead, you should use requirement rules and supersedence features available in the SCCM application model to upgrade the Google Chrome version of Windows PCs.

Open SCCM Admin console.
Navigate to \Assets and Compliance\Overview\Device Collections.
Right Click Device Collection node and select Create Device Collection.

SCCM Collection Based on Installed Application Version
SCCM Collection Based on Installed Application Version

Let’s specify the basic details of the device collection.

  • Enter the Name Of the Collection – HTMD Google Chrome Installed Devices.
  • Enter the Description of the Collection – HTMD Google Chrome Installed Devices – Installed Software.
  • Select the Limiting collection – Select a collection to use as a limiting collection.

What is SCCM Limiting Collection? The limiting collection establishes the resources you can add to this collection using membership rules. And click on the Next button to continue.

NOTE! – Avoid using All Systems or All Devices collection as Limiting Collection as explained in fix SCCM Limiting Collection Issue.

SCCM Collection Based on Installed Application Version
SCCM Collection Based on Installed Application Version

Create WQL Query to find out the Devices with a specific Application Installed

In this section of the post, let’s check how to create WQL Query to create a collection based on installed app or software details for Windows devices. You can create WQL Query to find out the devices with a specific application installed.

The membership rules determine the resources included in the collection and when it updates. You can use membership rules to add specific attributes or a set of attributes from the list of WMI tables. In this case, it’s based on the Installed software (Google Chrome) of a particular Windows 10 or Windows 11 device.

  • From the Membership Rules page of the Create User Collection Wizard, in the Add Rule list,
  • Select the type Query Rule membership rule for this collection.

You can configure multiple query rules for each collection. Select Query Rule to continue with the creation of dynamic device collection.

Create WQL Query to find out the Devices with a specific Application Installed
Create WQL Query to find out the Devices with a specific Application Installed

On the Query Rule Properties windows, specify the following information, such as the query’s name, resource class, etc.

  • Enter the Unique Name of the Query – HTMD Query-based installed software.
  • Select the Resource Class as System Resource for device collection.
  • Click on the Edit Query Statement button to continue building dynamic queries from Query Statement Properties.
  • Click on the Criteria tab to continue.
  • Now, you need to click on the * button from the results window to build the dynamic device collection based on the Installed software/application.
Create WQL Query to find out the Devices with a specific Application Installed
Create WQL Query to find out the Devices with a specific Application Installed

From the Criterion Properties window, click on the select button to select the Attribute for the WQL query. You need to choose different attributes from the “Criterion Properties” window from the ” Criterion Properties ” window.

  • Criterion TypeSimple Value.
  • Click on the Select button.
Create WQL Query to find out the Devices with a specific Application Installed
Create WQL Query to find out the Devices with a specific Application Installed

From the select attribute window, you need to select class, alias as, Attribute, etc. As shown in the below list, you need to create a WQL query based on Installed Software.

  • Attribute ClassInstalled Software (from the drop-down list).
  • Alias asNo Alias.
  • AttributeARPDisplay Name.
  • Click on the OK button to continue.
Create WQL Query to find out the Devices with a specific Application Installed
Create WQL Query to find out the Devices with a specific Application Installed

The Where field in the Criterion Properties window is filled with the value with Installed Software – ARPDisplay Name as explained in the above list.

  • Operatoris queal to.
  • Click on the Value button.
  • Select Google Chrome from the Values window.
  • Click on the OK and OK buttons to continue.

NOTE! – If you don’t see the software or application in the list of installed Software means that the hardware inventory details of that application are not received from the Windows device.

Create WQL Query to find out the Devices with a specific Application Installed
Create WQL Query to find out the Devices with a specific Application Installed

You can click on the Show Query Design button from the Query Statement Properties window to copy the WQL query for the installed application.

select *  from  SMS_R_System inner join SMS_G_System_INSTALLED_SOFTWARE on SMS_G_System_INSTALLED_SOFTWARE.ResourceId = SMS_R_System.ResourceId where SMS_G_System_INSTALLED_SOFTWARE.ARPDisplayName = "Google Chrome"
SCCM Collection Based on Installed Application Version 1

WQL Query Results Preview – Installed Application based Dynamic Device Collection

Let’s validate WQL Query with the Query Results Preview option in SCCM. This helps to confirm whether the WQL query (Dynamic query) based on the Installed application is working fine or not.

  • Click on the GREEN video play button from the Query Statement Properties window.
  • Click on the RUN button from the Query Results Preview window to get the results of the WQL query.
  • Check the results and if it’s ok, click on the Close button.

I see query results preview gives the Product name, version, etc., details of Google Chrome. Remember, this is not recommended using in a production environment.

Create WQL Query to find out the Devices with a specific Application Installed
Create WQL Query to find out the Devices with a specific Application Installed

Include Version Filter to Existing Dynamic Query for Collection

Let’s check how to add additional filters such as Installed Application Version details to the existing dynamic query for Collection.

  • You can go to the properties of the Google Chrome Collection Device.
  • Click on the Membership Rules tab.
  • Select the Membership rules called “HTMD Query-based Installed Software” and click on the Edit button.
Include Version Filter to Existing Dynamic Query for Collection
Include Version Filter to Existing Dynamic Query for Collection

From the Query Rule Properties – click on Edit Query Statement – go to the Criteria tab and click on the * button to add version details of installed software.

Include Version Filter to Existing Dynamic Query for Collection
Include Version Filter to Existing Dynamic Query for Collection

From the Criterion Properties window, click on the select button to select the Attribute for the WQL query. You need to choose different attributes from the “Criterion Properties” window from the ” Criterion Properties ” window.

  • Criterion TypeSimple Value.
  • Click on the Select button.

From the select attribute window, you need to select class, alias as, Attribute, etc. As shown in the below list, you need to create a WQL query based on Installed Software.

  • Attribute ClassInstalled Software (from the drop-down list).
  • Alias asNo Alias.
  • AttributeProduct Version from the drop-down list.
  • Click on the OK button to continue.
Include Version Filter to Existing Dynamic Query for Collection
Include Version Filter to Existing Dynamic Query for Collection

The Where field in the Criterion Properties window is filled with the value with Installed Software – Product Version as explained in the above list.

  • Operatoris greater than.
  • Click on the Value button.
  • Select Google Chrome version (98.0.4758.102) from the Values window. (You have to check the resource explorer as discussed above to get the version details of Chrome)
  • Click on the OK and OK buttons to continue.
Include Version Filter to Existing Dynamic Query for Collection
Include Version Filter to Existing Dynamic Query for Collection

As discussed in the above section, you can check and validate the WQL query with the Query Results Preview. You can check whether the WQL query is working as expected or not.

Include Version Filter to Existing Dynamic Query for Collection
Include Version Filter to Existing Dynamic Query for Collection

Finish Creation of SCCM Collection based on Installed Application

Let’s complete the process of creating the SCCM Dynamic Device Collection based on the Installed Application in this section of the post.

Click the OK and OK buttons to complete the dynamic query creation process.

Click on the Next button to continue. I normally keep the default Full Update Schedule for the collection. Also, it’s better to avoid using the option called “Use Incremental updates for this collection.”

Create SCCM Collection based on Installed Application - Finish Creation of SCCM Collection based on Installed Application
Create SCCM Collection based on Installed Application – Finish Creation of SCCM Collection based on Installed Application

Let’s complete the dynamic device collection based on the installed application creation process by clicking on the Next button three (3) times and clicking the Close button.

Create SCCM Collection based on Installed Application - Finish Creation of SCCM Collection based on Installed Application
Create SCCM Collection based on Installed Application – Finish Creation of SCCM Collection based on Installed Application

TroubleshootingFix SCCM Collection based on Installed Application?

Let’s see how to start troubleshooting and Fixing SCCM Collection based on the Installed Application? The following are some of the tips where you can start troubleshooting.

You can check the collection evaluation details from the console “\Monitoring\Overview\Collection Evaluation” node. You can get more information from the CollEval.log file.

In this example, the Collection ID = MEM0002D. Check out the Run Time (ms) taken to complete the Full evaluation of the Google Chrome collection, and the Run Time is 1218.

Create SCCM Collection based on Installed Application Troubleshooting - Fix SCCM Collection based on Installed Application?
Troubleshooting – Fix SCCM Collection based on Installed Application?

Results – Installed Application Dynamic Device Collection

Now, ConfigMgr Collection based on Installed Application is ready for App Deployment. I have not included the results with the version filter.

Results - Installed Application Dynamic Device Collection
Results – Installed Application Dynamic Device Collection

There are six (6) devices with Google Chrome Installed, as you can see in the below screenshot. I used the Installed Software attribute to create a dynamic device collection based on Installed Software – Google Chrome.

Results - Installed Application Dynamic Device Collection
Results – Installed Application Dynamic Device Collection

Author

Anoop is Microsoft MVP! He is a Solution Architect in enterprise client management with more than 20 years of experience (calculation done in 2021) in IT. He is 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……………

5 thoughts on “SCCM Collection Based on Installed Application Version”

  1. really useful article, thank you!

    one question I have is how often does SCCM update the Installed Software list for each client
    (e.g. it is the software deployment schedule or Inventory setting in client settings)

    Reply
  2. Would this not select machines that had “Google Chrome” installed as well as any machines that had “MyApp” v. 98.0.4758.102 installed?

    I think the query needs be select where version = 98.0.4758.102 from (select from where “Google chrome installed”)

    Reply

Leave a Comment

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