Download presentation
Presentation is loading. Please wait.
Published byAileen Franklin Modified over 9 years ago
1
DEV395 No Touch Deployment for Windows Forms Jamie Cool Program Manager.NET Client Microsoft Corporation
2
Introduction The Why and the How No-Touch Deployment No-Touch Update Code Download Auto-Updating Applications Future Directions
3
Why Client Installs are Hard System Impact (app1 breaks app2) First Time Deployment Application Update Requires full re-install Goal: Avoid installs altogether
4
Application Isolation Built into CLR Apps are isolated, self-describing Side-By-Side Multiple versions co-exist Apps default to original build assembly
5
URL Launched Apps Run managed apps from URL No-Touch Update for Free On-Demand Download http://myserver/myapp.exe
6
Launching Apps from URLs demo demo
7
Security Partially Trusted Applications Security based on app’s origins Strong Names Use to grant extended permissions Security based on who signed assembly
8
Downloaded Code Caching Stored in Download cache Separate from IE cache Maintains URL for security Configurable cache size Per user install
9
Launching from Internet Explorer MyApp.exe Web Server InternetExplorer DownloadCache Client App.NETFramework ManagedExe? MyApp.dll HTTP HTTP
10
URL Launching – Security and Updates demo demo
11
Additional No-Touch Options Web Browser Controls Contained in a Web Page Good migration option Run from File Share Enabled by zero-impact (no registry)
12
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)
13
No-Touch Update App needs local install Registers file handler Performs GAC installs Needs desktop integration How to update w/o client touch?
14
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
15
Code Download demo demo
16
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
17
Auto-Updating Applications Poll for available updates Download updates reliably in background Apply updates Difficult when app is running
18
.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
19
Architecture V1 AppStart.exe MyApp V1.1 AppStart.exe AppStart.config MyApp V1 Domain Web Server Check For Updates DownloadUpdate HTTP MyApp V1.1 Domain
20
.NET Updater Application Block demo demo
21
UAB Considerations Pro : Auto-update Pro : Updates running application Pro : Background download Pro : Offline support Con: Requires install Con: No Win9x support by default
22
Deployment Summary URL Launched App Code Download UAB No-Touch Update Yes No-Touch Deployment Yes Dynamic Modules Yes Offline Yes Full Trust Yes Win 9x Yes
23
Future Directions Continuing Goals Low TCO standard for client apps Reduce necessary development work No-Touch Deployment Framework Deployment & Update API Framework and Tools support Goal: Trivial to enable
24
Other Talks
25
Community Resources Windows Form.Net http://www.windowsforms.net Windows Forms Forums http://www.windowsforms.net/Forums/ MSDN Support Database http://msdn.microsoft.com/support/
26
Community Resources http://www.microsoft.com/communities/default.mspx Most Valuable Professional (MVP) http://www.mvp.support.microsoft.com/ Newsgroups Converse online with Microsoft Newsgroups, including Worldwide http://www.microsoft.com/communities/newsgroups/default.mspx User Groups Meet and learn with your peers http://www.microsoft.com/communities/usergroups/default.mspx
27
evaluations evaluations
28
© 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.