語言

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 Store 基礎架構出現問題時。 這種情況可能發生於以下情況:- Windows Store 應用程式未安裝或損壞 - Microsoft Store 服務被停用或未執行 - 存取 Store 服務時有權限問題 - 系統在關機或啟動時處於不穩定狀態 - Service 無法使用錯誤:網路連線問題或Microsoft Store服務中斷可能導致營運失敗。

備註

如需更多使用此方法的資訊,包括程式碼範例,請參閱 您的應用程式的下載與安裝套件更新。

當你呼叫 GetAppAndOptionalStorePackageUpdatesAsync 以確認哪些套件有可用的更新後,你可以呼叫 RequestDownloadStorePackageUpdatesAsync 下載更新後的套件,或呼叫 RequestDownloadAndInstallStorePackageUpdatesAsync 下載並安裝更新後的套件。

前置條件與環境需求

此方法要正確運作,必須符合以下條件:

  • Microsoft Store 應用程式:Microsoft Store 應用程式必須已安裝並能在系統上運作。
  • Microsoft 帳戶:雖然登入Microsoft 帳戶並非強制檢查更新,但某些情境可能需要驗證。
  • Store 服務:Microsoft Store授權與更新服務必須持續運作且可存取。
  • 網路連線:與Microsoft Store服務通訊需有主動的網際網路連線。

指定存取模式相容性

此方法可用於指定存取(自助服務機)模式,但需注意以下事項:

  • 指定的存取帳號必須有權限存取 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)套件。

更新可用狀態

在 Partner Center 發布應用程式更新後,套件通過認證與 GetAppAndOptionalStorePackageUpdatesAsync 方法辨識該更新可用之間可能會有短暫延遲。 大多數更新會在幾小時內開放,但某些發布和發佈步驟在某些情況下可能需要較長時間才能完成。

偵測頻率

這個 API 限制了它檢查新更新的頻率。 當應用程式呼叫該方法的頻率超過允許速率時,該方法會回傳最後已知狀態,而不會進行新的檢查。

目前限制如下:

  • 每30分鐘檢查一次不超過一次。
  • 在任何24小時內,檢查次數不得超過十個。

若應用程式超過這些限制,方法會持續回傳先前狀態,直到適用時間窗口結束。

適用於

另請參閱