Programming Windows

How to Auto-Generate a List of Installed Programs on Windows

Ben Stegner 18-01-2017

You probably have several dozen pieces of software installed on your computer. Aside from tools you use every day like your web browser, it’s easy to forget about programs you don’t use often. This can cause problems whenever you’re resetting your computer 4 Ways to Factory Reset Your Windows Computer Want to know how to factory reset a PC? Here are the best methods to reset a Windows computer. Read More or buying a new machine, as you won’t remember which software you need to reinstall.


Thankfully, Windows makes it easy to generate a list of all the software you have installed. It’s made possible by PowerShell 15 Advanced Tasks PowerShell Can Handle in Windows 10 PowerShell is similar to the command prompt, but better. It's a powerful system administration tool. We have compiled 15 tasks, some simple, some complex, that benefit from the magic of PowerShell. Read More , but don’t be scared if you’ve never used it before: you only need a few easy commands.

Go ahead and open up a PowerShell window by typing Powershell into the Start Menu. Once there, paste in this line to generate a list of all your software, including its publisher and the date you installed it:

Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table –AutoSize

Of course, this list alone doesn’t do you much good. To send this information to a text file, append the line below, changing the file path to your username:

> C:\Users\USERNAME\Desktop\InstalledProgramsList.txt

Altogether, using the command below (make sure you change USERNAME to your own Windows username) will generate a list of your installed software and export it to a file on your desktop called InstalledProgramsList.txt:

Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table –AutoSize > C:\Users\USERNAME\Desktop\InstalledProgramsList.txt

To easily find out the different software you have installed on different systems, run this command on two machines and paste the resulting text into a text comparison website.


Once you’re done, don’t forget to save this file to a flash drive, cloud storage, or other external media for safekeeping. If you wipe your computer, you’ll erase this file along with it!

Interested in what PowerShell can do as opposed to the Command Prompt? Have a look at their differences Command Prompt vs. Windows PowerShell: What's the Difference? Windows users can get by without using either the Command Prompt or PowerShell. But with Windows 10 and new features around the corner, maybe it's about time we learned. Read More .

Do you find it useful to keep a list of installed software? Let us know if you’ll use this command soon down in the comments!

Image Credit: racorn via

Affiliate Disclosure: By buying the products we recommend, you help keep the site alive. Read more.

Whatsapp Pinterest

Leave a Reply

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

  1. Mike Cramer
    January 4, 2018 at 10:00 pm

    Here is a few alternate ways to do it:

    1. Run WMI query in ROOT\CIMV2 namespace:

    - Run WMI query: SELECT * FROM Win32_Product

    2. Run Powershell script:

    - Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate

    3. Save to CSV file:

    - run: Get-WmiObject -Class Win32_Product -Computer RemoteComputerName | Select-Object Name, Version | Export-CSV "c:\file.csv" -Append -NoTypeInformation

    A few more suggestions in this KB article that I put together:

  2. James Alexander
    May 4, 2017 at 9:22 pm

    I have many programs on my 4 PCs, all registered. As a result I often receive offers to upgrade software. I often find it difficult to remember what software, version, and last installed, and on which PC. This will provide the means to build a catalog so I can see if I want to upgrade and which PC to do so on.

  3. Steve
    January 20, 2017 at 7:33 am

    If you have CCleaner installed or on a USB key, there is an option to create a list of installed programs. This lists the name, publisher and installed date

  4. Dick Ames
    January 20, 2017 at 1:02 am

    There is a tool built into CCleaner that can also perform this task very easily. Open CCleaner, click on the Tools icon on the left side of the screen, click on the Uninstall tool at the top of the list. CCleaner will present a list of installed programs with Publisher, Install Date, Size, and Version. At the lower right corner of the screen, there is a button that will save the list to a text file. Very simple and very handy.

  5. terra
    January 18, 2017 at 5:07 pm

    use Belarc advisor
    so much better than powershell, plus regular user is not going to launch a powershell script

  6. Ivan Berger
    January 18, 2017 at 4:28 pm

    Great. but how do I save the file?

    • Ben Stegner
      January 18, 2017 at 8:37 pm

      Did you see the second command I listed? Using the > symbol followed by a directory will export the results of the command to a text file. Then you can copy and paste that text file anywhere you like.