다음을 통해 공유


앱 설치 관리자 파일 API 문제

앱 설치 관리자 파일 API에 대한 JavaScript 지원

Windows SDK의 PackageManager패키지 클래스는 앱 설치 관리자 파일을 통해 패키지를 추가하거나 수정하거나 앱 설치 관리자 연결을 사용하여 앱에 대한 정보를 검색하는 데 사용할 수 있는 메서드를 제공합니다. 자세한 내용은 관련 설명서를 참조하세요.

이러한 메서드 중 PackageManager.AddPackageByAppInstallerFileAsync, PackageManager.RequestAddPackageByAppInstallerFileAsyncPackage.CheckUpdateAvailabilityAsync는 JavaScript에서 지원되지 않습니다. 그러나 이러한 메서드를 호출하는 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;
        });
    }
}