Package.CheckUpdateAvailabilityAsync Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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.