ajit
ajit

Reputation: 79

how does uninstall a program in "program and features" work?

while uninstalling one msi package through control panel. In task bar i notice that the msiexec.exe with commandLine \x was not getting called but still the msi package got uninstalled. In registry where that particular software was stored in that they have provided uninstallstring in which something like this is given "MsiExec.exe /X{2012098D-EEE9-4769-8DD3-B038050854D4}".

so there are other way through which it does uninstall the software without calling Msiexec.exe??

and if it does then how ?? can someone please enlighten me on this

Upvotes: 1

Views: 1636

Answers (3)

PhilDW
PhilDW

Reputation: 20780

For Windows Installer products the UninstallString in the registry is not used. Windows simply calls the API to do the uninstall. Yes, sometimes that's a pain if you'd like to customize the uninstall to do something different, but that's the way it works.

Upvotes: 2

selbie
selbie

Reputation: 104484

The legacy way of adding a program to the ARP (Add/Remove Programs control panel) is to specify the uninstaller's command string (e.g. c:\app\uninstall.exe) in either of the following registry keys:

KEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall

OR

KEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall

And the path to the uninstaller is specified by the "UninstallString" value for each subkey

Installer's that do not use MSI use exactly this technique to show up in ARP to suppor uninstall.

More details here: http://msdn.microsoft.com/en-us/library/aa372105%28v=vs.85%29.aspx

Upvotes: 1

Nirav Bhatt
Nirav Bhatt

Reputation: 6969

msiexec.exe is the general process used for install / uninstall task. It takes as an argument the specific program id / class id which is of the form GUID - the long hex string you posted.

Even if you don't see it executing with /x switch, it is silently passed this string when you choose to uninstall something right from control panel - the result of which is uninstallation.

Upvotes: -1

Related Questions