Find all your Apps and Programs installed on Windows 10, 8, & 7 Computer

Find all your Apps and Programs installed on Windows 10, 8, & 7 Computer

In this simple guide, we’ll show you a few different ways on 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 can it be necessary? For example, the list of all installed programs can be useful when you reinstall Windows and want to make sure you don’t lose all the necessary applications. Also, a list of all installed applications in Windows will come in handy when doing an audit or when you want to find unwanted programs. You’ll also find a list of all installed programs useful if you’ve accidentally removed a shortcut or can’t find a specific app.

How to get the list of installed programs in Windows 10? Through the applications folder.

The easiest way to get a full list of apps with icons is to press the Win + R keys on your keyboard and then enter the following command:

shell:AppsFolder

shell-AppsFolder

It is particularly important to enter this command without spaces, otherwise it will not work.

Ways To Generate a List of Installed Programs in Windows

Please note that in the lower left corner you can find the total number of applications installed in Windows . FYI: This number includes all the default Windows utilities like Control Panel, Disk Cleanup, Cortana, etc. In case you want to know the number of apps installed in Windows 10, use the below method.

Although simple, this method has one critical drawback: you can’t generate a list of installed apps in Windows 10 from here. This folder just shows all the shortcuts that you can copy or use to launch any installed app.

Get a list of all installed apps in Windows using Windows Settings

If you’re running Windows 10, there’s a very convenient section within Windows Settings. It collects information about all installed applications and allows you to quickly get a list of them. To get there, hit Win + Me on your keyboard and go to Apps – Apps & Features .

Or press Win + R and run the command:

ms-settings:appsfeatures
List Installed Programs on Windows

Here you can find the list of all installed apps apart from the pre-installed ones from Microsoft Store. This list does not include the default Windows utilities. At the top of the list, you can find the app counter.

What is also important is that this section allows you to filter the list and generate a list of all applications installed on a specific drive. For example, you want to find all applications installed on a system drive. Just paste Filtered by and select your system drive.

How to Create a List of Your Installed Programs on Windows

Again, this section cannot generate a file with a list of all applications installed on a computer.

Generate a list of all installed apps in Windows 10

Ok, now let’s talk about how you can generate a list of all installed apps in Windows 10 (works on earlier versions of Windows up to Windows XP) and export it for later use. We’ll cover the built-in utilities later in this article, but here let us show you a wonderful tool called UninstallVer . This utility is completely free and does not require installation. All you need is to download UninstallView from the official website and run 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 the Microsoft Store, but it’s not very friendly to these kinds of apps. For example, each DLC in Forza Horizon 4 is displayed as a separate application, which is not convenient for us. You can sideload apps from the Microsoft Store using the Options – Sideload Windows apps menu.

Options – Sideload 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.

  1. If you want to generate a list of all installed apps with all the details (version, path, registry key and many others), then skip the next step. If you want just the editable text file with a list of installed programs, do the following steps;
  2. Press View – Choose Columns ;View – Choose Columns
  3. In a new window, select Deselect all and place a check mark next to the Display name . This will leave just a list of app names;select Deselect all and place a check mark next to the Display name
  4. Now press Control + A and then hit Save Selected Items ;Save Selected Items
  5. Give the text file a name and place it where you want, then open it. You now have a complete list of all applications installed on a PC. You can edit it like any text file;complete list of all applications installed on a PC

How to get a list of installed programs with command prompt and WMIC?

The list of installed programs in Windows can be obtained 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 run the following command:

wmic product get name,version

elevated Command Prompt

After a short wait, you will see a table listing the names and versions of the programs installed on your system.

Wmic allows you to query remote computers via WMI. The following command lists the applications installed on the remote host:

Wmic /node:NyPC211swd product get name, version, vendor

Wmic

To export this list to 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 the execution of the command, open drive C. There you will find a CSV file with your applications. In addition to the application names and versions, this list has the current name of the computer (it can be useful for further analysis or when you need to generate lists of installed programs from some computers). Open this file using any text editor or Excel.

Also, in modern versions of Windows, the WMIC utility allows you to generate a convenient HTML report:

wmic /output:c:IstalledApps.htm product get Name, Version, Vendor /format:htable

WMIC utility

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 obtains this list by scanning a special registry key HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionUninstall. Control Panel uses the same registry to generate the list of installed applications, although you cannot export this list. Please 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 contents of the HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoftWindowsCurrentVersionUninstall registry key.

If an application was installed for the current user, you can locate it using the following registry key HKCUSoftwareMicrosoftWindowsCurrentVersionUninstall.

Running all three commands separately isn’t convenient, so we’ll show you how to run them all simultaneously, so you can get the list of all apps installed on a PC:

  1. Press Win + X on your keyboard and run PowerShell (Admin) ;
  2. To generate a list of installed x64 applications, copy and paste the following command into the PowerShell window:
    Get-ItemProperty HKLM:SoftwareWow6432NodeMicrosoftWindowsCurrentVersionUninstall* | Select-Object DisplayName, DisplayVersion, Publisher, Size, InstallDate | Format-Table-AutoSize
  3. To get a list of 32-bit apps on your Windows device, run the following PowerShell command:

    Get-ItemProperty HKLM:SoftwareMicrosoftWindowsCurrentVersionUninstall* | 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.

list contains the program name, version, publisher, and installation date

You can use the following PowerShell script to generate a summary list of installed x86 and x64 applications and export it to a CSV format 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:SoftwareMicrosoftWindowsCurrentVersionUninstall*' 64
$s += Analyze 'HKLM:SoftwareWow6432NodeMicrosoftWindowsCurrentVersionUninstall*' 32
$s | Sort-Object -Property Name | Export-csv C:psinstalledapps.csv

generate a summary list

In PowerShell Core 6.x and 7.x, you can query the list of installed Win32 applications by 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:SoftwareWow6432NodeMicrosoftWindowsCurrentVersionUninstall* | 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 applications 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 full file path. For example, C:\Docsfile.txt .

As a result, you will see the difference between the two app lists. In the example shown in the screenshot, you can see that there are different versions of Firefox installed on the computers. The => symbol means that this program is only available on the correct computer. The <= symbol indicates that this program is installed only on the left computer.

Docsfile.txt

Another way to get a list of installed programs in Windows 10 is to use the Get-WmiObject command. Just copy and paste the following command:

Get-WmiObject -Class Win32_Product | Select-Object-Property Name

Select-Object-Property Name

Get the list of installed Microsoft Store apps

The above methods generate only a list of win32 applications, also known as classic Windows desktop 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

c:docslist-store-apps.txt

If you want to get a list of all Windows Store apps for all users on current devices, use the following command:

Get-AppxPackage -AllUsers | ftName, PackageFullName -AutoSize

Get list of installed software on remote computers using PowerShell

System administrators often need to verify if a certain program and/or version is installed on the computers on the network. For example, you can check if an important Windows update is installed or if all workstations have the correct version of MS Office.

Typically, for remote inventory of remote computers we use the following PowerShell script (if this account does not have permissions to remotely connect to a computer, the script will ask you to enter credentials):

Function Get-InstalledApps
{
[CmdletBinding()]
param(
[Switch]$Credential,
[parameter(ValueFromPipeline=$true)]
[String[]]$ComputerName = $env:COMPUTERNAME
)
begin {$key = "SOFTWAREMicrosoftWindowsCurrentVersionUninstall"}
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 programs installed on the current computer, run the command:

Get-InstalledApps

To get lists of installed software from multiple remote computers, run this command:

Get-InstalledApps PCName1,PCName2,PCName3,PCName4

That is all! We hope this article is useful!

Leave a Reply