How to Check Installed Software in Windows 10 Using Cmd
In this simple guide, we will show you a few different ways of how to get a list of installed programs in Windows 10, 8, or Windows 7 using various tools, including built-in command-line tools. When it may be necessary? For example, the list of all installed programs can be useful when you re-install Windows and want to make sure you do not miss all the necessary apps. Also, a list of all installed apps in Windows will come in handy when you perform an audit, or when you want to find unwanted programs. You will also find a list of all installed programs useful if you accidentally deleted a shortcut or can't find some specific app.
How to Get Windows 10 Installed Programs List? Through Apps Folder.
The easiest way to get a complete list of applications with icons is to press the Win + R keys on your keyboard and then enter the following command:
shell:AppsFolder
It is particularly important to enter this command without any spaces, otherwise, it won't work.
Do note that in the bottom-left corner you can find the total number of installed apps in Windows. For your information: this number includes all the default Windows utilities, such as Control Panel, Disk Cleanup, Cortana, etc. In case you want to know the number of installed apps in Windows 10, use the next method.
Although simple, this method has one critical downside: you cannot generate a list of installed apps in Windows 10 from here. This folder only shows all the shortcuts you can copy or use to launch any installed app.
Get a List of All Installed Apps in Windows using Windows Settings
If you are running Windows 10, there is a very convenient section inside Windows Settings. It collects info about all installed apps and lets you quickly get a list of them. To get there, hit Win + I on your keyboard and go to Apps – Apps and features.
Or press Win + R and run the command:
ms-settings:appsfeatures
Here you can find the list of all installed apps, plus pre-installed from Microsoft Store. This list does not include default Windows Utilities. At the top of the list, you can find the apps counter.
What is also important is that this section allows you to filter the list and generate a list of all apps installed on a specific disk. For example, you want to find all the apps installed on a system drive. Just hit Filter by and select your system's drive.
Again, this section cannot generate a file with a list of all installed apps on a computer.
Generate a List of All Installed Apps in Windows 10
Ok, now let us talk about how you can generate a list of all installed apps in Windows 10 (works in older Windows versions down to Windows XP) and export it to use later. We will cover the built-in utilities below in this article, but here let us show you a wonderful tool called UninstallView. This utility is completely free and does not require installation. All you need is to download the UninstallView from the official website and launch it.
For your information. By default, UninstallView shows only win32 apps which is more than enough for most users. You can toggle it to show apps from Microsoft Store, but it is not very friendly with this type of apps. For example, each DLC in Forza Horizon 4 shows as a separate app which is not ok for us. You can load Microsoft Store apps using Options – Load Windows Apps menu.
Ok, launch the app and wait a few seconds for the app to generate the list. Now you can export and save it for later use.
- If you want to generate a list of all installed apps with all the details (version, path, registry key, and many others), skip the next step. If you want only the editable text file with a list of installed programs, perform the following steps;
- Press View – Choose Columns;
- In a new window, select Deselect all and place a checkmark next to the Display name. This will leave only a list of apps names;
- Now, press Ctrl + A and then hit Save selected items;
- Name the text file and place it wherever you want, then open it. Now you have a complete list of all installed apps on a PC. You can edit it as any text file;
How to Get a List of Installed Programs with Command Prompt and WMIC?
The list of installed programs on Windows can be obtained by using the WMIC command-line utility, which can access the WMI namespace. Run the elevated Command Prompt (use search and then run the app as Administrator), and execute the following command:
wmic product get name,version
After a short wait, you will see a table with a list of names and versions of programs installed on your system.
Wmic allows you to query remote computers through WMI. The following command lists the installed applications on the remote host:
Wmic /node:NyPC211swd product get name, version, vendor
To export this list into a text file, run the following command:
wmic product get name,version /format:csv > C:\InstalledApps_%Computername%.csv
This command generates a CSV file with your computer name in the title. After command execution, open the drive C. There you will find a CSV file with your apps. In addition to the app's names and versions, this list has the current computer name (it may be useful for further analysis or when you need to generate installed program lists from a few computers). Open this file using any text editor or Excel.
Also, in modern Windows versions the WMIC utility allows you to generate a convenient HTML report:
wmic /output:c:\IstalledApps.htm product get Name, Version, Vendor /format:htable
How to Get a List of Installed Programs in Windows 10 Using PowerShell?
Now, let us show you how to get a list of installed apps using PowerShell. PowerShell gets this list by scanning a special registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall. The Control Panel uses the same registry to generate the list of installed apps, although you cannot export this list. Do note that this registry key contains only programs installed "for all users".
For your information. For a 32-bit application on a 64-bit operating system, you need to get the content of the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall.
If an application was installed for the current user, then you can locate it using the following registry key HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall.
Running all three separate commands is not convenient, so let us show how to run them all simultaneously, so you can get the list of all apps installed on a PC:
- Press Win + X on your keyboard and launch the PowerShell (Admin);
- To generate a list of installed x64 applications, copy and paste the following command to the PowerShell's window:
Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall* | Select-Object DisplayName, DisplayVersion, Publisher, Size, InstallDate | Format-Table -AutoSize
- To get a list of 32-bit applications on your Windows device run then the following PowerShell command:
Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | sort-object -property DisplayName | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table –AutoSize
As you can see, the resulting list contains the program name, version, publisher, and installation date.
You can use the following PowerShell script to generate summary list both of x86 and x64 installed application and export it to a CSV formatted file:
function Analyze( $p, $f) { Get-ItemProperty $p |foreach { if (($_.DisplayName) -or ($_.version)) { [PSCustomObject]@{ From = $f; Name = $_.DisplayName; Version = $_.DisplayVersion; Install = $_.InstallDate } } } } $s = @() $s += Analyze 'HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*' 64 $s += Analyze 'HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*' 32 $s | Sort-Object -Property Name |Export-csv C:\ps\installedapps.csv
In PowerShell Core 6.x and 7.x you can query the list of installed win32 apps using the Get-CimInstance cmdlet:
Get-CimInstance Win32_Product | Sort-Object -property Name | Format-Table -Property Version, InstallDate, Name
To get a similar list of programs from a remote computer, run this command:
Invoke-command -computer remote_pc_name {Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table -AutoSize }
With PowerShell, you can compare the list of installed programs on two different computers and determine which apps are missing. Just take two software text files and add their names to this command:
Compare-Object -ReferenceObject (Get-Content PATH) -DifferenceObject (Get-Content PATH)
Instead of PATH use a complete file path. For example, C:\Docsfile.txt.
As a result, you will see the difference between the two application lists. In the example depicted on the screenshot, you can see that different versions of Firefox are installed on the computers. The symbol => means that this program is only available on the right computer. The <= symbol indicates that this program is installed only on the left computer.
Another way to get a list of installed programs in Windows 10 is to use the Get-WmiObject command. Simply copy and paste the following command:
Get-WmiObject -Class Win32_Product | Select-Object -Property Name
Getting the List of Installed Microsoft Store Apps
The methods above generate only a list of win32 apps, also known as classic desktop Windows programs. If you need to generate a list of Universal Windows Platform (UWP) apps (formerly Windows Store apps and Metro-style apps) for the current user, use the following command:
Get-AppxPackage | Select Name, PackageFullName |Format-Table -AutoSize > c:\docslist-store-apps.txt
If you want to get a list of all Windows Store apps of all the users on the current devices, then use the below command:
Get-AppxPackage -AllUsers | ft Name, PackageFullName -AutoSize
Get the List of Installed Software on Remote Computers Using PowerShell
System administrators often need to check whether a certain program and/or version is installed on network computers. For example, you can check if an important Windows update is installed or if all workstations have the correct version of MS Office.
Usually, for the remote inventory of remote computers we use the following PowerShell script (if this account doesn't have permissions to connect remotely to a computer, the script will ask you to enter the credentials):
Function Get-InstalledApps { [CmdletBinding()] param ( [Switch]$Credential, [parameter(ValueFromPipeline=$true)] [String[]]$ComputerName = $env:COMPUTERNAME ) begin {$key = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"} process { $ComputerName | Foreach { $Comp = $_ if (!$Credential) { $reg=[microsoft.win32.registrykey]::OpenRemoteBaseKey('Localmachine',$Comp) $regkey=$reg.OpenSubKey([regex]::Escape($key)) $SubKeys=$regkey.GetSubKeyNames() Foreach ($i in $SubKeys) { $NewSubKey=[regex]::Escape($key)+""+$i $ReadUninstall=$reg.OpenSubKey($NewSubKey) $DisplayName=$ReadUninstall.GetValue("DisplayName") $Date=$ReadUninstall.GetValue("InstallDate") $Publ=$ReadUninstall.GetValue("Publisher") New-Object PsObject -Property @{"Name"=$DisplayName;"Date"=$Date;"Publisher"=$Publ;"Computer"=$Comp} | Where {$_.Name} } } else { $Cred = Get-Credential $connect = New-Object System.Management.ConnectionOptions $connect.UserName = $Cred.GetNetworkCredential().UserName $connect.Password = $Cred.GetNetworkCredential().Password $scope = New-Object System.Management.ManagementScope("$Comprootdefault", $connect) $path = New-Object System.Management.ManagementPath("StdRegProv") $reg = New-Object System.Management.ManagementClass($scope,$path,$null) $inputParams = $reg.GetMethodParameters("EnumKey") $inputParams.sSubKeyName = $key $outputParams = $reg.InvokeMethod("EnumKey", $inputParams, $null) foreach ($i in $outputParams.sNames) { $inputParams = $reg.GetMethodParameters("GetStringValue") $inputParams.sSubKeyName = $key + $i $temp = "DisplayName","InstallDate","Publisher" | Foreach { $inputParams.sValueName = $_ $outputParams = $reg.InvokeMethod("GetStringValue", $inputParams, $null) $outputParams.sValue } New-Object PsObject -Property @{"Name"=$temp[0];"Date"=$temp[1];"Publisher"=$temp[2];"Computer"=$Comp} | Where {$_.Name} } } } } }
To generate a list of installed programs on the current computer, run the command:
Get-InstalledApps
To get lists of installed software from several remote computers, run this command:
Get-InstalledApps PCName1,PCName2,PCName3,PCName4
That is all! Hope this article will be helpful!
- Author
- Recent Posts
I enjoy technology and developing websites. Since 2012 I'm running a few of my own websites, and share useful content on gadgets, PC administration and website promotion.
How to Check Installed Software in Windows 10 Using Cmd
Source: https://theitbros.com/how-to-get-list-of-installed-programs-in-windows-10/