Installer Projects

   

After you have completed your development efforts, you must create a way to package and distribute your product to users. Where once you might have been limited to creating a setup script requiring a lot of overhead, now you can create a Microsoft® Windows®installer package (.msi) file. Installer package files efficiently install your applications and reduce the cost of application deployment and management for your customers.

Microsoft® Visual Studio® Installer makes it easy for you to create installer package files and gives you powerful tools for customizing them to fit a variety of installation scenarios.

Note   Visual Studio Installer is a tool for authoring Windows installer package files in the Microsoft development environment. Visual Studio Installer is an addition to, not a replacement of, the build, package, and deployment features available in Visual Studio 6.0.

You can still build, package, and deploy native distribution units, compressed cabinet (.cab) files, self-installing executable (.exe) files, and zip archive format (.zip) files with the Visual Studio 6.0 distribution unit features. These traditional scripted setup programs are not based on the new Windows installer. If you want to build an application installer in Visual Studio that takes advantage of the Windows installer, you must build an installer package (.msi) file with Visual Studio Installer.

To create a Windows installer package (.msi) file, you create and work with an installer project (sometimes called setup projects) in the Microsoft development environment. When you're satisfied with the installation configuration established in your installer project, you package it into an .msi file. The .msi file is based on the Windows installer, which adds advantages such as customization, resiliency, and advertisement capabilities to application setups.

In most cases, you can create the installer project and establish the package file framework in one easy step. Then, you can customize your package file as desired.

With Visual Studio Installer, you can create two types of package files:

  • A self-installing installer package (.msi) file, which contains all information necessary for the application installation.

  • A redistributable merge module (.msm file), which is the correct method for sharing files and components among installer packages. That is, your Visual Studio Installer project can package files or components that will be shared among application installers.

    Note   For more information about .msi files and .msm files, see Installer Package Files and Merge Modules.

Visual Studio Installer provides these templates to help you create installer projects in one easy step.

Template Use
Empty Installer template To start an empty installer project you will manually add all necessary elements to.
Empty Merge Module template To start a merge module for sharing code among installers.
Microsoft® Visual Basic® Installer template To start your installer project by importing a Visual Basic project you want to package and distribute.

Each template establishes certain project default properties when you invoke it to start an installer project. Having these defaults set makes it faster and easier for you to create the installer package file. Of course, you can change the defaults to suit your requirements, as necessary.

Note   For information about installer project properties, see the Project Properties Dialog Box topic.

Empty Installer Template

The Empty Installer template creates an installer project containing no project outputs. Certain defaults are set for the installer project, but you must manually add any project outputs, files, and dependencies you want it to contain. This template is useful if you want complete control over what's added to your installer project — that is, if you don't want Visual Studio Installer to help you get started by importing files into the project.

Empty Merge Module Template

The Empty Merge Module template creates an empty merge module (.msm file) in which you can include files, resources, registry entries, and setup logic to install shared files. Installer package (.msi) files incorporate .msm files in order to correctly install shared files.

Visual Basic Installer Template

The Visual Basic Installer project template provides a one-dialog Wizard for importing a Visual Basic project into your installer project. This template adds the Visual Basic project outputs (the end results of other projects, such as .exe files, .ocx controls, .dll libraries, and so on) and their dependencies to your installer project. If any Visual Basic output file has explicit dependencies, the Visual Basic Installer template adds those to your installer project, too. For more information, see Working with Visual Basic Project Dependencies.

Because only project outputs are added (not source or intermediate files), the new installer project is, essentially, a reference from your installer project to the Visual Basic project. If the Visual Basic project changes, you can rebuild your installer project to bring in the most current Visual Basic project outputs. The package file your users install then includes the most current Visual Basic information.