我使用SDK 17134 .appinstaller创建了一个应用程序,证书,上传到服务器版本1.0.0.0;
用户安装应用程序。(1.0.0.0)
用户打开应用程序(1.0.0.0)
然后我发布了一个新版本(1.0.0.2)。
当应用程序打开时,我如何在应用程序上检查一个新版本在服务器上是可维护的,提示用户并启动应用程序更新到1.0.0.2版本?
发布于 2019-04-12 12:30:18
Windows 1809在这方面引入了一些工具。您可以使用Package.GetAppInstallerInfo()方法从.AppInstaller获取URI。
AppInstallerInfo info = Windows.ApplicationModel.Package.Current.GetAppInstallerInfo();您还可以使用Package.CheckUpdateAvailabilityAsync()查看是否可以从.AppInstaller中指示的服务器上获得更新。
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;
}发布于 2018-06-06 11:20:14
因为.appinstaller文件只是一个XML文件,所以您可以从服务器请求它的内容,然后检查里面的版本。然后,您可以将它与Package.Current.Id.Version进行比较,如果它较新,您可以通知用户关闭应用程序来更新它。然而,这假定系统已经预先检查了更新是否可用,这取决于您在创建包时在对话框中选择了什么:

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