StoreContext.RequestDownloadAndInstallStorePackageUpdatesAsync Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Tenta di scaricare e installare gli aggiornamenti del pacchetto specificati per l'app corrente da Microsoft Store. Questo metodo visualizza anche una finestra di dialogo dell'interfaccia utente che richiede l'autorizzazione per l'operazione.
Importante
Questo metodo deve essere chiamato nel thread dell'interfaccia utente.
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)
Parametri
- storePackageUpdates
Set di oggetti StorePackageUpdate che rappresentano i pacchetti aggiornati da scaricare e installare.
Restituisce
Oggetto che il chiamante può osservare per tenere traccia dello stato di avanzamento e del completamento dell'operazione. Al termine del completamento, il risultato è un oggetto StorePackageUpdateResult che fornisce informazioni sugli aggiornamenti del pacchetto.
- Attributi
Eccezioni
Se la proprietà ErrorCode dell'eccezione ha il valore 0x80070578 (ERROR_INVALID_WINDOW_HANDLE), questo indica che il metodo non è stato chiamato nel thread dell'interfaccia utente. Se si chiama questo metodo in un'applicazione desktop che usa la Desktop Bridge, questo può anche indicare che non è stato configurato l'oggetto <xref:Windows.Services.Store.StoreContext?text=StoreContext> per specificare quale finestra dell'applicazione è la finestra proprietario per i dialoghi modali visualizzati da questo metodo. Per altre informazioni, vedi questo articolo.
Commenti
Per ottenere l'elenco di pacchetti che dispongono di aggiornamenti disponibili, usare il metodo GetAppAndOptionalStorePackageUpdatesAsync . Se sono già stati scaricati gli aggiornamenti del pacchetto usando RequestDownloadStorePackageUpdatesAsync, questo metodo installerà gli aggiornamenti senza tentare di scaricarli di nuovo. Per altre informazioni sull'uso di questo metodo, incluso un esempio di codice, vedere Scaricare e installare gli aggiornamenti del pacchetto per l'app.
Questa operazione non verrà bloccata. L'oggetto IAsyncOperationWithProgress restituito da questo metodo verrà completato dopo il download e l'installazione dei pacchetti di aggiornamento.
Quando si chiama questo metodo, il sistema operativo visualizza l'interfaccia utente seguente:
Il sistema operativo visualizza una finestra di dialogo che indica all'utente che un aggiornamento dell'app è disponibile per scaricare e chiede all'utente l'autorizzazione di procedere con il download. Se l'utente non concede l'autorizzazione per avviare il download, la proprietà OverallState del valore restituito StorePackageUpdateResult ha il valore Annullato.
Dopo aver scaricato i pacchetti aggiornati, il sistema operativo visualizza un'altra finestra di dialogo che indica all'utente che l'aggiornamento dell'app è in attesa di essere installato e chiede all'utente l'autorizzazione di procedere con l'installazione. Questa finestra di dialogo avvisa l'utente che l'app potrebbe dover riavviare. Se l'utente non concede l'autorizzazione per avviare l'installazione, la proprietà OverallState del valore restituito StorePackageUpdateResult ha il valore Annullato.
Visualizzare le informazioni sullo stato di avanzamento per il download e l'installazione
Il metodo assegnato per gestire le notifiche di stato viene chiamato una volta per ogni passaggio del processo di download e installazione per ogni pacchetto in questa richiesta. Il gestore Progress riceve un argomento StorePackageUpdateStatus che fornisce informazioni sul pacchetto di aggiornamento che ha generato la notifica dello stato.
Se si vuole visualizzare un'interfaccia utente di stato personalizzata ,ad esempio ProgressBar, che fornisce lo stato all'utente, è possibile usare il campo PackageDownloadProgress dell'argomento StorePackageUpdateStatus per ottenere lo stato corrente di avanzamento di ogni download e operazione di installazione del pacchetto, rappresentato da un valore compreso tra 0,0 e 1.0. Questo valore aumenta da 0,0 a 0,8 durante il download e quindi aumenta da 0,8 a 1,0 durante l'installazione.
Pertanto, se si esegue il mapping della percentuale visualizzata nell'interfaccia utente di stato personalizzata direttamente al valore del campo PackageDownloadProgress , tenere presente che l'interfaccia utente mostrerà il 80% al termine del download del pacchetto e il sistema operativo visualizza la finestra di dialogo di installazione. Se si vuole che l'interfaccia utente di avanzamento personalizzata visualizzi il 100% quando il pacchetto viene scaricato e pronto per l'installazione, è possibile modificare il codice per assegnare il 100% all'interfaccia utente di avanzamento quando il campo PackageDownloadProgress raggiunge 0,8.