Modern Strategies for Application Deployment: A Comprehensive Overview

Desktop Installations
Geoff Callaghan
Senior Developer and Project Manager – CODE Consulting
https://www.codemag.com/People/Bio/Geoff.Callaghan
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
What will we learn today?
Standard Visual Studio deployment
Single file applications
ClickOnce
MSIX
Pros and cons of each technology
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
Once upon a time…
One operating system
One screen configuration
Few security considerations
Physical media (floppy or CD)
Modern problems
Mobile devices
Multiple operating systems
Security
Digital certificates
Automatic updates
High expectations
Self-contained
Self-contained 
Includes .NET Runtime
Platform specific
Larger deployment
ReadyToRun – Ahead-of-time (AOT) compilation
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
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
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
ClickOnce
Multiple install location options
UNC file path
CD/DVD/USB drive
Web site
Automatic updates
Versioning
Has an API for complex scenarios
How I do things
Create an Azure Web app
Publish my installation to that web app
Re-publish when new features are ready
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.
ClickOnce
Full featured installation process
Great for most applications
Automatic updates and versioning
Easy to create web-based installations
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
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
Containers
Lightweight
Access to the global registry
Virtual file system and registry
Other apps can’t access
All data is deleted on uninstall
Windows 10 version differences
 
https://docs.microsoft.com/en-us/windows/msix/supported-platforms
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”
MSIX
Lots of options
Lots of documentation
You can do what you need to do fairly easily
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
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
Slide Note

https://www.codemag.com/StateOfDotNet

Shoot for an hour

Resources slide at the end

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.

  • Application Deployment
  • Visual Studio
  • ClickOnce
  • Modern Problems
  • Self-Contained Deployment

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

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#