應用程式安裝程式檔案 API 問題
應用程式安裝程式檔案 API 的 JavaScript 支援
Windows SDK 中的 PackageManager 和 Package 類別提供方法,可讓您透過應用程式安裝程式檔案新增或修改套件,或擷取應用程式與應用程式安裝程式關聯的相關信息。 如需詳細資訊,請參閱相關文件。
在這些方法中,JavaScript 不支援 PackageManager.AddPackageByAppInstallerFileAsync、PackageManager.RequestAddPackageByAppInstallerFileAsync 和 Package.CheckUpdateAvailabilityAsync。 不過,您可以建立 Windows 執行階段元件來呼叫這些方法,然後從 JavaScript UWP 應用程式呼叫此元件。
以下是範例。
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;
});
}
}