StoreContext.RequestDownloadAndInstallStorePackageUpdatesAsync Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Tenta baixar e instalar as atualizações de pacote especificadas para o aplicativo atual da Microsoft Store. Esse método também exibe uma caixa de diálogo de interface do usuário que solicita permissão para a operação.
Importante
Esse método deve ser chamado no thread da interface do usuário.
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)
Parâmetros
- storePackageUpdates
O conjunto de objetos StorePackageUpdate que representam os pacotes atualizados a serem baixados e instalados.
Retornos
Um objeto que o chamador pode observar para acompanhar o progresso e a conclusão da operação. Após a conclusão bem-sucedida, o resultado é um objeto StorePackageUpdateResult que fornece informações sobre as atualizações do pacote.
- Atributos
Exceções
Se a propriedade ErrorCode da exceção tiver o valor 0x80070578 (ERROR_INVALID_WINDOW_HANDLE), isso indicará que o método não foi chamado no thread da interface do usuário. Se você estiver chamando esse método em um aplicativo da área de trabalho que usa o Ponte de Desktop, isso também pode indicar que você não configurou o <objeto xref:Windows.Services.Store.StoreContext?text=StoreContext> para especificar qual janela do aplicativo é a janela de proprietário para caixas de diálogo modais mostradas por esse método. Para obter mais informações, consulte este artigo.
Comentários
Para obter a lista de pacotes que têm atualizações disponíveis, use o método GetAppAndOptionalStorePackageUpdatesAsync . Se você já tiver baixado atualizações de pacote usando RequestDownloadStorePackageUpdatesAsync, esse método instalará as atualizações sem tentar baixá-las novamente. Para obter mais informações sobre como usar esse método, incluindo um exemplo de código, consulte Baixar e instalar atualizações de pacote para seu aplicativo.
Essa operação não será bloqueada. O objeto IAsyncOperationWithProgress retornado por esse método será concluído depois que os pacotes de atualização forem baixados e instalados.
Quando você chama esse método, o sistema operacional exibe a seguinte interface do usuário:
O sistema operacional exibe uma caixa de diálogo que informa ao usuário que uma atualização de aplicativo está disponível para download e solicita a permissão do usuário para continuar com o download. Se o usuário não conceder permissão para iniciar o download, a propriedade OverallState do valor retornado StorePackageUpdateResult terá o valor Cancelado.
Depois que os pacotes atualizados são baixados, o sistema operacional exibe outra caixa de diálogo que informa ao usuário que a atualização do aplicativo está aguardando para ser instalada e solicita a permissão do usuário para prosseguir com a instalação. Essa caixa de diálogo avisa o usuário de que o aplicativo pode precisar ser reiniciado. Se o usuário não conceder permissão para iniciar a instalação, a propriedade OverallState do valor retornado StorePackageUpdateResult terá o valor Cancelado.
Exibir informações de progresso para transferência e instalação
O método que você atribui para lidar com notificações de progresso é chamado uma vez para cada etapa no processo de download e instalação de cada pacote nesta solicitação. O manipulador Progress recebe um argumento StorePackageUpdateStatus que fornece informações sobre o pacote de atualização que gerou a notificação de progresso.
Se você quiser mostrar uma interface do usuário de progresso personalizada (como um ProgressBar) que fornece status para o usuário, você pode usar o campo PackageDownloadProgress do argumento StorePackageUpdateStatus para obter o progresso atual de cada operação de download e instalação de pacote, representada por um valor de 0,0 a 1,0. Esse valor aumenta de 0,0 para 0,8 durante o download e, em seguida, aumenta de 0,8 para 1,0 durante a instalação.
Portanto, se você mapear a porcentagem mostrada na interface do usuário de progresso personalizado diretamente para o valor do campo PackageDownloadProgress , lembre-se de que sua interface do usuário mostrará 80% quando o pacote terminar de ser baixado e o sistema operacional exibirá a caixa de diálogo de instalação. Se você quiser que seu progresso personalizado da interface do usuário exiba 100% quando o pacote é baixado e está pronto para ser instalado, você pode modificar o código para atribuir 100% ao seu progresso da interface do usuário quando o campo PackageDownloadProgress atingir 0,8.