Uninstaller

An uninstaller, also called a deinstaller, is a variety of utility software designed to remove other software or parts of it from a computer. It is the opposite of an installer. Uninstallers are useful primarily when software components are installed in multiple directories, or where some software components might be shared between the system being uninstalled and other systems that remain in use.

Generic uninstallers flourished in the 1990s due to the popularity of shared libraries and the constraints of then-current operating systems, especially Microsoft Windows XP. Declining storage costs and increasing capacity subsequently made reclaiming disk space less urgent, while end-user applications have increasingly relied on simpler installation architectures that consolidate all components to facilitate removal.

Components
Typical uninstallers contain the following components:
 * Logger: The Logger is used to log installations (e.g., log which files were added or changed, which registry entries were added or changed, etc. at the time of installation). This log is used when the user decides to uninstall the logged installation at later date (in that case, the log is "reversed" — i.e., the log is read, but opposite actions are taken in reverse order).
 * Uninstaller: The Uninstaller is used to reverse changes in the log. This way, the applications can be uninstalled because all changes that were made at the times of installation are reversed.
 * Analyzer (optional): The Analyzer is used to uninstall programs of which installation is not logged. In that case, the program analyzes the program and finds (and deletes, if the user decided to uninstall the program) all related components.
 * Watcher (optional): The Watcher watches running programs for installation programs (and usually offers to start the logger when such programs are detected). Usually, this works by watching the tasklist for any names that are commonly used by installation programs (e.g., SETUP.EXE, INSTALL.EXE, etc.)
 * Other tools (optional): Some uninstallers may also contain other related tools for clearing caches or removing unwanted files.

History
Prior to about the 1990s, there was no such thing as an uninstaller, as most programs were simply stored on disk and/or tape, and a program was "removed" by simply erasing it. As operating systems and applications became more complex, mere deletion of a program might be inadequate or insufficient to remove the program in its entirety. Entries might be left behind in a system database such as a registry, it may have additional data files, configuration files, sample files, etc.

Uninstall was invented by Jack Bicer. While he was working on Norton Desktop for Windows at Symantec, Bicer came up with the Uninstall concept and developed the first Uninstall program in 1991. When published on March 23, 1992, Norton Desktop for Windows V.20 (see the official - README.TXT ) was the first software package ever to include an Uninstaller, shown under the "Uninstalling Norton Desktop" section.

After the release of Norton Desktop for Windows 2.0, Ken Spreitzer, who was a tester for the product at Symantec, capitalized on the uninstall idea and wrote the first widely used PC program called "UnInstaller", initially licensed to MicroHelp and then by February 1998 sold by CyberMedia. MicroHelp published Spreitzer's program as Uninstaller version 1. In 1995, Spreitzer told The New York Times that the royalties he received from MicroHelp for Uninstaller made him a millionaire by age 30. Tim O'Pry, while president of MicroHelp, substantially rewrote the code for Uninstaller version 2, which became a best-selling program.