How to List All Installed Applications From the Command Line

This article describes how to list all installed MSI packages. A more comprehensive listing of all applications displayed in Programs and Features can be obtained through our monitoring and analytics product uberAgent.

How to easily create a list of all programs and (MSI) packages installed on a system for later processing? That sounds like a simple task, and it is. Interestingly, a quick web search revealed primarily more complex solutions where a script is used to iterate through the uninstall information in the registry. That not only is far too complicated, but also inaccurate.

Putting WMIC to Work

As often, the local WMI database contains all the information we need. The simplest way of extracting the required data is via the WMI command line, wmic:

wmic product

wmic product

Yes, that is all. It runs for a while and then spits out very detailed information on what is installed on the local system. If you need the information in a file for later processing, use the following variation of above command to have wmic create a CSV file:

wmic product get /format:csv > Software_%Computername%.csv

wmic product get /format:csv > Software_%Computername%.csv

The result is a nice complete list in CSV format in a file that already contains the computer name for easier processing later on. Here is some sample output from my machine:

Techibee,
PowerShell or not, you should use WMI to get the data. I have not compared the results, that those from WMI are more accurate and also more detailed than those from the uninstall registry key.

For some reason the WMIC command didn’t list everything shown in the ‘Programs and Features’ hmmm. The Reg Query hardly shows anything. PowerShell has a nice output view, but still doesn’t show everything I have installed as does Programs and Features, but showed software that wasn’t shown in WMIC command, strange.