The Windows Installer (previously known as Microsoft Installer)
 is a software component used for the installation, maintenance, and 
removal of software on modern Microsoft Windows systems. The 
installation information, and often the files themselves, are packaged 
in installation packages, loosely relational databases structured
 as COM Structured Storages and commonly known as "MSI files", from 
their default file extension. Windows Installer contains significant 
changes from its predecessor, Setup API. New features include a GUI 
framework and automatic generation of the uninstallation  sequence. 
Windows Installer is positioned as an alternative to  stand-alone 
executable installer frameworks such as older versions of InstallShield 
and NSIS.
Microsoft encourages third parties to use Windows Installer as the basis for installation frameworks, so that they synchronize correctly with other installers and keep the internal database of installed products consistent. Important features such as rollback and versioning depend on a consistent internal database for reliable operation. Furthermore, Windows Installer facilitates the principle of least privilege by performing software installations by proxy for unprivileged users.
Microsoft encourages third parties to use Windows Installer as the basis for installation frameworks, so that they synchronize correctly with other installers and keep the internal database of installed products consistent. Important features such as rollback and versioning depend on a consistent internal database for reliable operation. Furthermore, Windows Installer facilitates the principle of least privilege by performing software installations by proxy for unprivileged users.