winforms 是否可以使用ClickOne发布强制更新正在运行的winform应用程序而不重新启动它?

pexxcrt2  于 2022-11-17  发布在  其他
关注(0)|答案(1)|浏览(165)

我尝试了ClickOnce中所有可能的配置,但应用程序只在重新启动时更新。
我希望应用程序在启动后更新,但在VS 2022中,启动后的更新被阻止,如下图所示:

我正在使用。net核心6和我的IDE是VS2022。

5f0d552i

5f0d552i1#

根据文档,* 在应用程序启动前检查更新 * 是.NET 3.1和更新版本的默认选项,也是唯一可用的选项:

  • 对于.NET 3.1和更高版本的应用程序,在应用程序启动前检查更新是唯一支持的更新选项。*
    ClickOnce更新策略

以下是ClickOnce主要更新策略的摘要:

*自动更新-应用程序启动后检查更新

在此策略中,ClickOnce将在应用程序启动时在后台检查更新。然后,当用户下次启动应用程序时,根据上一次检查更新的结果,如果有可用的更新,则向用户显示一个提示,要求下载并安装更新。
此方案的主要使用情形是低带宽网络或大型应用程序,此时更新的下载和安装时间较长。

*自动更新-在应用程序启动前检查更新

在此策略中,每次用户启动应用程序时,应用程序都会首先检查是否有更新,如果有更新,则下载并应用更新,然后启动应用程序。
这是默认策略,正如我上面提到的,它是.NET 3.1及更高版本的唯一可用选项。
此方案的主要用例是高带宽网络,以及您希望强制更新的情况。

*手动更新-提供更新的用户界面

在此策略中,开发人员使用ApplicationDeployment类编写代码以检查更新;例如,基于用户何时点击菜单项或按钮来检查更新;或基于自定义的用户定义的计划。
此策略的主要使用场景是当您希望为不同的用户使用不同的策略,或为不同的用户自定义计划更新,或手动检查更新按钮/菜单时。
要了解更多信息,请查看以下文档文章:

相关问题