Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Detecting installed programs via registry

I need to develop a process that will detect if the users computer has certain programs installed and if so, what version. I believe I will need a list with the registry location and keys to look for and feed it to the program which is not a problem. Is there a better way to accomplish this?

My first thought was to check in the registry in the uninstallation entries but it seems one of the apps I wish to detect does not have one. What is the standard location for all registry using applications to make an entry in?

like image 804
Mark Stahler Avatar asked Jan 09 '09 21:01

Mark Stahler


People also ask

How do I find installed programs in the registry?

Data pertaining to programs that are (or were at one time) installed on a system can also be found in the following registry locations: SOFTWARE\Microsoft\Windows\CurrentVersion\AppPaths. SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall.

How do I get Windows to recognize installed programs?

Is there a way to do this? Thanks. Uninstall the programs and then re-install on the new drive. That will work permanently.


1 Answers

On 64-bit systems the x64 key is:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall 

Most programs are listed there. Look at the keys: DisplayName DisplayVersion

Note that the last is not always set!

On 64-bit systems the x86 key (usually with more entries) is:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall 
like image 110
coding Bott Avatar answered Sep 29 '22 11:09

coding Bott