Title: Deploying Applications with Visual Studio 'NET Adam Semel Microsoft Support Professional Windows Ins
1Deploying Applications with Visual Studio
.NETAdam SemelMicrosoft Support
ProfessionalWindows InstallerMicrosoft
Corporation
2Objectives
- Make your new applications available to end users
- Deploy your solutions from the development
environment - Discuss the new features in Microsoft Visual
Studio .NET that allow you to package and deploy
your solution to the production environment
3Agenda
- Setup project types
- Creating Windows Installerbased projects
- Creating CAB projects
- Deploying the Microsoft .NET Framework
4Visual Studio .NET Setup Project Types
- Standard setup projects
- Web setup projects
- Merge module projects
- CAB projects
5Standard Setup Projects
- Compiled into a Windows Installer installation
file (.msi) - Install and manage client applications, Windows
Service applications, and business logic objects - Simple user interface installation program
- Integrate with Add/Remove Programs
- Robust setup routine
6Standard Setup Projects (2)
- Capabilities
- Make changes to the registry
- Create file associations
- Install assemblies into the Global Assembly Cache
(GAC) - Register assemblies for COM Interop
- Run custom tasks in the final stage of
installation - Check hardware and prerequisite software before
installation
7Web Setup Projects
- Packaging and deploying Web-based solutions
- Same functions and capabilities as a standard
setup project, except it installs to a virtual
root folder on a Web server
8Merge Modules and CAB Projects
- Merge module projects
- Compiled into a Windows Installer merge module
file (.msm) - Package components, not complete applications
- Used in .msi files to make sure correct
installation of components - CAB projects
- Package Microsoft ActiveX controls to be
downloaded from a Web server
9Creating Setup and Web Setup ProjectsAdd Project
Output Groups
- Add project output groups instead of individual
files - Permits Visual Studio .NET to easily detect
dependencies
10Creating Setup and Web Setup ProjectsDesign the
User Interface
- Use the User Interface Editor to design the user
interface - Specify the predefined user interface dialog boxes
11Creating Setup and Web Setup Projects (2)Design
the User Interface
12Creating Setup and Web Setup ProjectsManage
Files and Folders
- Use the File System Editor to manage files and
folders - Add project outputs and files
- Add custom folders and special folders
- Specify locations where files will be installed
- Create shortcuts
13Creating Setup and Web Setup Projects (2)Manage
Files and Folders
14Creating Setup and Web Setup Projects (3)Manage
Files and Folders
15Creating Setup and Web Setup ProjectsManage
Registry Settings
- Use Registry Editor to manage registry settings
- Add keys below any top-level key
16Creating Setup and Web Setup Projects (2)Manage
Registry Settings
17Creating Setup and Web Setup Projects (3)Manage
Registry Settings
18Creating Setup and Web Setup ProjectsManage File
Associations
- Use the File Types Editor to manage file
associations - Establish file associations
- Specify actions permitted for each file type
19Creating Setup and Web Setup Projects (2)Manage
File Associations
20Creating Setup and Web Setup ProjectsManage
Dependencies
- Dependencies are automatically detected and added
to the project for - Project output groups
- Assemblies
- Merge modules
- Dependencies may not be detected for
- Unmanaged components
- COM components added directly
21Creating Setup and Web Setup ProjectsDeploy
Shared Assemblies to the Global Assembly Cache
- Add the assembly to the Global Assembly Cache
(GAC) folder in the File System Editor - Global Assembly Cache folder
- No settable properties
- Cannot create shortcuts to folder or assemblies
in the folder
22Creating Setup and Web Setup Projects (2)Deploy
Shared Assemblies to the Global Assembly Cache
23Creating Setup and Web Setup ProjectsInclude
Custom Actions
- Use the Custom Actions Editor to include customer
actions - Custom actions can be DLL, EXE, script, or
assembly - Can add multiple custom actions
24Creating Setup and Web Setup Projects (2)Include
Custom Actions
25Creating Setup and Web Setup Projects (3)Include
Custom Actions
26Creating Setup and Web Setup ProjectsManage
Conditional Deployment Launch Conditions
- Use the Launch Conditions Editor to manage
conditional deployment - Stop installation if a condition is not met
- Can be used to verify the
- Operating system version
- Existence of
- Files or registry keys
- .NET Framework
27Creating Setup and Web Setup ProjectsManage
Conditional Deployment Condition Properties
- Set the Condition property
- Can be used on files, folders, registry entries,
and custom actions - Example Install file only on Windows 2000 or
later - VersionNTgt500
28Creating Setup and Web Setup Projects (2)Manage
Conditional Deployment Condition Properties
29Creating Setup and Web Setup Projects (3)Manage
Conditional Deployment Condition Properties
30Creating Setup and Web Setup ProjectsCreate
Localized Installations
- Create a separate setup for each localized
version - Set the Localization property of the project in
the Properties window - Determines the language for default text in the
user interface - Run the installation to see the translated text
31Creating Setup and Web Setup Projects (2)Create
Localized Installations
32Creating Setup and Web Setup ProjectsSetting
Deployment Project Properties
- AddRemoveProgramsIcon - Icon to be displayed in
the Add/Remove Programs dialog box - Author - Name of the author of an application or
component - Description - Free-form description for an
installer - Subject - Additional information describing an
application or component
33Creating Setup and Web Setup Projects (2)Setting
Deployment Project Properties
- SupportPhone - Phone number for support
information for an application or component - SupportUrl - URL for a Web site containing
support information for an application or
component - Title - Title of an installer
- Version - Version number of an installer
34Creating Setup and Web Setup Projects (3)Setting
Deployment Project Properties
35Creating Setup and Web Setup ProjectsPackaging
Your Files
- Single setup file - Distribute one file (.msi)
that contains all of the files needed for
installation - Uncompressed files - All of the files are put in
the same directory (and subdirectories) as the
.msi file - CAB files - Packaged in one or more CAB files in
the same directory as the .msi file
36Creating Setup and Web Setup Projects
(2)Packaging Your Files
37Creating Setup and Web Setup ProjectsMake Sure
Windows Installer 2.0 Is Installed
- Windows bootstrapping application
- Setup looks for and installs (if required)
Windows Installer 2.0 before installing your
application - Web bootstrapping application
- Same as Windows bootstrapping application, except
you make it available for download from a Web
server instead of with your .msi file - Use the Settings option to specify Web location
38Creating Setup and Web Setup Projects (2)Make
Sure Windows Installer 2.0 Is Installed
39Creating Merge Module ProjectsUsing the Module
Retargetable Folder
- By default, files are installed to folder
locations specified by the setup developer - Put files in the Module Retargetable folder to
permit developers to retarget your files to a
different location - When the merge module is added to a deployment
project, the author can set the Module
Retargetable Folder property - Set the DefaultLocation property to provide a
default location
40Creating Merge Module Projects (2)Using the
Module Retargetable Folder
41Creating Merge Module ProjectsMerge Module
Project Properties
- ModuleSignature
- Specifies a unique identifier for the merge
module - Name of the merge module followed by a GUID
- Must be unique for each released version
- Never manually edit the GUID
- Use the GUID generation facilities in the Module
Signature dialog box
42Creating Merge Module Projects (2)Merge Module
Project Properties
43Creating Merge Module ProjectsBuild Options
- Output file name
- Compression
- Authenticode signature
44Creating CAB Projects
- Properties permit you to specify a level of
compression and implement Authenticode signing - Friendly name - Public name for a CAB file in a
CAB project - Version - Version number a CAB file
- Web dependencies - URL, friendly name, and
version of other CAB files that must be installed
45Deploy the .NET Framework
- Windows Formsbased applications
- Requires the .NET Framework to be installed on
the client computer - Web-based applications
- If your GUI is only browser-based, and does not
include .NET managed controls, you do not have to
distribute the .NET Framework to your client
computers - Web servers
- If you use managed code or the .NET Framework
class libraries in your server-side code, then
install the .NET Framework
46Deploying the .NET Framework (2)
- Warning when building setup project
- Options for installing the framework
- Manually from Microsoft.com
- Automatically using Setup.exe sample (see MSDN
help topic Redistributing the .NET Framework)
47Troubleshooting Visual Studio .NET Deployment
Projects
- A Knowledge Base article is being written that
will help resolve problems with unrecoverable
build errors.
(This slide will be updated with the actual
article number and a link when the article
becomes available.)
48Additional Resources
- Deploying .NET Applications
- http//msdn.microsoft.com/library/default.asp?url
/library/en-us/dnbda/html/DALGRoadmap.asp - Unrecoverable build errors Knowledge Base
article in progress - Redistributing the .NET Frameworkhttp//msdn.mi
crosoft.com/library/default.asp?url/library/en-us
/dnnetdep/html/redistdeploy.asp
49- Thank you for joining todays Microsoft Support
- WebCast.
- For information about all upcoming Support
WebCasts, - and access to the archived content (streaming
media - files, PowerPoint slides, and transcripts),
visit - http//support.microsoft.com/webcasts/
- Your feedback is sincerely appreciated. Please
send any - comments or suggestions about the Support
- WebCasts to supweb_at_microsoft.com.