UWP + .appinstaller:如何检测新版本并提示用户并开始升级应用程序?

时间:2018-06-05 23:25:01

标签: c# uwp

我使用SDK 17134 .appinstaller,certificate创建了一个应用程序,上传到服务器版本1.0.0.0;

用户安装应用程序。 (1.0.0.0)
用户打开App(1.0.0.0)
然后我发布了一个新版本(1.0.0.2)。

当应用程序处于打开状态时,如何检查应用程序是否可以在服务器上提供新版本,提示用户并启动应用程序更新到1.0.0.2版本?

  • 我知道我的应用在检测到新版本后会以静默方式更新(但这只会在第二次用户打开应用时发生。)

2 个答案:

答案 0 :(得分:2)

Windows 1809引入了一些工具来帮助这方面。您可以使用Package.GetAppInstallerInfo()方法从.AppInstaller获取URI。

get.employees <- function(x) BOD
depts <- c("finance", "sales")

您还可以使用Package.CheckUpdateAvailabilityAsync()查看.AppInstaller中指示的服务器是否有可用的更新。

AppInstallerInfo info = Windows.ApplicationModel.Package.Current.GetAppInstallerInfo();

答案 1 :(得分:1)

由于.appinstaller文件只是一个XML文件,您可以从服务器请求其内容,然后检查其中的版本。然后,您可以将其与Package.Current.Id.Version进行比较,如果它更新,您可以通知用户关闭应用程序以进行更新。但是,这假设系统已经提前检查了更新是否可用,这取决于您在创建包时在对话框中选择的内容:

Package creation dialog

如果您每次运行应用程序时都要检查更新,只需稍微延迟后显示提示,以确保系统有时间了解新版本。如果你设置了一个间隔,那就更棘手了,所以理想情况下,你可以在比你设置的间隔长两倍的时间间隔后通知用户,这样你就可以确保系统检查已经完成了。