StoreContext.GetAppAndOptionalStorePackageUpdatesAsync 方法

定义

获取当前应用的包集合,这些包具有可从Microsoft Store下载的更新,包括应用的可选包。

public:
 virtual IAsyncOperation<IVectorView<StorePackageUpdate ^> ^> ^ GetAppAndOptionalStorePackageUpdatesAsync() = GetAppAndOptionalStorePackageUpdatesAsync;
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<IVectorView<StorePackageUpdate>> GetAppAndOptionalStorePackageUpdatesAsync();
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<IReadOnlyList<StorePackageUpdate>> GetAppAndOptionalStorePackageUpdatesAsync();
function getAppAndOptionalStorePackageUpdatesAsync()
Public Function GetAppAndOptionalStorePackageUpdatesAsync () As IAsyncOperation(Of IReadOnlyList(Of StorePackageUpdate))

返回

成功完成后,异步操作将返回 一组 StorePackageUpdate 对象,这些对象表示具有可用更新的包。

属性

例外

如果异常的 ErrorCode 属性具有值0x80070578(ERROR_INVALID_WINDOW_HANDLE),则表示未在 UI 线程上调用该方法。 如果在使用桌面桥的桌面应用程序中调用此方法,则这也表示未配置 <xref href=“Windows。Services.Store.StoreContext?text=StoreContext“ /> 对象,用于指定此方法显示的模式对话框的所有者窗口。 有关详细信息,请参阅 本文

当Microsoft Store服务不可用或未正确配置时,该方法可能会引发异常。 常见方案包括:- “对象服务器在 OLE 服务联系它时停止”:此错误通常在Microsoft Store服务未运行、正在关闭或Windows应用商店基础结构出现问题时发生。 如果: - Windows应用商店应用未安装或已损坏 - Microsoft Store服务已禁用或未运行 - 访问应用商店服务的权限问题 - 系统处于关闭或启动期间不一致的状态 - Service 不可用错误:网络连接问题或Microsoft Store服务中断可能导致操作失败。

注解

有关使用此方法的详细信息,包括代码示例,请参阅 下载和安装应用的包更新

调用 GetAppAndOptionalStorePackageUpdatesAsync 以确定哪些包可用,可以调用 RequestDownloadStorePackageUpdatesAsync 下载更新的包,也可以调用 RequestDownloadAndInstallStorePackageUpdatesAsync 下载并安装更新的包。

先决条件和环境要求

若要使此方法正常工作,必须满足以下条件:

  • Microsoft Store app:必须在系统上安装Microsoft Store应用并正常运行。
  • Microsoft 帐户:虽然不需要登录Microsoft 帐户来检查更新,但某些方案可能需要身份验证。
  • 存储服务:必须运行和访问Microsoft Store许可和更新服务。
  • Network 连接:与Microsoft Store服务通信需要有效的 Internet 连接。

分配的访问模式兼容性

此方法可在“分配访问”(展台)模式下使用,但以下注意事项适用:

  • 分配的访问权限帐户必须有权访问Microsoft Store服务。
  • 必须将网络访问配置为允许与Microsoft Store终结点通信。
  • 某些应用商店 UI 元素可能会受到限制,具体取决于分配的访问配置。

错误处理建议

调用此方法时,建议实现正确的错误处理:

try
{
    var updates = await storeContext.GetAppAndOptionalStorePackageUpdatesAsync();
    // Process updates
}
catch (System.Runtime.InteropServices.COMException ex)
{
    // Handle COM-related errors (e.g., threading issues)
}
catch (System.Exception ex)
{
    // Handle Store service errors (e.g., service unavailable)
    // Log the error and implement appropriate retry logic
}

Important

可选包和可下载内容 (DLC) 包不适用于所有开发人员帐户。

更新可用性

在合作伙伴中心发布应用更新后,包通过认证的时间和 GetAppAndOptionalStorePackageUpdatesAsync 方法识别更新是否可用之间可能存在短暂的延迟。 大多数更新在几个小时内可用,但在某些情况下,某些发布和分发步骤可能需要更长的时间才能完成。

检测频率

此 API 限制检查新更新的频率。 当应用调用方法的频率高于允许的速率时,该方法将返回最后一个已知状态,而不是执行新的检查。

当前限制为:

  • 每 30 分钟检查一次不超过一次。
  • 在任何 24 小时内不超过 10 次检查。

如果应用超过这些限制,则该方法将继续返回以前的状态,直到适用的时间范围通过。

适用于

另请参阅