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

IIterable<StorePackageUpdate>

IEnumerable<StorePackageUpdate>

Набор объектов 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.

Применяется к

См. также раздел