Package.CheckUpdateAvailabilityAsync Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
La méthode *CheckUpdateAvailabilityAsync
permet aux développeurs d’case activée pour les mises à jour du package d’application main répertorié dans le fichier .appinstaller. Il permet au développeur de déterminer si les mises à jour sont requises en raison de la stratégie .appinstaller. Cette méthode fonctionne actuellement uniquement pour les applications installées via des fichiers .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)
Retours
PackageUpdateAvailabilityResult qui indique si une application a une mise à jour et si la mise à jour est requise.
- Attributs
Configuration requise pour Windows
Famille d’appareils |
Windows 10, version 1809 (introduit dans 10.0.17763.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduit dans v7.0)
|
Exemples
Notes
Le référentiel MSIX Labs for Developers contient des exemples supplémentaires sur la modernisation des applications de bureau en tirant parti de MSIX, y compris un exercice utilisant le incorporé . Fonctionnalité AppInstaller.
Un développeur d’applications souhaite avoir un bouton dans son application qui permet à un utilisateur de case activée pour les mises à jour de l’application. Pour permettre à l’application de case activée si une mise à jour est disponible, ils utilisent la CheckUpdateAvailabilityAsync
méthode comme indiqué ci-dessous.
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;
}
}
À partir de l’application, le développeur souhaite case activée pour les mises à jour et démarrer le processus de mise à jour si des mises à jour sont disponibles.
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;
}
}
Remarques
Si vous essayez d’utiliser cette méthode sur l’objet Package retourné par la propriété Current , cette méthode échoue avec une erreur « Accès refusé ». Il s’agit d’un problème connu qui peut être résolu dans une version ultérieure. L’exemple de cette page montre comment récupérer des informations de mise à jour sur le package de l’application actuelle.
Cette méthode n’est pas prise en charge dans JavaScript. Toutefois, vous pouvez créer un composant Windows Runtime qui appelle cette méthode, puis appeler ce composant à partir d’une application UWP JavaScript. Pour plus d’informations, consultez Problèmes d’API du fichier du programme d’installation d’application.