Microsoft Australia Security Summit Deploying Applications with ClickOnce Andrew Coates Developer Evangelist Microsoft Australia Andrew.

Slides:



Advertisements
Similar presentations
SAURABH PANT PROGRAM MANAGER MICROSOFT CORPORATION Configuring ClickOnce to best work for your deployment scenario.
Advertisements

AVG Internet Security 7.5 Product presentation.
System Center Configuration Manager Push Software By, Teresa Behm.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 9: Implementing and Using Group Policy.
Windows Forms 2.0 – ClickOnce Stephen Turner Software Design Engineer
What’s New for Smart Client Developers in Visual Studio 2005? Mike Pelton Systems Engineer Microsoft Ltd
Create Windows ® Applications with.NET Allan Knudsen.NET Developer Evangelist Microsoft.
What’s New for Smart Client Developers in Visual Studio 2005? Mike Pelton Systems Engineer Microsoft Ltd
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 12: Managing and Implementing Backups and Disaster Recovery.
Microsoft SharePoint 2013 SharePoint 2013 as a Developer Platform
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 10: Server Administration.
Lesson 18: Configuring Application Restriction Policies
Maintaining and Updating Windows Server 2008
Visual Studio Whidbey: Deploying Applications Using ClickOnce Sean Draine Program Manager Microsoft Corporation Sean Draine Program Manager Microsoft Corporation.
1 ClickOnce: Advanced Topics in Web Based Application Deployment for Windows Forms and Avalon Jamie Cool Program Manager Microsoft Corporation Jamie Cool.
Advanced Deployment Topics – MSI Enhancements Om Sharma Program Manager, Windows Installer Microsoft Corporation.
OnBase Module Deployment
Windows Forms in Visual Studio 2005: An Overview Saurabh Pant Program Manager Microsoft Corporation.
Winter Consolidated Server Deployment Guide for Hosted Messaging and Collaboration version 3.5 Philippe Maurent Principal Consultant Microsoft.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 12: Managing and Implementing Backups and Disaster Recovery.
1 of 5 This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2007 Microsoft Corporation.
Module 15 Configuring and Deploying Windows Client Applications.
Chapter 5 Roles and features. objectives Performing management tasks using the Server Manager console Understanding the Windows Server 2008 roles Understanding.
Module 1: Installing Windows XP Professional. Overview Manually Installing Windows XP Professional Automating a Windows XP Professional Installation Using.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
OFC302 Building Smart Document Solutions in Word & Excel Martin Sawicki Lead Program Manager.
ITE 370. Deployment Deployment is the process used to distribute a finished application (or component) to be installed on other computers.
Users’ reviews of TuneUp Utilities 2011 A brief Introduction of types of software Install Internet Information Services Install Microsoft Office 2010.
Module 8: Managing Client Configuration and Connectivity.
Threat Management Gateway 2010 Questo sconosciuto? …ancora per poco! Manuela Polcaro Security Advisor.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 12: Managing and Implementing Backups and Disaster Recovery.
11 MANAGING AND DISTRIBUTING SOFTWARE BY USING GROUP POLICY Chapter 5.
 Evolution of Smart Client  What is Smart client?  Types of Smart client  Architectural challenges  Smart Client Architecture  Demo application.
DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.
OFC290 Information Rights Management in Microsoft Office 2003 Lauren Antonoff Group Program Manager.
Performing Software Installation with Group Policy Lesson 9.
1 Chapter Overview Publishing Resources in Active Directory Service Redirecting Folders Using Group Policies Deploying Applications Using Group Policies.
Windows Forms in Visual Studio 2005: An Overview Name: Joe Stegman Title: Lead Program Manager Session code.
Module 5: Configuring Internet Explorer and Supporting Applications.
Create Windows ® Applications with.NET Carlotta Eaton ( Associate Professor of IST New River Community College Slides by Microsoft.
Section 11: Implementing Software Restriction Policies and AppLocker What Is a Software Restriction Policy? Creating a Software Restriction Policy Using.
Name Microsoft Student Partner Overview of the Visual Studio 2005 Express Products.
VITALE, CATURANO & COMPANY LTD Microsoft SharePoint Web Part Development Overview VITALE, CATURANO & COMPANY LTD SharePoint Developer Series – Web Part.
DEV303 ASP.NET: Leveraging Visual Studio.NET For Web Projects Tony Goodhew Product Manager Microsoft Corp.
Purpose Intended Audience and Presenter Contents Proposed Presentation Length Intended audience is all distributor partners and VARs This would be presented.
DEV396 Windows Forms: No Touch Deployment Tips and Tricks Jamie Cool Program Manager.NET Client Microsoft Corporation.
Deploying Software with Group Policy Chapter Twelve.
Package & Deploy. OBJECTIVES Package Deploy Way to package.
Rob Davidson, Partner Technology Specialist Microsoft Management Servers: Using management to stay secure.
DEV395 No Touch Deployment for Windows Forms Jamie Cool Program Manager.NET Client Microsoft Corporation.
Understand Click Once Deployment Windows Development Fundamentals LESSON 5.1B.
Rabi Satter Sr. Program Manager Microsoft Corporation DTL301.
Microsoft Visual Studio 2005 Tools for the Office System: Building Office Solutions Using Visual Studio 2005 Tools for Office Andrew Coates Developer Evangelist.
Configuring and Deploying Web Applications Lesson 7.
Gowtham Prasad K N Partner Technical Consultant | Microsoft Corporation |
DEV221 Windows Forms in Visual Studio 2005: An Overview Saurabh Pant Program Manager Microsoft Corporation.
Planning Server Deployments Chapter 1. Server Deployment When planning a server deployment for a large enterprise network, the operating system edition.
Maintaining and Updating Windows Server 2008 Lesson 8.
Introduction to Group Policy Lesson 7. Group Policy Group Policy is a method of controlling settings across your network. – Group Policy consists of user.
ClickOnce Deployment (One-click Deployment)
Packaging and Deploying Windows Applications
Visual Studio Tools for Office 2005
The Application Lifecycle
DAT381 Team Development with SQL Server 2005
ClickOnce Deployment (One-click Deployment)
Windows Forms in Visual Studio 2005: An in-depth look at key features
Windows Forms in Visual Studio 2005: An Overview
Mark Quirk Head of Technology Developer & Platform Group
Contexualized Data In Document Authoring
Presentation transcript:

Microsoft Australia Security Summit Deploying Applications with ClickOnce Andrew Coates Developer Evangelist Microsoft Australia Andrew Coates Developer Evangelist Microsoft Australia

Microsoft Australia Security Summit Community Things Brisbane.NET User Group 3 rd Tuesday of Month Gold Coast.NET User Group Irregular Community Dinner tonight 7:30 Royal Thai Orchid Little Cribb St, MILTON All Welcome Drinks earlier if you get there beforehand MSDN Connection Surf Board Brisbane.NET User Group 3 rd Tuesday of Month Gold Coast.NET User Group Irregular Community Dinner tonight 7:30 Royal Thai Orchid Little Cribb St, MILTON All Welcome Drinks earlier if you get there beforehand MSDN Connection Surf Board

Microsoft Australia Security Summit Agenda Introduction ClickOnce Basics Security Programming ClickOnce Introduction ClickOnce Basics Security Programming ClickOnce

Microsoft Australia Security Summit 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 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

Microsoft Australia Security Summit 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 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

Microsoft Australia Security Summit Introduction The Best of the Client and the Web WebClickOnce 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

Microsoft Australia Security Summit 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 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

Microsoft Australia Security Summit 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 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

Microsoft Australia Security Summit 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 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

Microsoft Australia Security Summit Web Page Link to Manifest Deployment Manifest 1.0  Application Manifest 1.1 Application Manifest ClickOnce Basics Update from the Web

Microsoft Australia Security Summit 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 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

Microsoft Australia Security Summit 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 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

Microsoft Australia Security Summit ClickOnce Basics Update Architecture Yes No Application Store Installed UpdateCheck? StartupSHIM My Application Deployment Framework Service MIME.application Launched

Microsoft Australia Security Summit 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 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

Microsoft Australia Security Summit 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 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

Microsoft Australia Security Summit 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 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

Microsoft Australia Security Summit ClickOnce Basics The Bootstrapper in Action Setup.exe Dotnetfx.exe Web Server Mdac_typ.exe Custom.msi Bar.application Reboot Client PC Dotnetfx.exe Custom.msi Bar.application MDAC detected! Setup.exe  

Microsoft Australia Security Summit Building, Deploying and Updating a Client Application

Microsoft Australia Security Summit 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 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

Microsoft Australia Security Summit 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 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

Microsoft Australia Security Summit 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 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

Microsoft Australia Security Summit 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 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

Microsoft Australia Security Summit 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 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

Microsoft Australia Security Summit 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 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

Microsoft Australia Security Summit Configuring ClickOnce Security Permissions

Microsoft Australia Security Summit 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 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

Microsoft Australia Security Summit 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 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

Microsoft Australia Security Summit 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 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

Microsoft Australia Security Summit 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 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

Microsoft Australia Security Summit Implementing User-Initiated Updates

Microsoft Australia Security Summit 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 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

Microsoft Australia Security Summit Thank you! Please fill in your evaluation forms

Microsoft Australia Security Summit © 2005 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.

Microsoft Australia Security Summit