I recently started having problems with a program I needed; it kept coming up with errors when I tried to run it. No problem, I thought. I'll just uninstall it and reinstall and all will be well.
It wasn't. I keep getting errors from the uninstaller. First, it has to "verify application requirements." Huh? If the program has been installed, obviously the requirements have been met. Why on Earth is it checking? And why does it fail?
I've seen other variations. Some programs search for the original installation file. If you deleted it, or installed it in a temporary folder, it can't find it, so the program can't be deleted.
The worst was many years ago (back in the days of DOS) when I installed a demo program. I didn't like it, so I uninstalled. But the uninstaller didn't work properly, so my program kept trying to run the demo program. When I contacted the company, they told me to go into debug mode.
For those who don't know, debug mode let you edit and change the actual code of the operating system. It requires someone who, if not an expert in code, at least knows something about what the various hexidecimal codes meant. To tell the average user to mess with this is like telling someone to take a hammer to a fragile glass sculpture in order to get it into position. It might work, but if you make the wrong move, it will wreck everything.
For me, an uninstaller should do two things: delete the files from your hard drive and remove all registry entries that were put in by the installer. It shouldn't be too hard, but programmers seem to want to combine the installer and uninstaller, thus making it impossible to fix problems because you can't do a new, clean install.