bruce wrote:The uninstaller has to be able to uninstall any of the programs that have been installed using Microsoft standards in any order, not just the most recent one. The local PATH can't be the place that the uninstaller gets its information.
I agree, that that's how it is supposed to work, but how else does the uninstaller find the program directory to uninstall?
On my WinXP machine (and similarly on the Win7 machine), the Registry key Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\FAHClient has only these values that have anything close to the required data (ie the install directory name):
DisplayIcon value: "C:\Program Files\FAHClient\FAHClient.ico"
UninstallString value: "C:\Program Files\FAHClient\Uninstall.exe"
The uninstall program was written by (I assume) someone at PG, so isn't there some possibility that a non-standard way of identifying the install directory was used?
Unless the uninstaller "C:\Program Files\FAHClient\Uninstall.exe" somehow extracts the install directory name from the DisplayIcon value or the UninstallString value, how does it know the install directory? And if it did that, why did Das have the problem we are trying to fix?
I have looked at a few other Uninstall Registry entries, and they have things like this:
InstallLocation value: "C:\Program Files\CCleaner"
InstallLocation value: "C:\Program Files\Creative\AudioCS"
InstallLocation value: "C:\Program Files\Creative\Shared Files\Software Update"
Again, I agree with what you said about how it
should work. But the only thing I can think of to explain the problem based on the available evidence, is the hypothesis that the user's PATH was used to locate the program directory to be uninstalled. Anyway, in a little over an hour, I will be testing my hypothesis, and will be reporting back here.
...when you have eliminated the impossible, whatever remains, however improbable, must be the truth.
- Sir Arthur Conan Doyle, (Sherlock Holmes)