SCCM 2012 application detection keeps detecting uninstalled program

sccmsccm-2012

I have an application (Adobe Acrobat DC) that installs just fine, using the detection method pulled from the MSI (looks for the GUID {E89A7DBA-B343-4476-82B6-980A10E13334} ).

However, if the application is uninstalled from the client PC, the detection still insists that the application is available (the PC is still in the appropriate collection in SCCM). If I remove the PC from the collection and refresh everything, Acrobat disappears from the Software Center on the PC. If I then add the PC back to the collection and refresh, Acrobat reappears in Software Centre and insists it is installed despite it not being referenced anywhere.

I've removed any reference to the GUID in the registry, and the app does not show up if I run "wmic product get Name, IdentifyingNumber".

Where is the detection finding Acrobat on this PC? I'm thinking I may need to change the detection to look for the acrobat.exe file to detect if it's installed…

Best Answer

"Where is the detection finding Acrobat on this PC?" - You can use DeploymentMonitoringTool.exe on the client to view the detail information of the deployment including the detection method. In your case using a MSI Code, it's querying the product code from WMI.

"if the application is uninstalled from the client PC, the detection still insists that the application is available (the PC is still in the appropriate collection in SCCM). " - Uninstall application from client will not change the membership of the collection Unless this collection is based on querying the existence of this application. If the later, this isn't a good practice as your query may based on hardware inventory data which is uploaded on a schedule time.

If you remove PC from the collection which the application deployment targeted, it will be sure that application disappear from software center. If you add the PC back to the collection, client will evaluate the detection method of the deployment type - If the product code is detected, it will not appear in Software Center; if the product code is not detected, it will show in Software Center and show as 'available' to be installed (Not installed yet).

The appdiscovery.log will show if the application installed or not and then you'll clear.

Detecting the existence of Acrobat.exe is not the best way as: 1)There can be just a copy of installation folder in other Dir. 2)There may be other version of Acrobat in your environment.