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:MyListlist.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:rootcli>
At that point, type:
exit
..and press enter.
This is what your Command Prompt window should look like to this point in Vista/7:
In XP it would look something like this:
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:
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:
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.
10 thoughts on “How To Generate A List Of Every Program Installed On Your PC”
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.
ERROR:
Code = 0x80041001
Description = Generic failure
Facility = WMI
I get it after I enter the line
/output:C:\MyList\list.txt product get name,version
Doug
File List Maker 1.0
http://www.softpedia.com/get/System/File-Management/File-List-Maker.shtml