How to Get List of Installed Programs in Windows 10?

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 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 the unwanted programs. You will also find useful a list of all installed programs if you accidentally deleted a shortcut or cannot find some specific app.

How to Get Windows 10 Installed Programs List – 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

list of installed programs windows 10

It is particularly important to enter this command without any spaces, otherwise, it won’t work.

how to find installed programs in windows 10

Do note that you can 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 all the installed apps and lets you quickly get a list of all your apps. To get there, hit Win + I on your keyboard and go to Apps Apps and features.

windows 10 list of installed programs

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.

windows list installed programs command line

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

READ ALSO  What’s the Desktop Window Manager (dwm.exe) Process in Windows 10?

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 down this article, but in this section let us show you a wonderful tool called UninstallView. This utility is completely free and does not require installation. All you need to do is to download 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 totally not ok to me. You can load Microsoft Store apps using Options Load Windows Apps menu.

wmic list installed software remote computer

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), skip the next step. If you want only the editable text file with a list of installed programs, do the following step.
  2. Press View Choose Columns. wmic installed software
  3. 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.
  4. Now, press Ctrl + A and then hit Save selected items. get-appxpackage select name packagefullname
  5. Name the text file and place it wherever you want, then open it. Now you have a complete list of all installed on a PC apps. You can edit it as any text file. windows 10 installed programs

How to Get a List of Installed Programs with Command Prompt and WMIC?

The list of installed programs on a PC can be obtained by using WMIC command line utility, that 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

windows 10 get list of installed programs

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

windows 10 installed programs list

To export this list into a text file, run 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. In 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 lists from a few computers). Open this file using any text editor or Excel.

READ ALSO  Using RDCMan to Manage Multiple RDP sessions

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 32-bit application on a 64-bit operating system, you need to get the content of branch 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

Obviously, running all three separate commands is not convenient, so let us show you how to run them all simultaneously, so you get the list of all apps installed on a PC.

  1. Press Win + X on your keyboard and launch the PowerShell (Admin).
  2. Copy and paste to the PowerShell’s window the following command:
    Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall* | Select-Object DisplayName, DisplayVersion, Publisher, Size, InstallDate | Format-Table -AutoSize

As you can see, the resulting list contains the program name, version, publisher, and installation date.

powershell list installed software

Now all is left is to export the list of programs you have just generated to the text file. We will use the command to generate a file on a C: drive but you can specify any other preferable path. Here is the command:

Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table -AutoSize > C:List-installed-programs.txt

For your information: The method above generates only a list of win32 apps, also known as classic desktop Windows programs. If you need to go generate a list of all apps installed from Microsoft Store, use the following command:

Get-AppxPackage | Select Name, PackageFullName |Format-Table -AutoSize > c:docslist-store-apps.txt

This method is not very convenient since it extracts the app’s folder name which is not always the same as the app’s name. We do not recommend using it at all.

get list of installed programs powershell

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.

READ ALSO  Fix Spotify Could Not Be Started Error Code 17

As a result, you will see the difference in 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.

powershell get list of installed programs

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

powershell get installed programs

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!

Cyril Kardashevsky
Latest posts by Cyril Kardashevsky (see all)

5 comments

  1. I have used a Windows computer since 1993, and have just installed Windows 10 Pro to replace Windows 7 Pro and I am trying to find my way around. I typed shell: AppsFolder in the run box and it says Windows cannot find it. I can’t see how to find anything like installed software, or what’s on the hard drive. File Explorer has nothing useful in it, like all the files and folders.
    Even looking at an image in an email, I can’t go “Back” except to try to close the image, which says “do you want to close all tabs”, and if I say Yes, it logs me out of my email.

  2. There is a typo with the slash before computername…
    wmic product get name,version /format:csv > C:\InstalledApps_%\Computername%.csv

    Also for powershell, it is better to make a variable and call it for Computername. Also the backslash was missing after Uninstall
    PS:
    $computername = $env:computername
    Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table -AutoSize > C:$computername-List-installed-programs.txt

Leave a Reply

Your email address will not be published. Required fields are marked *

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