Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All
Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here.

Setup and Deployment Projects 

Visual Studio provides templates for four types of deployment projects: Merge Module Project, Setup Project, Web Setup Project, and Cab Project. In addition, a Setup wizard is provided to help step you through the process of creating deployment projects. You can see the templates and the wizard in the New Project dialog box under the Setup and Deployment Projects node.


The following are guidelines for choosing the right type of deployment project for your project.

Project Type Purpose

Merge Module Project

Packages components that might be shared by multiple applications.

Setup Project

Builds an installer for a Windows-based application.

Web Setup Project

Builds an installer for a Web application.

Cab Project

Creates a cabinet file for downloading to a legacy Web browser.

Smart Device Cab Project

Creates a Cab project to deploy device applications.

Merge Module projects allow you to package files or components into a single module to facilitate sharing. The resulting .Msm files can be included in any other deployment project.

Cab projects allow you to create a .Cab file to package ActiveX components that can be downloaded from a Web server to a Web browser. The distinction between Setup and Web Setup projects is where the installer will be deployed:

  • For a Setup project, the installer will install files into a Program Files directory on a target computer.

  • For a Web Setup project, the installer will install files into a Virtual Root directory on a Web server.

    Caution noteCaution

    Once created, the type of a project cannot be changed between Web and standard. If you have created a standard deployment project and later decide to deploy it to a Web, you will need to create a new project.

See Also

Community Additions

© 2015 Microsoft