Package.CheckUpdateAvailabilityAsync Metode

Definisi

Metode *CheckUpdateAvailabilityAsync memungkinkan pengembang untuk memeriksa pembaruan pada paket aplikasi utama yang tercantum dalam file .appinstaller. Ini memungkinkan pengembang untuk menentukan apakah pembaruan diperlukan karena kebijakan .appinstaller. Metode ini saat ini hanya berfungsi untuk aplikasi yang diinstal melalui file .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)

Mengembalikan

PackageUpdateAvailabilityResult yang menunjukkan apakah aplikasi memiliki pembaruan, dan jika pembaruan diperlukan.

Atribut

Persyaratan Windows

Rangkaian perangkat
Windows 10, version 1809 (diperkenalkan dalam 10.0.17763.0)
API contract
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v7.0)

Contoh

Catatan

Repositori MSIX Labs for Developers berisi contoh tambahan tentang memodernisasi aplikasi desktop dengan memanfaatkan MSIX, termasuk latihan menggunakan yang disematkan . Fitur AppInstaller.

Pengembang aplikasi ingin memiliki tombol di aplikasi mereka yang memungkinkan pengguna untuk memeriksa pembaruan aplikasi. Untuk mengaktifkan aplikasi untuk memeriksa apakah pembaruan tersedia, mereka menggunakan metode seperti yang CheckUpdateAvailabilityAsync ditunjukkan di bawah ini.

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;
    }
}

Dari dalam aplikasi, pengembang ingin memeriksa pembaruan dan memulai proses pembaruan jika pembaruan tersedia.

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;
    }
}

Keterangan

Jika Anda mencoba menggunakan metode ini pada objek Paket yang dikembalikan oleh properti Saat Ini , metode ini akan gagal dengan kesalahan "Akses ditolak". Ini adalah masalah umum yang mungkin diperbaiki dalam rilis mendatang. Contoh di halaman ini menunjukkan cara mengambil informasi pembaruan tentang paket aplikasi saat ini.

Metode ini tidak didukung di JavaScript. Namun, Anda dapat membuat komponen Windows Runtime yang memanggil metode ini lalu memanggil komponen ini dari aplikasi JavaScript UWP. Untuk informasi selengkapnya, lihat Masalah API file Penginstal Aplikasi.

Berlaku untuk

Lihat juga