Problemas de API de arquivo do App Installer

Suporte a JavaScript para APIs de arquivo do App Installer

As classes PackageManager e Package no SDK do Windows fornecem métodos para adicionar ou modificar pacotes por meio de arquivos do Instalador de Aplicativos ou para recuperar informações sobre aplicativos com uma associação do Instalador de Arquivos. Para obter mais informações, confira Documentação relacionada.

Desses métodos, o Java Script não dá suporte a PackageManager.AddPackageByAppInstallerFileAsync, PackageManager.RequestAddPackageByAppInstallerFileAsync e Package.CheckUpdateAvailabilityAsync. No entanto, você pode criar um Componente do Windows Runtime que chame esses métodos e, em seguida, chamar esse componente a partir de um aplicativo UWP do JavaScript.

Veja um exemplo.

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;
        });
    }
}