Sometime around 2000, Microsoft introduced Windows Installer. This Windows component provides abilities for processing various installation and uninstallation actions, and dealing with various interactions with the system. This component was formerly called Microsoft Installer, and the information about the actions a particular installation requires are contained in an MSI (MicroSoft Installer) file.
Making use of Windows Installer covers various Windows Logo requirements. Although most installation technologies on the market would likely cover the same requirements, making use of any of these technologies, rather than writing your own, means less work testing.
MSI support is available for every supported version of Windows. While there are various other technologies that can be used, for simplicity I'm going to focus on technologies that support or produce MSI files (that is, support Windows Installer). A single chapter can't possibly cover even the most...