StoreContext.RequestDownloadAndInstallStorePackageUpdatesAsync Método

Definición

Intenta descargar e instalar las actualizaciones de paquetes especificadas para la aplicación actual desde Microsoft Store. Este método también muestra un cuadro de diálogo de interfaz de usuario que solicita permiso para la operación.

Importante

Se debe llamar a este método en el subproceso de la interfaz de usuario.

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

IIterable<StorePackageUpdate>

IEnumerable<StorePackageUpdate>

Conjunto de objetos StorePackageUpdate que representan los paquetes actualizados que se van a descargar e instalar.

Devoluciones

Objeto que el autor de la llamada puede observar para realizar un seguimiento del progreso y la finalización de la operación. Al finalizar correctamente, el resultado es un objeto StorePackageUpdateResult que proporciona información sobre las actualizaciones del paquete.

Atributos

Excepciones

Si la propiedad ErrorCode de la excepción tiene el valor 0x80070578 (ERROR_INVALID_WINDOW_HANDLE), esto indica que no se llamó al método en el subproceso de la interfaz de usuario. Si llamas a este método en una aplicación de escritorio que usa el Puente de dispositivo de escritorio, esto también puede indicar que no has configurado el <objeto xref:Windows.Services.Store.StoreContext?text=StoreContext> para especificar qué ventana de aplicación es la ventana propietaria de los diálogos modales mostrados por este método. Para obtener más información, consulte este artículo.

Comentarios

Para obtener la lista de paquetes que tienen actualizaciones disponibles, use el método GetAppAndOptionalStorePackageUpdatesAsync . Si ya ha descargado las actualizaciones de paquetes mediante RequestDownloadStorePackageUpdatesAsync, este método instalará las actualizaciones sin intentar descargarlas de nuevo. Para obtener más información sobre el uso de este método, incluido un ejemplo de código, consulta Descargar e instalar actualizaciones de paquetes para la aplicación.

Esta operación no se bloqueará. El objeto IAsyncOperationWithProgress devuelto por este método se completará una vez descargados e instalados los paquetes de actualización.

Al llamar a este método, el sistema operativo muestra la siguiente interfaz de usuario:

  • El sistema operativo muestra un cuadro de diálogo que indica al usuario que hay disponible una actualización de la aplicación para descargar y pide al usuario permiso para continuar con la descarga. Si el usuario no concede permiso para iniciar la descarga, la propiedad OverallState del valor devuelto StorePackageUpdateResult tiene el valor Cancelado.

  • Una vez descargados los paquetes actualizados, el sistema operativo muestra otro cuadro de diálogo que indica al usuario que la actualización de la aplicación está esperando instalarse y pide al usuario permiso para continuar con la instalación. Este cuadro de diálogo advierte al usuario de que es posible que la aplicación tenga que reiniciarse. Si el usuario no concede permiso para iniciar la instalación, la propiedad OverallState del valor devuelto StorePackageUpdateResult tiene el valor Cancelado.

Mostrar información de progreso para la descarga e instalación

El método que asigne para controlar las notificaciones de progreso se llama una vez para cada paso del proceso de descarga e instalación de cada paquete de esta solicitud. El controlador Progress recibe un argumento StorePackageUpdateStatus que proporciona información sobre el paquete de actualización que generó la notificación de progreso.

Si quieres mostrar una interfaz de usuario de progreso personalizada (como progressBar) que proporcione el estado al usuario, puedes usar el campo PackageDownloadProgress del argumento StorePackageUpdateStatus para obtener el progreso actual de cada operación de descarga e instalación de paquetes, representada por un valor de 0.0 a 1.0. Este valor aumenta de 0,0 a 0,8 durante la descarga y, a continuación, aumenta de 0,8 a 1,0 durante la instalación.

Por lo tanto, si asigna el porcentaje que se muestra en la interfaz de usuario de progreso personalizada directamente al valor del campo PackageDownloadProgress , tenga en cuenta que la interfaz de usuario mostrará el 80 % cuando el paquete haya terminado de descargarse y el sistema operativo muestre el cuadro de diálogo de instalación. Si quieres que tu interfaz de usuario de progreso personalizada muestre 100 % cuando el paquete se haya descargado y esté listo para instalarse, puedes modificar el código para asignar el valor de 100 % a la interfaz de usuario de progreso cuando el campo PackageDownloadProgress alcance 0,8.

Se aplica a

Consulte también