Probleme mit der App-Installer-Datei-API
JavaScript-Unterstützung für App-Installer-Datei-APIs
Die PackageManager- und Package-Klassen im Windows SDK bieten Methoden zum Hinzufügen oder Ändern von Paketen über App Installer-Dateien oder zum Abrufen von Informationen zu Apps mit einer App Installer-Zuordnung. Weitere Informationen finden Sie unter Verwandte Dokumentation.
Von diesen Methoden werden PackageManager.AddPackageByAppInstallerFileAsync, PackageManager.RequestAddPackageByAppInstallerFileAsync und Package.CheckUpdateAvailabilityAsync in JavaScript nicht unterstützt. Sie können jedoch eine Komponente für Windows-Runtime erstellen, die diese Methoden aufruft und diese Komponente dann aus einer JavaScript-UWP-App aufruft.
Es folgt ein Beispiel.
namespace CSRuntimeComponent
{
public sealed class UpdateAvailabilityChecker
{
public static IAsyncOperation<PackageUpdateAvailability> CheckForUpdatesAsync()
{
return AsyncInfo.Run<PackageUpdateAvailability>((result) => Task.Run<PackageUpdateAvailability>(async () =>
{
PackageManager pm = new PackageManager();
Package currentPackage = pm.FindPackageForUser(string.Empty, Package.Current.Id.FullName);
PackageUpdateAvailabilityResult apiResult = await currentPackage.CheckUpdateAvailabilityAsync();
if (apiResult.Availability == PackageUpdateAvailability.Error)
{
Logger.Error($"Error occurred, extended code: {apiResult.ExtendedError}");
}
return apiResult.Availability;
}));
}
}
}
window.onload = function () {
document.getElementById('mainButton').onclick = function (evt) {
CSRuntimeComponent.UpdateAvailabilityChecker.checkForUpdatesAsync().done(function (result) {
document.getElementById("resultLabel").innerHTML = "Update availability result:" + result;
});
}
}