Uninstaller

A uninstaller or deinstaller is a computer program which is designed to remove all or parts of a specific other program or application. It is the opposite of an installer. Some software vendors ship an uninstaller with their applications.

A third-party uninstaller is a program which uninstalls programs from vendors different from the uninstaller vendor. Such uninstallers often aim to support uninstallation of a number of programs.

Specialized uninstallers are usually not needed on a computer system which supports package management, provided that software is installed as a properly-built package.

Components

Generally, most (third-party) 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 by the uninstaller. In that case, the program analyzes the program and finds (and deletes, if the user decided to uninstall the program) all related files and registry entries,
  • 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 usually used by installation programs (e.g., SETUP.EXE, INSTALL.EXE, etc.)
  • Other tools (optional) Some uninstallers may also contains other related tools like a junk file cleaner, browser history cleaner, cache cleaner, etc. These tools are not mandatory for uninstallers and are added mainly to improve the merchantability (since pure uninstallers are unpopular today).