Presentation is loading. Please wait.

Presentation is loading. Please wait.

Visual Studio Whidbey: Deploying Applications Using ClickOnce Sean Draine Program Manager Microsoft Corporation Sean Draine Program Manager Microsoft Corporation.

Similar presentations


Presentation on theme: "Visual Studio Whidbey: Deploying Applications Using ClickOnce Sean Draine Program Manager Microsoft Corporation Sean Draine Program Manager Microsoft Corporation."— Presentation transcript:

1 Visual Studio Whidbey: Deploying Applications Using ClickOnce Sean Draine Program Manager Microsoft Corporation Sean Draine Program Manager Microsoft Corporation Session Code: TLS344

2 Agenda ClickOnce Design Goals Demo: ClickOnce end to end Signing and Security Demo: Targeting the sandbox Bootstrapping prerequisite components Demo: Component Bootstrapper Summary ClickOnce Design Goals Demo: ClickOnce end to end Signing and Security Demo: Targeting the sandbox Bootstrapping prerequisite components Demo: Component Bootstrapper Summary

3 ClickOnce Vision Bring the ease & reliability of web application deployment to client applications.

4 ClickOnce Design Goals Safety of Web applications Application isolation Easy to install No large infrastructure investment Apps can be installed by User Easy to update App automatically detects and applies updates Safety of Web applications Application isolation Easy to install No large infrastructure investment Apps can be installed by User Easy to update App automatically detects and applies updates

5 Web or Rich Client? Web client Portals, search engines, documents, simple forms Reach desktops without.NET Framework ClickOnce rich client Rich user experience Leverage Windows controls and standards Drag/drop, right-click, keyboard shortcuts, etc. Reduce network round trips Offline support Windows shell integration Web client Portals, search engines, documents, simple forms Reach desktops without.NET Framework ClickOnce rich client Rich user experience Leverage Windows controls and standards Drag/drop, right-click, keyboard shortcuts, etc. Reduce network round trips Offline support Windows shell integration

6 The Best of the Client & Web WebClick Once MSI Client ReachY No Touch DeploymentYY Low System ImpactYY Install/Run Per-UserYY Rich / InteractiveYY OfflineYY Windows Shell IntegrationYY Per-Machine/Shared ComponentsY Unrestricted InstallY

7 ClickOnce End to End Sean Draine Program Manager Microsoft Corporation Sean Draine Program Manager Microsoft Corporation

8 Code Access Security ClickOnce apps default to partial trust Permissions based on origin Internet, Intranet, or full trust (local) Apps may need more permission Call unmanaged code (e.g., export to Excel) Access file system Connect to database or Web server ClickOnce apps default to partial trust Permissions based on origin Internet, Intranet, or full trust (local) Apps may need more permission Call unmanaged code (e.g., export to Excel) Access file system Connect to database or Web server

9 Elevating Trust via Policy Improved Policy Model Establish deployment authority Requires one time ever client deployment Trust licenses Issued by authority, deployed with app Included in deployment manifest Trust can be scoped Application Author (public key token) Establish deployment authority Requires one time ever client deployment Trust licenses Issued by authority, deployed with app Included in deployment manifest Trust can be scoped Application Author (public key token)

10 Elevating Trust via Prompting Useful for targeting “PC in the wild” Internet or unmanaged Intranet User is the admin App requests required permissions User prompted if: App needs permissions above the sandbox Internet applications must be Authenticode signed Admin can disable prompting through policy Useful for targeting “PC in the wild” Internet or unmanaged Intranet User is the admin App requests required permissions User prompted if: App needs permissions above the sandbox Internet applications must be Authenticode signed Admin can disable prompting through policy

11 Targeting the Sandbox Debug In Sandbox Debug applications in partial trust Exception Assistant Intellisense In Sandbox Filtered based on security context Permission Calculator Calculates least required permissions Debug In Sandbox Debug applications in partial trust Exception Assistant Intellisense In Sandbox Filtered based on security context Permission Calculator Calculates least required permissions

12 Strong name signing ClickOnce manifests must be signed Security: ensures updates came from original author Ensures unique app identity Authenticode signing required for elevated trust on Internet ClickOnce manifests must be signed Security: ensures updates came from original author Ensures unique app identity Authenticode signing required for elevated trust on Internet

13 VS Signing Support Large ISVs and Enterprise Private keys worth $$$ Signing in development environment Delay signing Sign with temporary key Signing production bits Private key in lockbox Accessible to build lab only Private keys worth $$$ Signing in development environment Delay signing Sign with temporary key Signing production bits Private key in lockbox Accessible to build lab only

14 VS Signing Support Departmental, small business, hobbyist Need easy, inexpensive, secure process Lockbox is overkill Keys must be portable and shareable Hard-drive crashes, computer upgrade, small teams Solution: Password-encrypted key files Uses PKCS-12 standard format Key file lives in project Shareable through SCC Enter password once per machine Need easy, inexpensive, secure process Lockbox is overkill Keys must be portable and shareable Hard-drive crashes, computer upgrade, small teams Solution: Password-encrypted key files Uses PKCS-12 standard format Key file lives in project Shareable through SCC Enter password once per machine

15 Security and Signing in VS Sean Draine Program Manager Microsoft Corporation Sean Draine Program Manager Microsoft Corporation

16 .NET Framework Deployment Managed Networks Desktops locked down Push technologies SMS, Intellimirror, Imaging Unmanaged PCs User is the admin Component Bootstrapper FX installed as part of app setup Managed Networks Desktops locked down Push technologies SMS, Intellimirror, Imaging Unmanaged PCs User is the admin Component Bootstrapper FX installed as part of app setup

17 Component Bootstrapper Lightweight setup.exe Detects prerequisites Downloads/installs as needed Web or disk installations Manages reboots Supports any msi or exe installer Out of the box.NET FX, MDAC 9, MSDE, J#, & MSI 2.0 Fully extensible for other components Lightweight setup.exe Detects prerequisites Downloads/installs as needed Web or disk installations Manages reboots Supports any msi or exe installer Out of the box.NET FX, MDAC 9, MSDE, J#, & MSI 2.0 Fully extensible for other components

18 Bootstrapper in action Setup.exe Dotnetfx.exe Web Server Mdac_typ.exe Foo.msi App.deploy Web Reboot Client PC Dotnetfx.exe Foo.msi App.deploy MDAC detected! Setup.exe  

19 Bootstrapping Custom Components Sean Draine Program Manager Microsoft Corporation Sean Draine Program Manager Microsoft Corporation

20 Summary ClickOnce makes rich client deployment easy and safe Component Bootstrapper allows easy redistribution of prerequisites VS makes ClickOnce deployment easy ClickOnce makes rich client deployment easy and safe Component Bootstrapper allows easy redistribution of prerequisites VS makes ClickOnce deployment easy

21 Additional Resources Related sessions Session CLI371: Longhorn MSI enhancements (Room and time) Session CLI400: Advanced topics in web based deployment (Room and time) Other resources Hands on Lab 604 Related sessions Session CLI371: Longhorn MSI enhancements (Room and time) Session CLI400: Advanced topics in web based deployment (Room and time) Other resources Hands on Lab 604

22 © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

23


Download ppt "Visual Studio Whidbey: Deploying Applications Using ClickOnce Sean Draine Program Manager Microsoft Corporation Sean Draine Program Manager Microsoft Corporation."

Similar presentations


Ads by Google