16

Now that Winforms is being ported to .NET Core 3, what technology will be used for deploying those apps? Will ClickOnce also be ported?

Many of the properties used by ClickOnce are currently stored in the .csproj file, but those project files change significantly between .NET Framework and .NET Core, so presumably this would require changes to Microsoft's ClickOnce code to make it work?

Has there been any official word from Microsoft on this, I can't find anything in the documentation?

tomRedox
  • 28,092
  • 24
  • 117
  • 154

5 Answers5

15

Current status

It appears that ClickOnce won't be ported to .NET core 3, but will be ported to .NET 5 as per Matthew Steeples' answer below.

Original answer relating to .NET Core 3

Microsoft's Scott Hunter addressed this in the comments of the .NET Core is the Future of .NET blog post. He was asked:

What about ClickOnce? Will that be a supported distribution system for .NET 5 desktop applications?

To which he gave the response:

We are going to recommend MSIX for installation and support for MSIX will be added for Windows 7 so it should work on all the platforms you that .NET Core runs on.

More details MSIX can be found in Microsoft's MSIX documentation and in it's GitHub repo.

Other installation frameworks exist too, such as Squirrel.

tomRedox
  • 28,092
  • 24
  • 117
  • 154
  • Updates to the above answer. With latest windows releases sideloading is on by default and MSIX installers can now do autoupdates. I have not tried the autoupdate parts but it looks close to ClickOnce. ClickOnce did alot of quirky things so I'm going to give this a try .When I do get to it I may update this comment if it works. – samman Dec 02 '20 at 23:56
4

All other answers answer the question for .NET Core 3, but this is changing for .NET 5. Microsoft are providing support for ClickOnce as described in this GitHub issue (July 20th 2020): https://github.com/dotnet/deployment-tools/issues/9

It's not full support (ApplicationDeployment class will not be available) but it's a start.

It looks like it's going to be available as of RC2 - https://devblogs.microsoft.com/dotnet/announcing-net-5-0-preview-8/

Matthew Steeples
  • 7,858
  • 4
  • 34
  • 49
3

There is no mention of anything about .net core 3 winforms working with Clickonce. The answer provided above had a link that had Scott Hunter who redirected to Microsoft's MSIX technology. Based on my readings the only way to deploy to end users without using the Microsoft store is to "sideload" your application and that seems to involve many steps that may make the user hesitant even if you sign the package it seems that users have to enable sideloading first. Not my idea of user friendly.

samman
  • 63
  • 1
  • 7
  • 1
    It seems that Microsoft is moving to MSIX and sideloading may not be necessary as people may want to install outside of the Microsoft app store. I will try to update this based on what I find. – samman Oct 25 '19 at 23:50
2

As the previous anwers stated, Microsoft is not going to continue Clickonce support but they have provided msix as a replacement. You can deploy a .NET Core application internally in your organization by using an msix package. I'm successfully using it as a Clickonce replacement.

You can check my post explaining how to create an msix package for a .NET Core project. You can even target Windows 7 SP1 and later.

EDIT: Microsoft is going to continue support of ClickOnce in .NET 5.

1

Update status:

Microsoft Announcing .NET 5.0,

Some of the newly released features also include ClickOnce:

"It’s now supported for .NET Core 3.1 and .NET 5.0 Windows apps."

You can take a look Here

helix-nebula
  • 266
  • 4
  • 5