我在其中工作的应用程序之一是.NET Core WPF应用程序,最近我们切换为使用桌面桥。我们注意到,如果用户使用开始菜单中的图块为应用创建桌面快捷方式或任务栏快捷方式,然后从该快捷方式启动应用,则该应用会跳过检查更新(即使已指定检查更新)在.appinstaller文件中)。似乎在打开应用程序后,该应用程序也不会在后台检查更新,因为在用户重新启动后,该应用程序仍处于相同版本。
这是应用程序安装程序的模板文件的示例:
<?xml version="1.0" encoding="utf-8"?>
<AppInstaller Uri="{AppInstallerUri}"
Version="{Version}"
xmlns="http://schemas.microsoft.com/appx/appinstaller/2018">
<MainBundle Name="{Name}"
Version="{Version}"
Publisher="{Publisher}"
Uri="{MainPackageUri}"/>
<UpdateSettings>
<OnLaunch HoursBetweenUpdateChecks="0" ShowPrompt="true" UpdateBlocksActivation="true"/>
<AutomaticBackgroundTask/>
<ForceUpdateFromAnyVersion>true</ForceUpdateFromAnyVersion>
</UpdateSettings>
</AppInstaller>
我在MS's MSIX GitHub存储库上询问了此问题,但他们没有回应。在这一点上,我们想知道这里是否还有其他人遇到过这个问题,他们是否能够确定解决方法或解决方案?我们需要将某些内容添加到.appxmanifest文件中,还是需要在.appinstaller文件中丢失其他内容吗?
编辑 Same question on MSIX forums, where most likely MSFT will reply.
关于属性ShowPrompt和ForceUpdateFromAnyVersion,您需要指向此架构-xaml中的xmlns="http://schemas.microsoft.com/appx/appinstaller/2018"
。它们可用于1903年版本。因此,如果您的版本不是1903,则可以删除这两个属性。