What is the rationale behind using a third party uninstaller, when uninstalling applications on a Windows PC?
Solution 1:
I do not see how it would be of benefit, everything in add/ remove programs or the appwiz.cpl is in the registry at HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall as a subkey.
MSI installers write their GUID in the format {AFF7153F-C4AA-4C48-AEE9-8611D276CE86}
This is not really a problem, as much as a difficulty in reading the keys. There are couple ways to read through these. One, there is a Value Name DisplayName that will have the more friendly value of (in this example) Quest ActiveRoles Management Shell for Active Directory (x64).
Another approach, is Windows writes a “compressed and hashed” version of the GUID to another part of the Registry.
To Hash the value, take the GUID {AFF7153F-C4AA-4C48-AEE9-8611D276CE86} and reverse each set of hex values. AFF7153F becomes F3517FFA, C4AA becomes AA4C and on down the GUID until you have the following: {F3517FFA-C4AA-84C4-9EEA-68EC672D1168}
Now, drop the {, -, and } to get F3517FFAC4AA84C49EEA68EC672D1168 You now have the compressed and hashed GUID that you can compare to another key.
You should now be able to find this new GUID at the following location in the Registry: HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer\Products
Essentially, all uninstalling from the appwiz.cpl or Add/remove programs does is call the uninstall string HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall, you can easily copy this command in the command prompt and achieve the same results.
As for orphaned files that a third party uninstaller claims to remove, I would not accept the risk as low enough for the little gains. Usually what is left behind is of no consequence, a registry key with license information or a key, or a C:\Program Files\ApplicationName folder that I can easily delete myself. I have seen applications try to wipe shared dll files though, and I would 10 times as worried about something like Reno catching a reference to a shared dll and cleaning it for me, breaking another install.
Solution 2:
Third party unistallers follow the same philosophy as registry cleaners - do not use them.
They can easily be described in two words: Snake Oil.
In real IT environments they are not used for the simple reason they are just that - snake oil - and are prone to cause more trouble than to fix things.