Package.CheckUpdateAvailabilityAsync 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.
Il metodo *CheckUpdateAvailabilityAsync
consente agli sviluppatori di verificare la presenza di aggiornamenti nel pacchetto dell'app principale elencato nel file .appinstaller. Consente allo sviluppatore di determinare se gli aggiornamenti sono necessari a causa dei criteri con estensione appinstaller. Questo metodo funziona attualmente solo per le applicazioni installate tramite file con estensione appinstaller.
public:
virtual IAsyncOperation<PackageUpdateAvailabilityResult ^> ^ CheckUpdateAvailabilityAsync() = CheckUpdateAvailabilityAsync;
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<PackageUpdateAvailabilityResult> CheckUpdateAvailabilityAsync();
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<PackageUpdateAvailabilityResult> CheckUpdateAvailabilityAsync();
function checkUpdateAvailabilityAsync()
Public Function CheckUpdateAvailabilityAsync () As IAsyncOperation(Of PackageUpdateAvailabilityResult)
Restituisce
PackageUpdateAvailabilityResult che indica se un'applicazione ha un aggiornamento e se è necessario l'aggiornamento.
- Attributi
Requisiti Windows
Famiglia di dispositivi |
Windows 10, version 1809 (è stato introdotto in 10.0.17763.0)
|
API contract |
Windows.Foundation.UniversalApiContract (è stato introdotto in v7.0)
|
Esempio
Nota
Il repository MSIX Labs for Developers contiene esempi aggiuntivi sulla modernizzazione delle app desktop sfruttando MSIX, incluso un esercizio usando l'oggetto incorporato . Funzionalità AppInstaller.
Uno sviluppatore di app vuole avere un pulsante nella propria app che consente a un utente di verificare la presenza di aggiornamenti delle app. Per abilitare l'app per verificare se è disponibile un aggiornamento, utilizzano il CheckUpdateAvailabilityAsync
metodo come illustrato di seguito.
private async void CheckForUpdatesButton_Click(object sender, RoutedEventArgs e)
{
// Get the current app's package for the current user.
var pm = new PackageManager();
Package currentPackage = pm.FindPackageForUser(string.Empty, Package.Current.Id.FullName);
PackageUpdateAvailabilityResult result = await currentPackage.CheckUpdateAvailabilityAsync();
switch (result.Availability)
{
case PackageUpdateAvailability.Available:
GoToUpdateAvailableUIView();
break;
case PackageUpdateAvailability.Required:
GoToUpdateRequiredUIView();
break;
case PackageUpdateAvailability.NoUpdates:
// Dismissable ‘Ok’ dialog.
ShowNoUpdateAvailableDialog();
break;
case PackageUpdateAvailability.Unknown:
default:
// Log and ignore error.
Logger.Log($"No update information associated with app {Package.Current.DisplayName}");
// Dismissable ‘Ok’ dialog.
ShowNoUpdateAvailableDialog();
break;
}
}
Dall'interno dell'app, lo sviluppatore vuole verificare la presenza di aggiornamenti e avviare il processo di aggiornamento se sono disponibili gli aggiornamenti.
public async void CheckForAvailableUpdatesAndLaunchAsync(string targetPackageFullName)
{
// Get the current app's package for the current user.
var pm = new PackageManager();
Package package = pm.FindPackageForUser(string.Empty, targetPackageFullName);
PackageUpdateAvailabilityResult result = await package.CheckUpdateAvailabilityAsync();
switch (result.Availability)
{
case PackageUpdateAvailability.Available:
GoToUpdateAvailableUIView();
break;
case PackageUpdateAvailability.Required:
GoToUpdateRequiredUIView();
break;
case PackageUpdateAvailability.NoUpdates:
// Launch target app and close AppInstaller.
LaunchTargetApp(targetPackageFullName);
await ConsolidateAppInstallerView();
break;
case PackageUpdateAvailability.Unknown:
default:
// Log and ignore error.
Logger.Log($"No update information associated with app {targetPackageFullName}");
// Launch target app and close AppInstaller.
LaunchTargetApp(targetPackageFullName);
await ConsolidateAppInstallerView();
break;
}
}
Commenti
Se si tenta di usare questo metodo nell'oggetto Package restituito dalla proprietà Current , questo metodo avrà esito negativo con un errore "Accesso negato". Si tratta di un problema noto che potrebbe essere risolto in una versione futura. L'esempio in questa pagina illustra come recuperare informazioni sull'aggiornamento del pacchetto dell'app corrente.
Questo metodo non è supportato in JavaScript. È tuttavia possibile creare un componente Windows Runtime che chiama questo metodo e quindi chiamare questo componente da un'app UWP JavaScript. Per altre informazioni, vedere Problemi relativi all'API file del programma di installazione dell'app.