views:

801

answers:

2

In HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ is the list of installed programs in my machine (at least most of them). There, there's a String Value called UninstallString which has what you need to run in order to uninstall the program.
The thing is not every installer writes the same kind of info, yet Windows knows how to parse that string to run the uninstaller.
My questions are: does anybody know how to parse that string?, meaning what are the possible values it might get? and if not, where can I find that kind of info? I googled around with no luck, I guess I'm not looking for the right terms.

+1  A: 

Have a look at this link from MSDN explaining install/unistall procedures, specifically item #6 "Support Add/Remove Programs Properly".

As an excerpt from the table there:

   Key Name   |   Key Type    |                  Description
UninstallPath | REG_EXPAND_SZ | Full path to the application's uninstall program

Despite the fact it says 'full path', alot of applications seem to shorten it if the program is in $PATH, especially with things like msiexec.exe.

Matthew Scharley
I think the link you posted is broken... I can't reach the page
sebastian
I retried the link here, and it works for me. At any rate, the relevant information is quoted anyway.
Matthew Scharley
I was having problems accesing MSDN from Chrome... had to got to main page first and now I'm there
sebastian
A: 

I think it was VS2003 that had two paths separated by a comma, and that was new to me...

sebastian