Types of Setup projects
• The Setup Project creates a Windows Installer project for a Windows-based application.
• The Web Setup Project creates a Windows Installer Web project to which files can be added manually during the development process.
• The Merge Module Project packages components that might be shared by multiple applications.
• The Setup Wizard assists developers step by step during the creation of a setup project.
• The Cab Project prepares a cabinet file for downloading to a legacy Web browser.
Steps for Windows Application
Take a Setup project from Visual Studio Deployment Projects. By default you will get.
File System on Target Machine
Different Editors in Setup project
1. File System on Target Machine.
2. Registry on Target Machine
3. File Types
4. User Interface
5. Custom Actions
6. Launch Conditions
In File System on Target Machine. We will find
Application Folder, Users Desk Top and Users Programs Menu
These all are General folders
Application Folder: This is where we need to copy all exe and dependencies of the application these will directly copied to Client machine Installation folder.
For adding application exe just right click on Application Folder area and Select Project Out put and for any Assemblies right click select Assembly it will show all Public Assemblies.
Users Desk top: In any Situation placing Short cuts or any files in Users Desk top Just drag file from Application Folder for placing Application short cut First select Application Project Output file in that right click for Options and Select Create Short cut Option it will create a short cut and Select Shortcut file and Set appropriate prop's.
Users Programs Menu: This also place for adding Short cuts and read me files and Product documentations.
It has numerous special folders and a provision for adding User defined folders.
Registry on Target Machine:
In this it will show all Root Registry Key's and it will provide a provision for adding a Key and Value at any place. This will add these keys in client machine directly.
Use this editor to add file types and actions to apply to these file types, which are defined by their extension. For example, in the following figure, the file type FGG (with extension .fgg) that will have the action Open is defined.
Use this editor to tailor the appearance of the setup application. These settings can hide some screens from the setup wizard or can add more screens from a collection of template styles. In the following figure, you can see that it is possible to define which texts to show or specific parts of the wizard
Here Install and Administrative Install we need to set props for Install.
By default u will get Welcome, Installation Folder, Confirm Installation, progress, and Finish Screens.
Use this editor to specify which programs to execute when a specific action has been selected. This feature can be very useful to install further components or to create specific database objects. These actions can run under specific events, such as:
• Install the application
• Rollback the installation
• Uninstall the application
Use this editor to specify which conditions to check on the target machine.
Validations can include file search, registry search, Component search or a particular deployment condition. Consider Display 4 where I added a Launch Condition and set the property condition as "PhysicalMemory>5000" i.e. 5GB and gave a custom error message "Physical Memory is less than 5GB." After the build when I tried to install it gave me error message as shown in Display 5 and cancelled the installation process, obviously my system had less than 5GB HD space and condition evaluated to false.
Note: For List of properties available go to MSDN help and search on Property Reference. There is a launch condition "MsiNetAssemblySupport" by default. This can be removed if computer on which your application is being installed does not support CLR.
Some Important Props in Setup Project
After completion of the project preparation Select project and press F4 in the property window mainly set Manufacturer and Project name.
The one sticking point to all of this has been updating the installer version with each build. A Windows Installer MSI includes three GUIDs which identify the application being installed:
1. Upgrade Code - This identifies the application and should not change through it's lifetime
2. Package Code - This identifies a particular version of the MSI installer and should never be reused across builds. It must always be updated.
3. Product Code - This identifier is used to ID a particular version of the application. It is up to the installer author to decide when to assign a new product code. MSDN gives the example that in case where changes to the product are "relatively" minor; a new product code does not need to be assigned.
This tool can be used to update each of these values separately by passing it a GUID for the desired code. By default, it will generate a GUID to use for both the product and package values, and will not modify the upgrade value.
Files Created in Setup project
This file is the installer database required by Windows Installer to setup your application.
This file is the only one to distribute if the target system has Windows Installer already installed. However, it is recommended to distribute the entire set of files to make sure that the program can be installed if Windows Installer is not present.
This program installs Windows Installer in Windows 95/98/Me.
This program installs Windows Installer in Windows NT/2000/XP/.NET.
Note that Windows 2000, XP, and Microsoft Windows Server 2003 already include Windows Installer, but this distribution file might contain a newer version.
This application executes Windows Installer to install your application using the provided .msi file
This program checks that Windows Installer is available in the system, will install it if required, and then install the application.
This file is the configuration file used by setup.exe to point to the .msi file
Dhiraj C. Solanki