1
votes

Does anyone know the purpose of HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{xxxx}-->UninstallString in the registry?

I had the impression that Add/Remove Program uses it to uninstall any application by using MsiExec. But that's not the case, Add/Remove programs doesn't use it. Is there any other registry value similar to this that is using by Add/Remove programs?

2
How did you reach the conclusion that Add/Remove programs doesn't use this information? - Damien_The_Unbeliever
@Damien_The_Unbeliever: I changed the registry entry and tried. Add/Remove Program doesn't take it into account. - ABCD

2 Answers

4
votes

Windows Installer packages are a special case that is ignored. For all other package types, the UninstallString is the command used to perform an uninstall. For the Windows Installer package, the default command will uninstall the MSI package, but is presumably only for backwards compatibility of other applications that read the Uninstall key, as Add/Remove Programs ignores it. See Custom uninstaller for a WIX generated MSI for some background on workarounds.

0
votes

According to MSDN (plus an another more modern article), these registry keys are used exactly for the purposes of the Add/Remove Programs feature.