Modern Strategies for Application Deployment: A Comprehensive Overview

Slide Note
Embed
Share

Explore the evolution of deployment processes from historical challenges to modern complexities in a tech-packed session by Geoff Callaghan. Learn about standard Visual Studio deployment, single file applications, ClickOnce, and MSIX technologies, along with the shift towards self-contained and framework-dependent deployment models. Gain insights into the blurred boundaries between development and operations, as well as the impact of modern problems like mobile devices, security considerations, and high user expectations.


Uploaded on Oct 03, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. Desktop Installations Geoff Callaghan Senior Developer and Project Manager CODE Consulting https://www.codemag.com/People/Bio/Geoff.Callaghan CODE Training - codemag.com/training

  2. About the Presenter Geoff Callaghan Senior Software Developer and Project Manager More than 25 years of development work Web and Desktop Many FoxPro to .NET conversion projects

  3. What will we learn today? Standard Visual Studio deployment Single file applications ClickOnce MSIX Pros and cons of each technology

  4. Deployment through history... It's never been fun. Used to be the responsibility of Ops, not Dev (in theory) In general, it's easy at first, then quickly becomes hard The line between Dev and Ops is now very blurry

  5. Once upon a time One operating system One screen configuration Few security considerations Physical media (floppy or CD)

  6. Modern problems Mobile devices Multiple operating systems Security Digital certificates Automatic updates High expectations

  7. Self-contained Self-contained Includes .NET Runtime Platform specific Larger deployment ReadyToRun Ahead-of-time (AOT) compilation

  8. Framework-dependent Framework-dependent Cross platform Does not include .NET Runtime, just the app and 3rd-party dependencies Smaller deployment Requires pre-installation of .NET Runtime

  9. Single file applications All in one (sort of...) Been around since .NET Core 2.1 New in .NET 5: Not really a single file! IncludeAllContentForSelfExtract For some flags, there is no UI

  10. ClickOnce Been around a while ClickOnce: Bringing Ease and Reliability to Smart Client Deployment, Patrick Darragh, January/February 2006 "ClickOnce for the Real World, Not Hello World", Julie Lerman, November/December 2006 Still being updated and maintained. Relatively simple

  11. ClickOnce Multiple install location options UNC file path CD/DVD/USB drive Web site Automatic updates Versioning Has an API for complex scenarios

  12. How I do things Create an Azure Web app Publish my installation to that web app Re-publish when new features are ready

  13. In practice Create the installation as soon as there is code to publish Users and testers have early access Every time a user or test runs the app, they get the latest code Facilitates feedback Creating the installation last can cause issues.

  14. ClickOnce Full featured installation process Great for most applications Automatic updates and versioning Easy to create web-based installations

  15. MSIX Windows 10 and up Win32, WPF, WinForms, etc. Extensible with an SDK Open source and cross platform Microsoft Store Lots of documentation lots of documentation

  16. Reliable, fast and clean 99.96% success rate over millions of installs Network optimization Only downloads 64k blocks AppxBlockMap.xml Disk space optimization Guaranteed uninstall

  17. Containers Lightweight Access to the global registry Virtual file system and registry Other apps can t access All data is deleted on uninstall

  18. Windows 10 version differences https://docs.microsoft.com/en-us/windows/msix/supported-platforms

  19. Building an MSIX installation Requires adding a new project to your solution This may go away in .NET 6 Much of the tooling is MS Store-specific We ll be sideloading

  20. MSIX Lots of options Lots of documentation You can do what you need to do fairly easily

  21. Which one to use? Just need to get your app to a specific target? Self-contained or single file Needs to be cross platform? Framework-dependent Windows only, especially older versions (e.g. Windows 7) ClickOnce Lots of flexibility? Fast, efficient? Microsoft Store? MSIX

  22. Resources https://docs.microsoft.com/en-us/windows/msix/ https://docs.microsoft.com/en-us/windows/msix/resources ClickOnce: Bringing Ease and Reliability to Smart Client Deployment (codemag.com) ClickOnce for the Real World, Not Hello World (codemag.com) Distribute a Windows 10 app from an Azure web app - MSIX | Microsoft Docs

Related


More Related Content