【问题标题】:Windows store app updateWindows 商店应用更新
【发布时间】:2017-01-08 22:24:27
【问题描述】:

windows 商店(windows 10)是否只允许增量更新,或者我们可以通过其他方式更新?如果我们在 windows 商店(windows 10)中有一个应用程序并且我在我的机器上下载了它。一段时间后更新可用于该应用程序,我已经更新了该应用程序。现在,我想验证它遵循增量更新的天气,或者它用新的应用程序替换整个应用程序。如何验证?

【问题讨论】:

  • 也许在 Windows 10 商店支持论坛上问这个问题?

标签: windows-store-apps windows-store


【解决方案1】:

Windows 商店(Windows 10)是否只允许增量更新,或者我们可以更新 以其他方式?

您可以在创建应用包时选择始终生成应用包如果需要以实现增量更新。 App bundle 使用不同的清单来包含资源包。因此,使用 app bundle,用户只下载相关文件,而不是所有可能的资源,尤其是当您的应用包含特定语言的资产时。

要让用户下载整个包,您可以选择Generate app bundle never。但请注意,一旦您的应用以 appxbundle 形式发布,您将无法返回到非 appxbundle 格式。这次您可以尝试this article 中的方法,以确保您的资源肯定会安装在用户的设备上,这适用于 Windows 8.1,但仍适用于 UWP 应用。

从 1607 版本开始,我们可以使用Windows.Services.Store 中的 API 以编程方式检查当前应用程序的包更新,下载并安装更新的包。

现在,我想验证天气是否遵循增量更新或替换 整个应用程序与新的。如何验证?

首先,您的包需要包含特定语言的资产或各种图像比例资产,确保包含您的设备不支持的语言或您的设备未配备的图像比例。您需要在创建包时生成应用程序包。下载更新后,您可以检查您的本地包是否包含不需要的资源包。

【讨论】:

    【解决方案2】:

    除了从 Mattew Wu 提到的 App Bundle 中选择正确的语言和图像大小外,UWP 还自动支持增量更新(或差异更新)。在MSDN blogs 的这篇博文中查看更多信息。

    打包时会自动创建一个“AppxBlockMap.xml”,即

    包含有关包中文件的二维信息列表的 XML 文档。第一个维度列出文件的高级详细信息(例如名称和大小),第二个维度提供该文件的每个 64KB 切片(也称为“块”)的 SHA2-256 哈希表示。

    因此,应用商店更新会比较两个软件包中的这个文件并仅下载所需的部分。

    我认为您无法检查将要下载的 delta 包的大小,但您可以遵循一些方法来确保您的应用支持 delta 更新

    1. 保持包中的文件小——这样做可以确保如果需要更改会影响整个文件,更新仍然很小。
    2. 如果可能,对文件的修改应该是附加的 - 附加更改将确保最终用户设备只下载那些更改的块。
    3. 如果可能,对文件的修改应包含在 64KB 块内 - 如果您的应用确实有大文件并且需要更改文件中间,那么包含对一组块的更改将大有帮助

    请参阅上述博客文章以获得更详细的说明。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-14
      • 1970-01-01
      • 2017-10-04
      相关资源
      最近更新 更多