首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UWP + .appinstaller:如何检测新版本并提示用户并启动应用程序的升级?

UWP + .appinstaller:如何检测新版本并提示用户并启动应用程序的升级?
EN

Stack Overflow用户
提问于 2018-06-05 23:25:01
回答 2查看 1.3K关注 0票数 6

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

用户安装应用程序。(1.0.0.0)

用户打开应用程序(1.0.0.0)

然后我发布了一个新版本(1.0.0.2)。

当应用程序打开时,我如何在应用程序上检查一个新版本在服务器上是可维护的,提示用户并启动应用程序更新到1.0.0.2版本?

  • 我知道我的应用程序在检测到新版本后会悄然更新(但这只在用户第二次打开应用程序时才会发生)。
EN

回答 2

Stack Overflow用户

发布于 2019-04-12 12:30:18

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

代码语言:javascript
复制
AppInstallerInfo info = Windows.ApplicationModel.Package.Current.GetAppInstallerInfo();

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

代码语言:javascript
复制
PackageUpdateAvailabilityResult result = await currentPackage.CheckUpdateAvailabilityAsync();
switch (result.Availability)
{
    case PackageUpdateAvailability.Available:
        GoToUpdateAvailableUIView();
        break;
    case PackageUpdateAvailability.Required:
        GoToUpdateRequiredUIView();
        break;
    case PackageUpdateAvailability.NoUpdates:
        ShowNoUpdateAvailableDialog(); 
        break;
    case PackageUpdateAvailability.Unknown:
    default:
        // Log and ignore or whatever
        break;
}
票数 5
EN

Stack Overflow用户

发布于 2018-06-06 11:20:14

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

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50710238

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档