我尝试了ClickOnce中所有可能的配置,但应用程序只在重新启动时更新。我希望应用程序在启动后更新,但在VS 2022中,启动后的更新被阻止,如下图所示:
我正在使用。net核心6和我的IDE是VS2022。
5f0d552i1#
根据文档,* 在应用程序启动前检查更新 * 是.NET 3.1和更新版本的默认选项,也是唯一可用的选项:
以下是ClickOnce主要更新策略的摘要:
*自动更新-应用程序启动后检查更新
在此策略中,ClickOnce将在应用程序启动时在后台检查更新。然后,当用户下次启动应用程序时,根据上一次检查更新的结果,如果有可用的更新,则向用户显示一个提示,要求下载并安装更新。此方案的主要使用情形是低带宽网络或大型应用程序,此时更新的下载和安装时间较长。
*自动更新-在应用程序启动前检查更新
在此策略中,每次用户启动应用程序时,应用程序都会首先检查是否有更新,如果有更新,则下载并应用更新,然后启动应用程序。这是默认策略,正如我上面提到的,它是.NET 3.1及更高版本的唯一可用选项。此方案的主要用例是高带宽网络,以及您希望强制更新的情况。
*手动更新-提供更新的用户界面
在此策略中,开发人员使用ApplicationDeployment类编写代码以检查更新;例如,基于用户何时点击菜单项或按钮来检查更新;或基于自定义的用户定义的计划。此策略的主要使用场景是当您希望为不同的用户使用不同的策略,或为不同的用户自定义计划更新,或手动检查更新按钮/菜单时。要了解更多信息,请查看以下文档文章:
1条答案
按热度按时间5f0d552i1#
根据文档,* 在应用程序启动前检查更新 * 是.NET 3.1和更新版本的默认选项,也是唯一可用的选项:
ClickOnce更新策略
以下是ClickOnce主要更新策略的摘要:
*自动更新-应用程序启动后检查更新
在此策略中,ClickOnce将在应用程序启动时在后台检查更新。然后,当用户下次启动应用程序时,根据上一次检查更新的结果,如果有可用的更新,则向用户显示一个提示,要求下载并安装更新。
此方案的主要使用情形是低带宽网络或大型应用程序,此时更新的下载和安装时间较长。
*自动更新-在应用程序启动前检查更新
在此策略中,每次用户启动应用程序时,应用程序都会首先检查是否有更新,如果有更新,则下载并应用更新,然后启动应用程序。
这是默认策略,正如我上面提到的,它是.NET 3.1及更高版本的唯一可用选项。
此方案的主要用例是高带宽网络,以及您希望强制更新的情况。
*手动更新-提供更新的用户界面
在此策略中,开发人员使用ApplicationDeployment类编写代码以检查更新;例如,基于用户何时点击菜单项或按钮来检查更新;或基于自定义的用户定义的计划。
此策略的主要使用场景是当您希望为不同的用户使用不同的策略,或为不同的用户自定义计划更新,或手动检查更新按钮/菜单时。
要了解更多信息,请查看以下文档文章: