How to: Extract a list of all programs installed on a Windows PC

Just thought I’d write this very brief how to since I needed to do this tonight in preparation for starting a new computer build. I want to make sure I have a list of everything on the old computer so that I can re-install everything I need on the new computer.

  1. Open Powershell by starting a command prompt (Win+R then ‘cmd’), and typing ‘powershell’
  2. Run this command to print your installed software on screen:
    Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table AutoSize
  3. Run it again like this to save in a file located at c:\installed_apps.txt
    Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table AutoSize > c:\installed_apps.txt

You can also extract a list using the popular CCleaner program but I like the command line approach better.

Note that you can compare two lists (e.g. from two different computers) with this command (replace the file names and paths of your two txt files)…

Compare-Object -ReferenceObject (Get-Content list1.txt) -DifferenceObject (Get-Content list2.txt)

Also, if you’re doing a fresh Windows install, there is an excellent piece of software called ninite which automates the installation of some of the most common and useful apps anyone needs.

BUT there is another piece of software which is arguably even better. It’s called Chocolatey and it is the Windows equivalent to the Linux apt-get system. It can even be used to update all the software you have installed with it. You can make a nice simple config file with all the software you want and then leave it to run and it will install it all for you. It has over 4,000 pieces of software available for installation using it. And you can install Chocolatey itself with one simple command on the command prompt.
I think Chocolatey deserves its own post so I’ll write something once I’ve used it for setting up my own machine!

Leave a Reply

(email optional)