In the early days of Windows, people would install software packages on their PC and when they wanted to remove them, it was often simply a case of deleting the folder in which the program had been installed. There was no concept of a standardised installation and uninstallation process.
The biggest problem with this was that the program might create additional files in other folders. Typically, an INI file containing settings, which would be stored in the Windows folder. When the program was deleted from the disk, these additional files were never removed. After a period of time, PCs were filled with unused, orphaned files, which just wasted disk space. Thta might not seem like too much of a problem, but when you consider that hard disks were expensive and of quite low capacity (20Mb is a typical example), computers soon began to run out of disk space.
Microsoft recognised this problem and created the Registry in which settings could be stored, and standard installers such as InstallShield appeared on the market.
InstallShield was smart enough to keep a log of files that had been installed, and would therefore know what to uninstall later. Used properly, the programmer would also tell InstallShield what additional files the program might create at run-time, so they could also be deleted.
Microsoft’s MSI does very much the same thing as InstallShield.
So if we have these standardised installers that are clever enough to uninstall everything, what is the problem? Basically, programmers are still not using them correctly.
I recently installed a demonstrattion version of ParetoLogic Data Recovery. The demo turned out to be pretty useless - it would find deleted files, but wouldn’t undelete them. You have to buy the full version for that, of course.
So I uninstalled the program using the correct Uninstall procedure from the Windows Control Panel.
The next day, my PC popped up a message saying that it couldn’t find a file which was part of the ParetoLogic software. I searched the Registry for references to that file and there was nothing there. Very mysterious.
Every day since then, it has popped up the same message. This was becoming somewhat annoying, so I searched the entire disk for “ParetoLogic”.
Bingo! It turns out that this program had added itself to the Windows Task Scheduler, but the uninstall procedure had not removed it. So every time that scheduled task time arose, it couldn’t find the uninstalled program, hence the error message.
As a programmer myself, I knew what to do to locate and rectify the problem, but the average PC user wouldn’t.
This is just one example. There are numerous other programs out there which are as equally untidy when it comes to uninstallation.
So come on software engineers, when you test your software, install it on a clean machine, then uninstall it, then search the hard disk and the Registry for any residue. Then fix your uninstallers. It’s not difficult - it just takes a little time, but it makes all the difference.
ParetoLogic have now lost a potential customer. Don’t lose yours!