Setup projects allow you to create installers in order to distribute an application. The resulting Windows Installer (.msi) file contains the application, any dependent files, information about the application such as registry entries, and instructions for installation. When the .msi file is distributed and run on another computer, you can be assured that everything necessary for installation is included; if for any reason the installation fails (for example, the target computer does not have the required operating system version), the installation will be rolled back and the computer returned to its preinstallation state.
There are two types of setup projects in Visual Studio: Setup projects and Web Setup projects. The distinction between Setup and Web Setup projects is where the installer will be deployed: Setup projects will install files into the file system of a target computer; Web Setup projects install files into a virtual directory of a Web server.
In addition, a Setup Wizard is available to simplify the process of creating a Setup or Web Setup project.