Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Поддержка JavaScript для API-интерфейсов файлов установщика приложений
Классы PackageManager и Package в пакете SDK для Windows предоставляют методы, которые можно использовать для добавления или изменения пакетов с помощью файлов установщика приложений или получения сведений о приложениях с сопоставлением установщика приложений. Дополнительные сведения см. в Связанной документации.
Из этих методов PackageManager.AddPackageByAppInstallerFileAsync, PackageManager.RequestAddPackageByAppInstallerFileAsync и Package.CheckUpdateAvailabilityAsync не поддерживаются в JavaScript. Однако можно создать компонент среды выполнения Windows , который вызывает эти методы, а затем вызвать этот компонент из приложения UWP JavaScript.
Ниже приведен пример.
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;
});
}
}