DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.

28
DEV325 Deploying Visual Studio .NET Applications Billy Hollis Author / Consultant

Transcript of DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.

Page 1: DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.

DEV325

Deploying Visual Studio .NET Applications

Billy HollisAuthor / Consultant

Page 2: DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.

Agenda

Summary of deployment improvements in .NET

Deployment projects for web-based systems

Deployment choices for client systems

How to choose the right deployment option for client systems

Dynamic Properties

Deploying to the Global Application Cache (GAC)

Page 3: DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.

What we will not talk about

Installing the .NET FrameworkSee session DEV396 – “Microsoft Windows Forms No-Touch Deployment Tips and Tricks”, Thursday, 11:45-13:00

For the remainder of this session, we will assume the .NET Framework is installed on all target systems

Details of no-touch deploymentDEV395 yesterday covered this

Page 4: DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.

Deployment Improvements in .NET

No registration means “copy and run”

Side-by-side eliminates DLL Hell

Built in capabilities to assist in deploymentDeployment projects in Visual Studio

Configuration files and dynamic properties

“No-touch” Internet deployment

Page 5: DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.

ServerServer

Demo App Architecture

WebWebServiceServiceASP.NETASP.NET

DatabaseDatabase(SQL 2000)(SQL 2000)

ClientClient

WinformWinformClientClientVB.NETVB.NET

COMCOMVB6VB6

Page 6: DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.

Deployment Projects for Web-Based Systems

Best option for most server-based systems with web component is a “Web Setup Project” in the “Setup and Deployment Projects” folder

Appropriate for ASP.NET Web Forms and Web Services

Page 7: DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.

Deployment Project for Demo App Server Elements

demodemo

Page 8: DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.

Deployment Choices for Client Systems

Copy and runRun from read-only media (CDROM, DVD)Shared network drive“No-touch” deployment over the InternetDeployment projectApplication Updater blocksCustom solution

Page 9: DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.

Copy and Run Deployment

“Just like DOS”

“Zero-impact” if done properlyUninstall by deleting directory

Suitable for small, simple, static applications

May be a part of a more complex deployment

No security restrictions

Page 10: DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.

Read-Only Media

Run straight from read-only mediaCDROMDVD

Useful for data-browsing programsPlace program on CD with dataNo separate install necessaryCan just Autorun the program

No security restrictions

Page 11: DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.

Deploy from Shared Network Drive

Simple – easy to manageJust update files and assemblies in one place

Appropriate for some smart-client corporate applications

Security sandboxLimitations on web access, windowing, printing

Suitable for applications that are:Relatively small

Widely used, but not heavily used

Page 12: DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.

Internet deployment

Also called “No touch” deployment

Many security limitations

Must download modules every time they are executed to check version

Does not handle anything except assemblies (e.g. configuration files)

Suitable only for very simple applications

Page 13: DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.

Limitations for Internet Deployment – the ChalkTalk program

demodemo

Page 14: DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.

Modifying Security Policy

Both shared network drive and Internet deployment scenarios

Change security policy with configuration tool in Control Panel

Can package and distribute security policy in MSI file

More details in session DEV396

Page 15: DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.

Changing and deploying security policy

demodemo

Page 16: DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.

Deployment Projects for Smart Clients

Replaces “Setup Wizard” in VB6

Creates MSI file

Similar to web setup project shown earlier

Brief demonstration

Page 17: DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.

Application Updater Blocks

Allow dynamic updating of client applications from deployment directory on server

Details in DEV396

Good replacement for no-touch deployment for more complex applications

Page 18: DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.

Custom deployment solutions

Not hard to createTypically include:

Deployment directory on serverCapability to check for new versionsAutomatic download of new versions once detected (file copy / FTP / etc.)Configurability to different groups of users

Suitable for complex applications and custom situationsAn example is available on my web site

Page 19: DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.

Dynamic Properties

Useful way to customize settings for client applications

Visual Studio IDE makes it easy

Settings stored in application configuration file

Page 20: DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.

Dynamic Properties

demodemo

Page 21: DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.

Deploying to the Global Application Cache

Only do it if you really need to

Shared assemblies

Assemblies must have strong name

Installing to GAC does not make assembly show up in Visual Studio References dialog

That takes a separate step

Page 22: DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.

Deploying to the Global Application Cache

demodemo

Page 23: DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.

Summary

Decide on deployment early in the development cycle

Choose deployment option based on the type of application you have

Become familiar with the options available

Don’t be afraid to write a custom deployment solution

Page 24: DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.

Ask The ExpertsGet Your Questions Answered

Billy will be in the Ask the Experts booth Wednesday afternoon from 2:00 to 4:00

Page 25: DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.

Community Resources

Community Resourceshttp://www.microsoft.com/communities/default.mspx

Most Valuable Professional (MVP)http://www.mvp.support.microsoft.com/

NewsgroupsConverse online with Microsoft Newsgroups, including Worldwidehttp://www.microsoft.com/communities/newsgroups/default.mspx

User GroupsMeet and learn with your peershttp://www.microsoft.com/communities/usergroups/default.mspx

Billy’s Web Sitehttp://www.dotnetmasters.com

Page 26: DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.

evaluationsevaluations

Page 27: DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.

SOFTWARE LEGENDSOFTWARE LEGENDBilly HollisBilly Hollis

THURSDAY 3rd JULY at 16.15-16.45 hrs

Meet the AuthorsMeet the Authors Book signingBook signing

Page 28: DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.

© 2003 Microsoft Corporation. All rights reserved.© 2003 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.