StoreContext.RequestDownloadAndInstallStorePackageUpdatesAsync 方法

定義

嘗試從 Microsoft Store 下載並安裝目前應用程式的指定套件更新。 這個方法也會顯示要求作業許可權的 UI 對話方塊。

重要

這個方法必須在 UI 執行緒上呼叫。

public:
 virtual IAsyncOperationWithProgress<StorePackageUpdateResult ^, StorePackageUpdateStatus> ^ RequestDownloadAndInstallStorePackageUpdatesAsync(IIterable<StorePackageUpdate ^> ^ storePackageUpdates) = RequestDownloadAndInstallStorePackageUpdatesAsync;
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperationWithProgress<StorePackageUpdateResult, StorePackageUpdateStatus> RequestDownloadAndInstallStorePackageUpdatesAsync(IIterable<StorePackageUpdate> const& storePackageUpdates);
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperationWithProgress<StorePackageUpdateResult,StorePackageUpdateStatus> RequestDownloadAndInstallStorePackageUpdatesAsync(IEnumerable<StorePackageUpdate> storePackageUpdates);
function requestDownloadAndInstallStorePackageUpdatesAsync(storePackageUpdates)
Public Function RequestDownloadAndInstallStorePackageUpdatesAsync (storePackageUpdates As IEnumerable(Of StorePackageUpdate)) As IAsyncOperationWithProgress(Of StorePackageUpdateResult, StorePackageUpdateStatus)

參數

storePackageUpdates

IIterable<StorePackageUpdate>

IEnumerable<StorePackageUpdate>

StorePackageUpdate物件的集合,這些物件代表要下載和安裝的已更新套件。

傳回

呼叫端可以觀察的物件,可追蹤作業的進度和完成。 成功完成時,結果是 StorePackageUpdateResult 物件,可提供套件更新的相關資訊。

屬性

例外狀況

如果例外狀況的 ErrorCode 屬性具有值0x80070578 (ERROR_INVALID_WINDOW_HANDLE) ,這表示未在 UI 執行緒上呼叫方法。 如果您在使用 傳統型橋接器 的桌面應用程式中呼叫這個方法,這也表示您未 < 設定 xref:Windows.Services.Store.StoreCoNtext?text=StoreCoNtext > 物件,以指定哪一個應用程式視窗是此方法所顯示模式對話方塊的擁有者視窗。 如需詳細資訊,請參閱這篇文章

備註

若要取得有可用更新的套件清單,請使用 GetAppAndOptionalStorePackageUpdatesAsync 方法。 如果您已經使用 RequestDownloadStorePackageUpdatesAsync下載套件更新,此方法將會安裝更新,而不需要再次嘗試下載更新。 如需使用此方法的詳細資訊,包括程式碼範例,請參閱 下載並安裝應用程式的套件更新

這項作業不會封鎖。 此方法所傳回的 IAsyncOperationWithProgress 物件會在下載並安裝更新套件之後完成。

當您呼叫此方法時,OS 會顯示下列 UI:

  • OS 會顯示對話方塊,告知使用者應用程式更新可供下載,並要求使用者的許可權繼續進行下載。 如果使用者未授與開始下載的許可權,StorePackageUpdateResult傳回值的OverallState屬性具有Canceled值。

  • 下載更新的套件之後,OS 會顯示另一個對話方塊,告知使用者應用程式更新正在等候安裝,並要求使用者的許可權繼續進行安裝。 此對話方塊會警告使用者應用程式可能需要重新開機。 如果使用者未授與開始安裝的許可權,StorePackageUpdateResult傳回值的OverallState屬性具有Canceled值。

顯示下載與安裝的進度資訊

您指派來處理 進度 通知的方法會針對此要求中每個套件的下載和安裝程式中的每個步驟呼叫一次。 Progress處理常式會收到StorePackageUpdateStatus引數,提供引發進度通知之更新套件的相關資訊。

如果您想要顯示自訂進度 UI (,例如提供狀態給使用者的ProgressBar) ,您可以使用StorePackageUpdateStatus引數的PackageDownloadProgress欄位來取得每個套件下載和安裝作業的目前進度,以 0.0 到 1.0 的值表示。 此值會在下載期間從 0.0 增加到 0.8 到 0.8,然後在安裝期間從 0.8 增加到 1.0。

因此,如果您將自訂進度 UI 中顯示的百分比直接對應至 PackageDownloadProgress 欄位的值,請注意您的 UI 會在套件下載完成且 OS 顯示安裝對話方塊時顯示 80%。 如果您希望自訂進度 UI 在套件已下載且準備好要安裝時顯示 100%,您可以將程式碼修改為,在 PackageDownloadProgress 欄位到達 0.8 時指派 100% 給自訂進度 UI。

適用於

另請參閱