How To Generate A List Of Every Program Installed On Your PC

It should be noted up front that this method only covers software that is registered in Add/Remove in Windows. Other software (like PuTTY or JkDefrag which are standalone executables) won’t show up in a list like this. But if it’s in Add/Remove, it will.

Why would you want to do this?

There are several good reasons:

  • You plan on upgrading from XP to 7 and need a complete list of all your software for reinstallation after 7 is installed.
  • You’re going to buy another computer and want to clone it as close as possible to your old computer the manual way; this requires a complete installed-app list.
  • You plan on doing a backup of all your installed software and want a nice simple list to make this process easier.

I’m sure you can think of a few more. The ability to generate a list like this will come in quite handy from time to time.

What versions of Windows should this work on?

This is known to work in XP, Vista and 7. As far as Win2000, I haven’t tested it because I don’t have it – but if you do have that, feel free to test and post in a comment below whether it worked or not.

How it’s done

This is yet another instance where we’re going to go to the good ol’ command line to get things done.

In XP: Start, Run, type cmd, press Enter.

In Vista/7: Windows logo, type cmd in search box, right click cmd in list above, Run as Administrator.

When the black Command Prompt window appears, type the command:

MKDIR C:\MyList

..and press Enter.

(Note: Don’t put a space in the folder title. Type as MyList and not My List)

Then type:

wmic

..and press Enter.

In XP, you will probably get a notice that states "wmic is being installed" if you’ve never run this command before. Should this occur, just wait a moment or two while it installs itself.

There is no such notice in Vista/7.

Your command prompt will change to:

wmic:root/cli>

Next what we will do is create a simple text file in the root of C that we can open with Notepad when generated.

Type the following command and press enter:

/output:C:\MyList\list.txt product get name,version

Pay strict attention to the slashes and spacing. /output is a forward slash. C:\MyList.. and so on uses backslashes. Also note that name,version has no spaces between those words separated by the comma.

The time it takes to create this list depends how much stuff you have installed, but it shouldn’t take longer than 1 minute to complete. During this time your hard drive light will be active while the list is being written.

When finished, a new line will appear that simply states:

wmic:root\cli>

At that point, type:

exit

..and press enter.

This is what your Command Prompt window should look like to this point in Vista/7:

image

In XP it would look something like this:

image

At this point, type (again):

exit

..and press Enter. The Command Prompt window will close.

Now we have to open our newly created text file to see what’s in there.

Click Start (or Windows logo), Run, type C:\MyList and click OK. It will look like this:

image

A Windows Explorer window will open. The only file there should be list or list.txt. Double-click the text file to open it. You should see something like this:

image 

From here you can examine the list, then when finished close Notepad. The list file can then be copied or moved anywhere you like, or left as is.

Important note:

If you want to go thru this process periodically on the same PC, you can skip the "MKDIR C:\MyList" on the second time and each instance after that as you will have already created that folder previously (that is unless you delete it.) Any old list.txt file will be overwritten with the new one.

Comments

  1. Steve Stone says:

    Have you ever tried Belarc Advisor?

    • Yes, but didn’t want to download software just to generate a simple text list. It’s the same as if I said “download CCleaner to get a list of all your installed stuff”, which you can do via Tools/Uninstall/Save to Text File. Using any software to generate a list like that is complete overkill.

  2. I was just thinking the same thing as Steve. Not only does Belarc generate a list of the software on your computer, I think its an easier list to obtain than going through the procedure that you just described. Additionally, Belarc gives you some really nice details on your systems hardware as well. Its worth the download for all its other features as well. Not meaning to be argumentative here Rich, that’s just my opinion.

  3. Or, you could use this wonderful freebie…it does NOT iinstall…

    File List Maker 1.0
    http://www.softpedia.com/get/System/File-Management/File-List-Maker.shtml

  4. Add/Remove Programs and Print Screen works for me.

  5. Douglas Bliss says:

    Can anyone tell me what this error is.
    ERROR:
    Code = 0×80041001
    Description = Generic failure
    Facility = WMI

    I get it after I enter the line
    /output:C:\MyList\list.txt product get name,version

    Doug

  6. I’m always down for some nice CLI tidbits I can use. Thanks for the info. Don’t mind these people, it’s obviously not who you wrote that article for if they think it’s too much work.

  7. Thanks for the info – did not know about wmic.

    It’s easy enough to create a script that automates the whole process, for example:

    == productlist.cmd ==
    @echo off
    rem Next command is only needed first time
    if not exist C:\MyList mkdir C:\MyList

    wmic /output:C:\MyList\list.txt product get name,version
    == cut here ==

    With a bit of work, the script can be enhanced to include a time-stamp in the file name, so one can keep track of changes:

    == productlist.cmd ==
    @echo off
    rem Next command is only needed first time
    if not exist C:\MyList mkdir C:\MyList

    rem capture current time
    set DAY=%DATE%
    set NOW=%TIME%
    rem replace leading space with 0
    set NOW=%NOW: =0%

    rem extract date parts
    set YYYY=%DAY:~-4%
    set MM=%DAY:~3,2%
    set DD=%DAY:~0,2%

    rem extract time parts
    set HH=%NOW:~0,2%
    set MM=%NOW:~3,2%
    set SS=%NOW:~6,2%

    rem Combine parts to make timestamp:
    set STAMP=%YYYY%%MM%%DD%-%HH%%MM%%SS%

    wmic /output:C:\MyList\list_%STAMP%.txt product get name,version
    == cut here ==

    [This works on XP. I've not tried it on Vista or Windows7.]

    In many cases, just the date will be enough, in which case just omit the setup and use of NOW, HH, MM and SS.

  8. it’s obviously not who you wrote that article for if they think it’s too much work.

  9. it’s obviously not who you wrote that article for if they think it’s too much work.

Leave a Reply