Presentation is loading. Please wait.

Presentation is loading. Please wait.

Deploying Applications with ClickOnce

Similar presentations


Presentation on theme: "Deploying Applications with ClickOnce"— Presentation transcript:

1 Deploying Applications with ClickOnce
Sean Puffett Developer Evangelist Microsoft UK

2 The slides for this event will be posted at:

3 Agenda Introduction ClickOnce Basics Security Programming ClickOnce

4 Introduction Deployment Problems
Client applications can be fragile Will the installation of one application break another application? Traditional DLL-conflict problem Installing client applications is hard and expensive Must affect every client For both the initial installation and updates Web-based applications Solved many deployment issues, but there’s a “but" At the expense of a rich client experience

5 Introduction Version 1.0 of the .NET Framework
Addressed the issue of DLL conflict Introduced application isolation Controlled the versioning of shared components Began to address the ease-of-deployment issue Run executable files from URL or UNC HREF executable files Set the stage for ClickOnce

6 Introduction The Best of the Client and the Web
ClickOnce MSI Client Reach “No Touch” Deployment Low System Impact Install and Run per User Rich and Interactive Offline Access Windows Shell Integration Per-Computer and Shared Components Unrestricted Installation

7 ClickOnce Basics Development Experience
IDE support in Visual Studio 2005 Integrated with core project types Setup is not a post-development task Project Designer Publish pane Security pane Publish Wizard Copies the application to a Web server Server extensions through Microsoft FrontPage® FTP or network file share

8 ClickOnce Basics Declarative Installation
Application manifest Authored by the developer Describes the application Example: which assemblies constitute the application Deployment manifest Authored by the administrator Describes the application deployment Example: which version clients should use

9 ClickOnce Basics Update from the Web
1.0 Application Manifest Deployment Manifest 1.0  1.1 Web Page Link to Manifest 1.1 Application Manifest

10 ClickOnce Basics Deployment Options
Launched applications Application launches but doesn’t install No Start menu and no Add or Remove Programs Always updates on launch Installed applications Install from the Web, a UNC location, or a CD-ROM Start menu and Add or Remove Programs Variety of update options

11 ClickOnce Basics Update Architecture
Deployment Framework Service MIME .application Application Store Launched Yes My Application Update Check? Startup SHIM Installed No

12 ClickOnce Basics Update Options
On application startup If an update is found, ask the user to update the application After application startup If an update is found, ask the user to update on the next run Required updates Specified by using the minimum required version Programmatic updating Integrate the update experience into the application

13 ClickOnce Basics Application Bootstrapper
Installs the application prerequisites .NET FX, Microsoft DirectX®, MDAC, and so on Requires administrator rights Extensible architecture Manages reboots Install the ClickOnce application after the prerequisites Use ClickOnce for automatic updates No automatic updating of prerequisite components

14 ClickOnce Basics The Bootstrapper in Action
Web Server Setup.exe Setup.exe Client PC Dotnetfx.exe Dotnetfx.exe Mdac_typ.exe a Custom.msi Custom.msi Reboot MDAC detected! Bar.application Bar.application a

15 Building, Deploying and Updating a Client Application

16 Security Secure Execution Environment (Sandbox)
ClickOnce applications run in a sandbox by default Permissions are based on origin Internet, Intranet, or Full Trust Ensures that applications are safe to run Similar to Microsoft Internet Explorer and JavaScript Applications often need higher trust Call unmanaged code Access the file system or the registry Connect to a database Consume Web services

17 Security Determining Permission Requirements
Security pane of Project Designer Use to manually configure permissions Permissions Calculator Calculates the least-required permissions Debug in the sandbox Debug applications with partial trust Exception Assistant Microsoft Intellisense® in the sandbox Filtered based on the security context

18 Security Trusted Application Deployment
Establishes deployment authority One-time distribution Configures the trusted license issuer Trust licenses Issued by an authority Deployed with applications Application-developer tasks Obtain a trust license (.tlic file) Set the deployment ticket property

19 Security User Consent Model
Users make trust decisions all the time Installing software from CD-ROMs Useful for targeting random computers Internet or unmanaged Intranet User is the administrator Request the required permissions When the application needs permissions that are higher than the sandbox Administrators can disable prompting through policy

20 Security Secure Updates
ClickOnce manifests are signed XMLDSIG Publisher key is needed to deploy updates Ensures that updates come from the original author Guarantees a unique application identity Only the original publisher can update Prevents the automatic deployment of viruses

21 Configuring ClickOnce Security Permissions

22 Programming ClickOnce Programming Scenarios
Application updating Implement the Update Now menu item Match the client with back-end programs Customize when-to-update logic Limit updates to only early adopters Limit updates based on the server load On-demand download Progressive installation Shell with application plug-ins System.Deployment namespace ApplicationDeployment

23 Programming ClickOnce Application Updating
Control when and how the application updates CheckForUpdate GetUpdateCheckInfo Update Synchronous and asynchronous versions of methods Available only for applications that are deployed through ClickOnce Use IsNetworkDeployed

24 Programming ClickOnce On-Demand Download
Group files in the manifest Put related files in the same group Download files as a group Marks files as optional in the manifest Optional files are not downloaded during the installation AreFilesLocal DownloadFiles Takes a group or file name Simultaneously delivery (synchronous or asynchronous) of multiple downloaded files

25 Implementing User-Initiated Updates

26 Summary ClickOnce makes client-application deployment easy and safe
Visual Studio bootstrapper facilitates the easy redistribution of prerequisites Visual Studio 2005 provides integrated developer support for ClickOnce ClickOnce APIs support a variety of application-update scenarios

27 Additional Information
Post Events Site All information on past events, slide decks etc The UK MSDN Site & Flash Local news, events, webcasts Register to received the bi-weekly MSDN Flash by Try Visual Studio Take a look at the Express products GotDotNet and ASP.NET – lots of excellent resources

28 Additional Information
Visual Studio 2005 MSDN Site ClickOnce Deployment Beta Documentation

29 MSDN Connection Get personalised info and a customised RSS feed
The programming language(s) you’re interested in The technology area(s) you’re interested in The information you want View news, technical resources, events, webcasts and community information Sign up for MSDN Connection at:

30 © 2004 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY. Content created by 3 Leaf Solutions.

31


Download ppt "Deploying Applications with ClickOnce"

Similar presentations


Ads by Google