StoreContext.RequestDownloadAndInstallStorePackageUpdatesAsync Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Пытается скачать и установить указанные обновления пакета для текущего приложения из Microsoft Store. Этот метод также отображает диалоговое окно пользовательского интерфейса, которое запрашивает разрешение для операции.
Важно!
Этот метод должен вызываться в потоке пользовательского интерфейса.
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
Набор объектов StorePackageUpdate , представляющих обновленные пакеты для скачивания и установки.
Возвращаемое значение
Объект, который может наблюдать вызывающий объект для отслеживания хода выполнения и завершения операции. После успешного завершения результатом будет объект StorePackageUpdateResult , предоставляющий сведения об обновлениях пакета.
- Атрибуты
Исключения
Если свойство ErrorCode исключения имеет значение 0x80070578 (ERROR_INVALID_WINDOW_HANDLE), это означает, что метод не был вызван в потоке пользовательского интерфейса. Если вы вызываете этот метод в классическом приложении, использующего мост для классических приложений, это также может означать, что вы не настроили <объект xref:Windows.Services.Store.StoreContext?text=StoreContext>, чтобы указать, какое окно приложения является окном владельца для модальных диалогов, отображаемых этим методом. Дополнительные сведения см. в этой статье.
Комментарии
Чтобы получить список пакетов с доступными обновлениями, используйте метод GetAppAndOptionalStorePackageUpdatesAsync . Если вы уже скачали обновления пакетов с помощью requestDownloadStorePackageUpdatesAsync, этот метод установит обновления без повторной загрузки. Дополнительные сведения об использовании этого метода, включая пример кода, см. в статье Скачивание и установка обновлений пакета для приложения.
Эта операция не блокируется. Объект IAsyncOperationWithProgress , возвращаемый этим методом, завершится после скачивания и установки пакетов обновления.
При вызове этого метода операционная система отображает следующий пользовательский интерфейс:
В ОС отображается диалоговое окно, в котором пользователю сообщается, что доступно обновление приложения для скачивания, и запрашивается разрешение пользователя на продолжение скачивания. Если пользователь не предоставляет разрешение на запуск скачивания, свойство OverallState возвращаемого значения StorePackageUpdateResult имеет значение Canceled.
После скачивания обновленных пакетов ОС отображает еще одно диалоговое окно, в котором сообщается, что обновление приложения ожидает установки, и запрашивается разрешение пользователя на продолжение установки. Это диалоговое окно предупреждает пользователя о том, что приложение может потребоваться перезапустить. Если пользователь не предоставляет разрешение на запуск установки, свойство OverallState возвращаемого значения StorePackageUpdateResult имеет значение Canceled.
Отображение хода выполнения скачивания и установки
Метод, назначаемый для обработки уведомлений о ходе выполнения , вызывается один раз для каждого шага в процессе скачивания и установки для каждого пакета в этом запросе. Обработчик хода выполнения получает аргумент StorePackageUpdateStatus , который предоставляет сведения о пакете обновления, вызвавшим уведомление о ходе выполнения.
Если вы хотите отобразить пользовательский пользовательский интерфейс хода выполнения (например , ProgressBar), предоставляющий пользователю состояние, можно использовать поле PackageDownloadProgress аргумента StorePackageUpdateStatus , чтобы получить текущий ход выполнения каждой операции скачивания и установки пакета, представленную значением от 0,0 до 1,0. Это значение увеличивается с 0,0 до 0,8 во время скачивания, а затем с 0,8 до 1,0 во время установки.
Таким образом, если вы сопоставляете процент, отображаемый в пользовательском пользовательском пользовательском интерфейсе выполнения, непосредственно со значением поля PackageDownloadProgress , имейте в виду, что после завершения скачивания пакета в пользовательском интерфейсе будет отображаться 80 %, а в ОС отобразится диалоговое окно установки. Если вы хотите, чтобы специальный интерфейс хода выполнения отображал 100%, когда пакет будет скачан и готов к установке, вы можете изменить код и назначить 100% интерфейсу хода выполнения, когда значение поля PackageDownloadProgress достигнет 0.8.