dev395 no touch deployment for windows forms jamie cool program manager.net client microsoft...

28
DEV395 No Touch Deployment for Windows Forms Jamie Cool Program Manager .NET Client Microsoft Corporation

Upload: aileen-franklin

Post on 19-Jan-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DEV395 No Touch Deployment for Windows Forms Jamie Cool Program Manager.NET Client Microsoft Corporation

DEV395 No Touch Deployment for Windows FormsJamie Cool

Program Manager

.NET Client

Microsoft Corporation

Page 2: DEV395 No Touch Deployment for Windows Forms Jamie Cool Program Manager.NET Client Microsoft Corporation

Introduction

The Why and the How

No-Touch Deployment

No-Touch UpdateCode Download

Auto-Updating Applications

Future Directions

Page 3: DEV395 No Touch Deployment for Windows Forms Jamie Cool Program Manager.NET Client Microsoft Corporation

Why Client Installs are Hard

System Impact (app1 breaks app2)

First Time Deployment

Application UpdateRequires full re-install

Goal: Avoid installs altogether

Page 4: DEV395 No Touch Deployment for Windows Forms Jamie Cool Program Manager.NET Client Microsoft Corporation

Application Isolation

Built into CLR

Apps are isolated, self-describing

Side-By-SideMultiple versions co-exist

Apps default to original build assembly

Page 5: DEV395 No Touch Deployment for Windows Forms Jamie Cool Program Manager.NET Client Microsoft Corporation

URL Launched Apps

Run managed apps from URL

No-Touch Update for Free

On-Demand Download

<a href=“http://myserver/myapp.exe”></a>

Page 6: DEV395 No Touch Deployment for Windows Forms Jamie Cool Program Manager.NET Client Microsoft Corporation

Launching Apps from Launching Apps from URLsURLs

demodemo

Page 7: DEV395 No Touch Deployment for Windows Forms Jamie Cool Program Manager.NET Client Microsoft Corporation

Security

Partially Trusted ApplicationsSecurity based on app’s origins

Strong NamesUse to grant extended permissions

Security based on who signed assembly

Page 8: DEV395 No Touch Deployment for Windows Forms Jamie Cool Program Manager.NET Client Microsoft Corporation

Downloaded Code Caching

Stored in Download cache

Separate from IE cache

Maintains URL for security

Configurable cache size

Per user install

Page 9: DEV395 No Touch Deployment for Windows Forms Jamie Cool Program Manager.NET Client Microsoft Corporation

Launching from Internet Explorer

MyApp.exeMyApp.exe

Web ServerWeb Server

Internet Internet ExplorerExplorer

Download Download CacheCache

Client AppClient App

.NET .NET FrameworkFramework

Managed Managed Exe?Exe?

MyApp.dllMyApp.dll

HTTPHTTP

HTTPHTTP

Page 10: DEV395 No Touch Deployment for Windows Forms Jamie Cool Program Manager.NET Client Microsoft Corporation

URL Launching – URL Launching – Security and UpdatesSecurity and Updates

demodemo

Page 11: DEV395 No Touch Deployment for Windows Forms Jamie Cool Program Manager.NET Client Microsoft Corporation

Additional No-Touch Options

Web Browser ControlsContained in a Web Page

Good migration option

Run from File ShareEnabled by zero-impact (no registry)

Page 12: DEV395 No Touch Deployment for Windows Forms Jamie Cool Program Manager.NET Client Microsoft Corporation

No-Touch Considerations

PRO: Low TCO

PRO: Automatic updates

PRO: Inherently safe (Partial Trust)

CON: Online Only

CON: Cannot install in GAC

CON: No registration possible (e.g., file handlers)

Page 13: DEV395 No Touch Deployment for Windows Forms Jamie Cool Program Manager.NET Client Microsoft Corporation

No-Touch Update

App needs local installRegisters file handler

Performs GAC installs

Needs desktop integration

How to update w/o client touch?

Page 14: DEV395 No Touch Deployment for Windows Forms Jamie Cool Program Manager.NET Client Microsoft Corporation

Code Download

Load assemblies from Web server

Use Assembly.LoadFrom(url)Downloads and caches assembly

Automatically checks for new versions

Permissions based on assembly origin

Page 15: DEV395 No Touch Deployment for Windows Forms Jamie Cool Program Manager.NET Client Microsoft Corporation

Code DownloadCode Download

demodemo

Page 16: DEV395 No Touch Deployment for Windows Forms Jamie Cool Program Manager.NET Client Microsoft Corporation

Code Download Considerations

Pro: Small initial install

Pro : Incremental download

Pro : Auto-update

Con: No offline support

Con: Updates only once per execution

Con: Must factor apps appropriately

Page 17: DEV395 No Touch Deployment for Windows Forms Jamie Cool Program Manager.NET Client Microsoft Corporation

Auto-Updating Applications

Poll for available updates

Download updates reliably in background

Apply updatesDifficult when app is running

Page 18: DEV395 No Touch Deployment for Windows Forms Jamie Cool Program Manager.NET Client Microsoft Corporation

.NET Updater Application Block (UAB)

Patterns & Practices architecture block

Enables auto-updating of installed apps

Provides offline support, Full Trust

Uses BITS for downloads

Highly extensible

Page 19: DEV395 No Touch Deployment for Windows Forms Jamie Cool Program Manager.NET Client Microsoft Corporation

Architecture

V1V1

AppStart.exeAppStart.exe

MyAppMyApp

V1.1V1.1

AppStart.exeAppStart.exe

AppStart.configAppStart.config

MyApp V1 MyApp V1 DomainDomain

Web ServerWeb Server

Check ForCheck ForUpdatesUpdates

DownloadDownloadUpdateUpdate

HTTPHTTP

MyApp V1.1 MyApp V1.1 DomainDomain

Page 20: DEV395 No Touch Deployment for Windows Forms Jamie Cool Program Manager.NET Client Microsoft Corporation

.NET Updater .NET Updater Application BlockApplication Block

demodemo

Page 21: DEV395 No Touch Deployment for Windows Forms Jamie Cool Program Manager.NET Client Microsoft Corporation

UAB Considerations

Pro : Auto-update

Pro : Updates running application

Pro : Background download

Pro : Offline support

Con: Requires install

Con: No Win9x support by default

Page 22: DEV395 No Touch Deployment for Windows Forms Jamie Cool Program Manager.NET Client Microsoft Corporation

Deployment SummaryURL

Launched App

Code Download

UAB

No-Touch Update

Yes Yes Yes

No-Touch Deployment

Yes

Dynamic Modules

Yes

Offline Yes

Full Trust Yes

Win 9x Yes Yes

Page 23: DEV395 No Touch Deployment for Windows Forms Jamie Cool Program Manager.NET Client Microsoft Corporation

Future Directions

Continuing GoalsLow TCO standard for client apps

Reduce necessary development work

No-Touch Deployment FrameworkDeployment & Update API

Framework and Tools support

Goal: Trivial to enable

Page 24: DEV395 No Touch Deployment for Windows Forms Jamie Cool Program Manager.NET Client Microsoft Corporation

Other Talks

Page 25: DEV395 No Touch Deployment for Windows Forms Jamie Cool Program Manager.NET Client Microsoft Corporation

Community ResourcesCommunity ResourcesWindows Form.Net

http://www.windowsforms.net

Windows Forms Forumshttp://www.windowsforms.net/Forums/

MSDN Support Databasehttp://msdn.microsoft.com/support/

Page 26: DEV395 No Touch Deployment for Windows Forms Jamie Cool Program Manager.NET Client Microsoft Corporation

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

Page 27: DEV395 No Touch Deployment for Windows Forms Jamie Cool Program Manager.NET Client Microsoft Corporation

evaluationsevaluations

Page 28: DEV395 No Touch Deployment for Windows Forms Jamie Cool Program Manager.NET Client Microsoft Corporation

© 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.