Smart Client Deployment with ClickOnce. Brian Noyes IDesign, Inc. (www.idesign.net) brian.noyes@idesign.net

Similar documents
Deploying Applications with ClickOnce

An Overview Of ClickOnce Deployment. Guy Smith-Ferrier. Courseware Online. Courseware Online

Caching SMB Data for Offline Access and an Improved Online Experience

MS 10978A Introduction to Azure for Developers

Course 10978A Introduction to Azure for Developers

CLOUD COMPUTING & WINDOWS AZURE

Last edited on 7/30/07. Copyright Syncfusion., Inc

To install Multifront you need to have familiarity with Internet Information Services (IIS), Microsoft.NET Framework and SQL Server 2008.

ClickOnce Security. ClickOnce Security Overview. of different aspects with respect to security. You need to consider

Developing Microsoft Azure Solutions 20532B; 5 Days, Instructor-led

Developing Mapping Applications with ArcGIS Runtime SDK for Windows Mobile. Jay Chen Justin Colville

Installation Guide v3.0

10978A: Introduction to Azure for Developers

How To Train Aspnet

Defender Token Deployment System Quick Start Guide

InstallAware for Windows Installer, Native Code, and DRM

Installing VinNOW Client Computers

Umbraco Courier 2.0. Installation guide. Per Ploug Hansen 5/24/2011

TIBCO Spotfire Metrics Prerequisites and Installation

Getting Started with the Ed-Fi ODS and Ed-Fi ODS API

BUILDER 3.0 Installation Guide with Microsoft SQL Server 2005 Express Edition January 2008

DataCove. Installation Instructions for Search Plug-in for Microsoft Outlook 2007 & 2010 (All Users)

SQL Server 2005 Reporting Services (SSRS)

How to Scale out SharePoint Server 2007 from a single server farm to a 3 server farm with Microsoft Network Load Balancing on the Web servers.

QuadraMed Enterprise Scheduling Combined Service Installation Guide. Version 11.0

SplendidCRM Deployment Guide

João Diogo Almeida Premier Field Engineer Microsoft Corporation

Installing OneStop Reporting Products

Tutorial. Patch Management

TECHNICAL DOCUMENTATION SPECOPS DEPLOY / APP 4.7 DOCUMENTATION

App-V Deploy and Publish

Citrix XenApp-7.6 Administration Training. Course

AppDev OnDemand Cloud Computing Learning Library

Installation Guide. Release Management for Visual Studio 2013

Developing Microsoft Azure Solutions

Programming with the Microsoft.NET Framework Using Microsoft Visual Studio 2005 (VB)

Course 20532B: Developing Microsoft Azure Solutions

Introduction to Azure for Developers

Developing Microsoft Azure Solutions 20532A; 5 days

XIA Configuration Server

Course 10175A - Microsoft SharePoint 2010, Application Development

Companion for MS Analysis Server, v4

Windows Intune Walkthrough: Windows Phone 8 Management

Zanibal Plug-in For Microsoft Outlook Installation & User Guide Version 1.1

ManageEngine IT360. Professional Edition Installation Guide.

Aventail Connect Client with Smart Tunneling

Product Manual. MDM On Premise Installation Version 8.1. Last Updated: 06/07/15

PROJECTIONS SUITE. Database Setup Utility (and Prerequisites) Installation and General Instructions. v0.9 draft prepared by David Weinstein

Using Microsoft Windows Authentication for Microsoft SQL Server Connections in Data Archive

Microsoft Introduction to Azure for Developers

JAVA WEB START OVERVIEW

Secret Server Installation Windows 8 / 8.1 and Windows Server 2012 / R2

SHAREPOINT 2010 DEVELOPMENT : IN THE CLOUD. Faraz Khan Senior Consultant RBA Consulting

2933A: Developing Business Process and Integration Solutions Using Microsoft BizTalk Server 2006

Introduction to Oracle Mobile Application Framework Raghu Srinivasan, Director Development Mobile and Cloud Development Tools Oracle

Setting Up the Development Workspace

APPLICATION VIRTUALIZATION COMPARISON

Securing access to Citrix applications using Citrix Secure Gateway and SafeWord. PremierAccess. App Note. December 2001

Developing Visual Studio Workflows and Activities for SharePoint Sites

Developing Microsoft SharePoint Server 2013 Core Solutions

The best way to get Microsoft Visual Studio 2005 is by purchasing or renewing an MSDN Subscription today.

Overview of Active Directory Rights Management Services with Windows Server 2008 R2

ACTIVE DIRECTORY DEPLOYMENT

Getting Started with RES ONE Automation 2015

Metalogix Replicator. Quick Start Guide. Publication Date: May 14, 2015

How To Install An Appsense Desktop Manager On A Windows 7.5 (Windows 7) With A Windows (Windows 8) (Windows) (Powerpoint) (Amd64) (Apple Windows 7) (Networking

Deploying Management and Security Agents to Mobile Devices. Deploying Mgmt and Security Agents

Develop your Database using Database Projects from SQL Server Data Tools (SSDT)

Getting Microsoft Outlook and Salesforce in Sync

Using Data Classification to Manage File Servers

Cloud Powered Mobile Apps with Azure

Microsoft Dynamics CRM 2011 New Features

Managing the PowerPivot for SharePoint Environment

Developing Windows Azure and Web Services

Developing ASP.NET MVC 4 Web Applications

FileMaker Server 14. Network Install Setup Guide

Developing ASP.NET MVC 4 Web Applications Course 20486A; 5 Days, Instructor-led

Mobile Technique and Features

THE POWER OF GROUP POLICY

Developing ASP.NET MVC 4 Web Applications MOC 20486

Aspera Connect User Guide

SharePoint 2010

v Devolutions inc.

7.x Upgrade Instructions Software Pursuits, Inc.

IBM Cognos Mobile Overview

System Requirements Table of contents

System Administration Training Guide. S100 Installation and Site Management

SAML v1.1 for.net Developer Guide

Deploying Your Website Using Visual Studio. Deploying Your Site Using the Copy Web Site Tool

XenDesktop Implementation Guide

Password Reset Server Installation Guide Windows 8 / 8.1 Windows Server 2012 / R2

How to move a SharePoint Server bit environment to a 64-bit environment on Windows Server 2008.

User Management Tool 1.5

System Requirements for Microsoft Dynamics NAV 2013 R2

How To Install Powerpoint 6 On A Windows Server With A Powerpoint 2.5 (Powerpoint) And Powerpoint On A Microsoft Powerpoint 4.5 Powerpoint (Powerpoints) And A Powerpoints 2

MS 20487A Developing Windows Azure and Web Services

Transcription:

Smart Client Deployment with ClickOnce Brian Noyes IDesign, Inc. (www.idesign.net) brian.noyes@idesign.net

About Brian Principal Software Architect, IDesign Inc. (www.idesign.net) Microsoft MVP in ASP.NET Writing MSDN Magazine, asp.netpro, Visual Studio Magazine,.NET Developer s Journal Building Windows Forms Data Applications with.net 2.0, Addison- Wesley, expected release spring 2005 Speaking Microsoft TechEd, Visual Studio Connections, DevEssentials, VSLive!, INETA Speakers Bureau Participates in Microsoft design reviews E-mail: brian.noyes@idesign.net Blog: http://www.softinsight.com/bnoyes

Agenda ClickOnce Overview Deploying with ClickOnce Updating Apps with ClickOnce Elevating Security for Deployed Apps On-Demand Updates Under the Covers Manifests Wrap up

What is a Smart Client? Rich user interface (WinForms) Connects to back-end services Runs securely on the client Supports disconnected operations Supports auto-deployment and update over the network

Smart Client Deployment Challenge Conflicting goals: Richest possible user experience Support disconnected / mobile application use Deploy with minimal cost and effort Keep up to date Deployment and Maintenance are significant costs in any distributed application life cycle

ClickOnce Deployment Technology Microsoft Windows Smart Client deployment technology Microsoft.NET 2.0 Feature Addresses all the previous challenges Further enhanced in Longhorn Goals: Rich client experience of a Windows-based app Ease of deployment and update of a Web app

ClickOnce Concept Single user action triggers deployment and execution Download and run from cache Install and execute in secure sandbox Auto detect and apply updates Allow offline / disconnected operations

Target Applications Line-of-Business applications Customer Resource Management Personnel management Business analysis tools Consumer applications Games Multimedia apps Microsoft Office Documents Visual Studio Tools for Office System 2003

Application Requirements No code requirements No class derivation No interface implementation Optional: On demand update code Can even deploy Microsoft.NET 1.X apps

Architecture Requirements Client machine: Must have Microsoft.NET Framework 2.0 or later on it Can be deployed through bootstrapper, but user must be admin Enhanced experience in Longhorn Server: No.NET required Can be any web or file server Place the files + manifests in a folder

ClickOnce Bootstrapper Installs prerequisites on the client.net Framework MDAC Windows Installer Custom Requirements Requires Admin privilege Separate install URL

ClickOnce vs. MSI Not a replacement for Microsoft Windows Installer (MSI) Complements for Smart Client scenarios Still may need Windows Installer for many apps

Agenda ClickOnce Overview Deploying with ClickOnce Updating Apps with ClickOnce Elevating Security for Deployed Apps On-Demand Updates Under the Covers Manifests Wrap up

Deployment Models Launched Available online only App files cached under user profile for speedy launch C:\Documents and Settings\<user>\Local Settings\Apps

Deployment Models Installed Available online or offline Files cached under user profile on local machine Start menu item for subsequent launch Add/Remove Programs item added

Agenda ClickOnce Overview Deploying with ClickOnce Updating Apps with ClickOnce Elevating Security for Deployed Apps On-Demand Updates Under the Covers Manifests Wrap up

Update options Launched apps Always check for new versions and download before running Installed apps Check for updates Optional / Required Check before run / background while running Check every time / every XX interval Check for updates at location XX On-demand with API

ClickOnce in Action Client Launch App App / Web / DB server BLL File or Web Server xxxxxxxxx 2.0 1.0 <soap> <foo> DB 1.0 2.0

Scaling Out with ClickOnce Client Launch App App / Web / DB server BLL File or Web Server xxxxxxxxx 1.0 <soap> <foo> DB

Demo #1 ClickOnce Deployment and Update

Agenda ClickOnce Overview Deploying with ClickOnce Updating Apps with ClickOnce Elevating Security for Deployed Apps On-Demand Updates Under the Covers Manifests Wrap up

Security Features Zero-impact installation Files cached under user profile Cannot touch shared resources on machine Code Access Security sandbox execution Based on origin of files (deployment server) Can elevate permissions through user prompting Can elevate permissions automatically through trusted publisher XML Signature Signed manifests to ensure authentication and integrity

Demo #2 Elevating Security Permissions

Agenda ClickOnce Overview Deploying with ClickOnce Updating Apps with ClickOnce Elevating Security for Deployed Apps On-Demand Updates Under the Covers Manifests Wrap up

On Demand Updates System.Deployment namespace ApplicationUpdaterService class CheckForUpdates Update Application.Restart Async versions available

Demo #3 On Demand Updates

Agenda ClickOnce Overview Deploying with ClickOnce Updating Apps with ClickOnce Elevating Security for Deployed Apps On-Demand Updates Under the Covers Manifests Wrap up

Manifest Files Deployment manifest Describe deployment model and update policy Point to application manifest Digital signature Application manifest Describe application Identify application files and dependencies Declare security permission requirements Digital signature

Demo #4 Behind the Scenes

Agenda ClickOnce Overview Deploying with ClickOnce Updating Apps with ClickOnce Elevating Security for Deployed Apps On-Demand Updates Under the Covers Manifests Wrap up

Visual Studio Tools Debug in Zone Run in specified context to simulate deployed environment Permissions Calculator Analyze your code and tell you exactly what permissions it requires

ClickOnce Enhancements in Longhorn Background Intelligent Transfer Service (BITS) download Secure Execution Environment More tightly integrated with the OS Options to run within IE context or as standalone app Windows Shell Integration More to follow?

What Can You Do Today? No Touch Deployment Like a launched ClickOnce application Must configure security on user machine Can use local machine bootstrap app to circumvent security Updater Application Block Automatic checking for available updates Download and apply Have to write a little code + reference the block

Resources Trustworthy Smart Client Deployment with ClickOnce, Brian Noyes, MSDN Magazine, May 2004. http://www.msdn.microsoft.com/msdnmag/issues/04/05/clic konce/default.aspx.net Rocks! interview: http://www.franklins.net/fnetdotnetrocks/dotnetrocks.aspx?sh owid=48 Updater Application Block: http://msdn.microsoft.com/library/default.asp?url=/library/enus/dnbda/html/updater.asp No Touch Deployment: http://msdn.microsoft.com/library/default.asp?url=/library/enus/dv_vstechart/html/vbtchnotouchdeploymentinnetframework.asp E-mail: brian.noyes@idesign.net Blog: http://www.softinsight.com/bnoyes