File holding Add/Remove Programs text?

I'm looking to find the actual file that holds the information which Add/Remove Programs loads. Ie how it populates the names and sizes of all the programs installed. I need to find this file as I am writing a program to check version'ing on multiple programs. Yes I'm aware I can do cmd.exe ProgramName -version, as I'm able to do this for most. However for example MSXML cannot be version'd in any normal way( i.e. I can figure out that a MSXML 4.0 folder exists in C:\Program Files\ , but this doesn't tell me whether it's SP2 or not, I've only found that information available in Add/Remove Programs under its listing).

Thanks.
cl0ckworkAsked:
Who is Participating?
 
PberSolutions ArchitectCommented:
I think it's in the registry

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

all the keys below that relate to software.  If you delete one of the values below that they disappear from add/remove programs.
There are values within the software key called Version, VersionMajor,VersionMinor which I think is what you are looking for.

0
 
cl0ckworkAuthor Commented:
I've found a registry key
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\6030E61781384634B8F8C04C9E73B6CA\InstallProperties

That has a key called DisplayVersion with the value of 4.20.9818.0. This is what i'm looking for. However I'm highly doubtful that the exact location in which I found this will be universal for all machines. Crawling the entire registry with a script probably isn't very fun either.
0
 
jasfoutCommented:
It should be the same for >Win95 (i dont know about vista)

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\ Current Version\Uninstall

0
Cloud Class® Course: Microsoft Azure 2017

Azure has a changed a lot since it was originally introduce by adding new services and features. Do you know everything you need to about Azure? This course will teach you about the Azure App Service, monitoring and application insights, DevOps, and Team Services.

 
jasfoutCommented:
>Title: File holding Add/Remove Programs text?

there is no text file, but there are several files which make up the registry which contains the "Add/Remove Programs" list

http://www.easydesksoftware.com/regfiles.htm
0
 
cl0ckworkAuthor Commented:
Ok so it seems HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
is where I need to look, however, is there a way I can create the hash dynamically so that I know what its name is?
ie instead of parsing through tons of keys in \Uninstall\ is there an algo where the hashstring (ex 4302B2DD-D958-40E3-BAF3-B07FFE1978CE ) is created that I can utilize?
0
 
PberSolutions ArchitectCommented:
Not really this is done by the OS and the installer.  You'll notice some programs have keys others are guids.  You are pretty much stuck with that.  I would suggest renaming the keys as it might break things.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.