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.
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.
Ken Spreitzer, while working for Symantec as a program debugger, wrote one of the early uninstaller programs on his own time at night. In 1992, Spreitzer brought his program to Microhelp, a company that published software tools for programmers. 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.
- "Uninstalling Software". SmartComputing 5 (8). August 1999.
- Lohr, Steve (March 27, 1995). "Information Technology; Minds Behind the Product". The New York Times. Retrieved August 7, 2015.