Helping people with computers... one answer at a time.
Programs can be installed in many ways and many places. There's no single authoritative list of what's installed, but we can get close.
How do I get a list of all installed programs and applications on my machine? Information is all scattered and confusing.
If you're looking for a complete list, the answer is simple: you don't. "Scattered and confusing" doesn't even begin to cover it.
However if you want to know most of what's installed on your machine, you can get pretty close.
The problem is that there is no standard way to install an application on a Windows machine. There's supposed to be, but the reality is that doing it right is extra, often complex work. Many simply don't bother, and do things their own way.
As a result, there's no central repository of information about what's on your machine.
Fortunately, there are a few standard and semi-standard places we can look.
Fire up Windows Control Panel, and click on Add or Remove Programs. You should get something very similar to this:
Scroll down that list, and you'll get a fairly comprehensive list of the applications that have been installed on your machine.
For the record, in a perfect world, that list would be enough. But this is far from a perfect world.
Click your Start menu, and then click on All Programs. On one of my machines you'd see a massive list:
Applications which don't follow the rules to install properly into Add/Remove Programs, above, will often still install themselves into your Start menu. (Frequently that's where they put their own custom un-install link, if they provide one.)
This serves as an additional list of applications installed on your machine. You may also need to traverse into some of the sub-menus, most notably "Accessories", to get the entire list.
Another good location to examine is the folder on your Windows Drive where most programs are installed. Typically that's C:\Program Files. Fire up Windows Explorer and navigate there and you should see something like this:
Once again here you'll see a long list, though this time often by vendor name rather than program name. You may need to look inside many of the sub-folders to see what they contain to get a clear understanding of what applications each folder might represent.
The "gotcha" with this particular approach is uninstall. Many programs, when they uninstall themselves, will leave their subfolders in "c:\program files". You may find subfolders for software that you uninstalled long ago.
I need to mention the registry for completeness, but in all honesty, I'd avoid it for this particular problem. Yes, many, if not most, installed programs do place information into the registry. But the better behaved ones will have been found by the steps above, and the others - well, there's no telling where in the registry they may have placed their information.
Fire up a Windows Command Prompt, and type in "SET" followed by Return. You'll see a list of many variables, one of which is "PATH":
Yours may be quite different, as some installations like to add things to the PATH. The PATH represents the folders in which Windows may look for programs. So, each directory listed in the PATH is a place where you may find installed programs in the form of ".EXE" files.
The problem here is that Windows itself is in the PATH. That means that you will find many .EXE files that are not installed programs at all; they're Windows itself.
In reality, a program could be installed anywhere on your hard disk, could place information anywhere in the registry, or not, could store configuration files in your user directory, the Windows directory, or anywhere else. In short: an installed program doesn't need to follow any rules.
That's why things like virus scanners don't try to use rules - they simply scan the entire hard disk looking for problems.
But depending on how exhaustive you want to get, the first two or three ideas here should get you 99% of what you're looking for.