Getting Started
To start, the tools available for creating setup program and for deployment are now integrated within the Visual Studio IDE. You may have noticed that within Visual Studio .NET, there are some new project types. If you select File | New | Project and choose the folder for Setup and Deployment Projects, you can see that we have a number of different templates available for use when creating setup projects.

Setup Projects
If you are developing Windows-based applications, you could use a Setup Project to create a Windows Installer file for your application. Using this, you could deploy your application to a number of different Windows platforms and allow users to install all of the files required by your application on their local machine.
Web Setup Projects
For web-based applications, there is also a Web Setup Project that can also be used to create a Windows Installer file, but with a different target. For Windows applications, the associated files are usually installed on the local machine; for web-based applications, the required files will be installed in a virtual directory on (or accessible by) your web server.
Merge Module Project
Merge modules provide a container for application components and make it easy to distribute a number of files at once. An example of where a merge file could be used is with report distribution - you could create a merge file with all of your reports and simply add the merge file to our setup program (instead of adding them as individual reports).Merge modules have a number of inherent benefits, including version control and portability between projects - when you are ready to update your application with a new version of all of the reports, you could simply create another merge module and include that in your setup program, making a neat transition between different versions of files.Crystal Reports.NET includes a number of merge modules for its own framework and runtime files that we will be using a little later with our own setup projects.
The creation and distribution of Merge modules and CAB files is outside of the scope of this book, but you can find more information in the Visual Studio .NET Environment documentation within the combined help collection.
Setup Wizard
To make things a bit easier, there is a Setup Wizard that can guide you through creating a setup project for your application. The Setup Wizard can be selected through the File | New | Project menu, and then choosing the Setup and Deployment Projects folder, which we saw in the previous screen shot.

The Setup Wizard will guide you through the creation of your project, selecting a project type, and the files that are to be distributed. When you have finished, you will have a new setup project that you can customize as required.Before we get into actually working with these different types of projects and the walk-throughs for this chapter, we are going to look at some of the basic deployment requirements.