Bagikan melalui


StoreContext.RequestDownloadAndInstallStorePackageUpdatesAsync Metode

Definisi

Mencoba mengunduh dan menginstal pembaruan paket yang ditentukan untuk aplikasi saat ini dari Microsoft Store. Metode ini juga menampilkan dialog UI yang meminta izin untuk operasi.

Penting

Metode ini harus dipanggil pada utas 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)

Parameter

storePackageUpdates

IIterable<StorePackageUpdate>

IEnumerable<StorePackageUpdate>

Kumpulan objek StorePackageUpdate yang mewakili paket yang diperbarui untuk diunduh dan diinstal.

Mengembalikan

Objek yang dapat diamati pemanggil untuk melacak kemajuan dan penyelesaian operasi. Setelah berhasil diselesaikan, hasilnya adalah objek StorePackageUpdateResult yang menyediakan info tentang pembaruan paket.

Atribut

Pengecualian

Jika properti ErrorCode pengecualian memiliki nilai 0x80070578 (ERROR_INVALID_WINDOW_HANDLE), ini menunjukkan bahwa metode tidak dipanggil pada utas UI. Jika Anda memanggil metode ini dalam aplikasi desktop yang menggunakan Desktop Bridge, ini juga dapat menunjukkan bahwa Anda tidak mengonfigurasi <objek xref:Windows.Services.Store.StoreContext?text=StoreContext> untuk menentukan jendela aplikasi mana yang merupakan jendela pemilik untuk dialog modal yang ditunjukkan oleh metode ini. Untuk informasi selengkapnya, lihat artikel ini.

Keterangan

Untuk mendapatkan daftar paket yang memiliki pembaruan yang tersedia, gunakan metode GetAppAndOptionalStorePackageUpdatesAsync . Jika Anda telah mengunduh pembaruan paket dengan menggunakan RequestDownloadStorePackageUpdatesAsync, metode ini akan menginstal pembaruan tanpa mencoba mengunduhnya lagi. Untuk informasi selengkapnya tentang menggunakan metode ini, termasuk contoh kode, lihat Mengunduh dan menginstal pembaruan paket untuk aplikasi Anda.

Operasi ini tidak akan memblokir. Objek IAsyncOperationWithProgress yang dikembalikan oleh metode ini akan selesai setelah paket pembaruan diunduh dan diinstal.

Saat Anda memanggil metode ini, OS menampilkan UI berikut:

  • OS menampilkan dialog yang memberi tahu pengguna bahwa pembaruan aplikasi tersedia untuk diunduh dan meminta izin pengguna untuk melanjutkan pengunduhan. Jika pengguna tidak memberikan izin untuk memulai pengunduhan, properti OverallState dari nilai pengembalian StorePackageUpdateResult memiliki nilai Dibatalkan.

  • Setelah paket yang diperbarui diunduh, OS menampilkan dialog lain yang memberi tahu pengguna bahwa pembaruan aplikasi menunggu untuk diinstal dan meminta izin pengguna untuk melanjutkan penginstalan. Dialog ini memperingatkan pengguna bahwa aplikasi mungkin perlu dimulai ulang. Jika pengguna tidak memberikan izin untuk memulai penginstalan, properti OverallState dari nilai pengembalian StorePackageUpdateResult memiliki nilai Dibatalkan.

Tampilkan info kemajuan untuk pengunduhan dan penginstalan

Metode yang Anda tetapkan untuk menangani pemberitahuan Kemajuan dipanggil satu kali untuk setiap langkah dalam proses pengunduhan dan penginstalan untuk setiap paket dalam permintaan ini. Handler Kemajuan menerima argumen StorePackageUpdateStatus yang menyediakan info tentang paket pembaruan yang memunculkan pemberitahuan kemajuan.

Jika Anda ingin menampilkan UI kemajuan kustom (seperti ProgressBar) yang menyediakan status kepada pengguna, Anda dapat menggunakan bidang PackageDownloadProgress dari argumen StorePackageUpdateStatus untuk mendapatkan kemajuan saat ini dari setiap operasi pengunduhan dan penginstalan paket, yang diwakili oleh nilai dari 0,0 hingga 1,0. Nilai ini meningkat dari 0,0 menjadi 0,8 selama pengunduhan, dan kemudian meningkat dari 0,8 menjadi 1,0 selama penginstalan.

Oleh karena itu, jika Anda memetakan persentase yang ditampilkan dalam UI kemajuan kustom Anda langsung ke nilai bidang PackageDownloadProgress , ketahuilah bahwa UI Anda akan menunjukkan 80% ketika paket selesai diunduh dan OS menampilkan dialog penginstalan. Jika Anda ingin UI kemajuan kustom Anda menampilkan 100% saat paket diunduh dan siap diinstal, Anda dapat memodifikasi kode Anda untuk menetapkan 100% ke UI kemajuan Anda ketika bidang PackageDownloadProgress mencapai 0,8.

Berlaku untuk

Lihat juga