Lenguaje

PackageManager.AddPackageByAppInstallerFileAsync Método

Definición

Permite instalar paquetes de una o varias aplicaciones con un archivo .appinstaller.

public:
 virtual IAsyncOperationWithProgress<DeploymentResult ^, DeploymentProgress> ^ AddPackageByAppInstallerFileAsync(Uri ^ appInstallerFileUri, AddPackageByAppInstallerOptions options, PackageVolume ^ targetVolume) = AddPackageByAppInstallerFileAsync;
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress> AddPackageByAppInstallerFileAsync(Uri const& appInstallerFileUri, AddPackageByAppInstallerOptions const& options, PackageVolume const& targetVolume);
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperationWithProgress<DeploymentResult,DeploymentProgress> AddPackageByAppInstallerFileAsync(System.Uri appInstallerFileUri, AddPackageByAppInstallerOptions options, PackageVolume targetVolume);
function addPackageByAppInstallerFileAsync(appInstallerFileUri, options, targetVolume)
Public Function AddPackageByAppInstallerFileAsync (appInstallerFileUri As Uri, options As AddPackageByAppInstallerOptions, targetVolume As PackageVolume) As IAsyncOperationWithProgress(Of DeploymentResult, DeploymentProgress)

Parámetros

appInstallerFileUri
Uri Uri

Un URI en el archivo .appinstaller.

options
AddPackageByAppInstallerOptions

Las opciones especificadas en AddPackageByAppInstallerOptions.

targetVolume
PackageVolume

Volumen en el que está instalado el paquete.

Devoluciones

IAsyncOperationWithProgress con deploymentResult que indica si la implementación se realizó correctamente y DeploymentProgress que proporciona actualizaciones de progreso durante la instalación.

Atributos

Requisitos de Windows

Requisitos Description
Familia de dispositivos
Windows 10 Fall Creators Update (se introdujo en la versión 10.0.16299.0)
API contract
Windows.Foundation.UniversalApiContract (se introdujo en la versión v5.0)
Características de aplicaciones
packageManagement

Ejemplos

En el ejemplo siguiente se usa AddPackageByAppInstallerFileAsync para instalar paquetes definidos en un archivo .appinstaller. Tenga en cuenta que el IAsyncOperationWithProgress devuelto se asigna a una variable antes de supervisar su finalización. Si no se puede contener una referencia a la operación, puede provocar que se recopilen elementos no utilizados y nunca se completen.

using System;
using System.Threading;
using Windows.Foundation;
using Windows.Management.Deployment;

public static int Main(string[] args)
{
    string inputFileUri = args[0];
    int returnValue = 0;

    Uri appInstallerFileUri = new Uri(inputFileUri);

    PackageManager packageManager = new PackageManager();
    PackageVolume packageVolume = packageManager.GetDefaultPackageVolume();

    // Important: assign the operation to a variable to prevent it from
    // being garbage-collected before completion.
    IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress> deploymentOperation =
        packageManager.AddPackageByAppInstallerFileAsync(
            appInstallerFileUri,
            AddPackageByAppInstallerOptions.ForceTargetAppShutdown,
            packageVolume);

    // This event is signaled when the operation completes
    ManualResetEvent opCompletedEvent = new ManualResetEvent(false);

    // Define the delegate using a statement lambda
    deploymentOperation.Completed = (operation, status) => { opCompletedEvent.Set(); };

    // Wait until the operation completes
    opCompletedEvent.WaitOne();

    // Check the status of the operation
    if (deploymentOperation.Status == AsyncStatus.Error)
    {
        DeploymentResult deploymentResult = deploymentOperation.GetResults();
        Console.WriteLine("Error code: {0}", deploymentOperation.ErrorCode);
        Console.WriteLine("Error text: {0}", deploymentResult.ErrorText);
        returnValue = 1;
    }
    else if (deploymentOperation.Status == AsyncStatus.Canceled)
    {
        Console.WriteLine("Installation canceled");
    }
    else if (deploymentOperation.Status == AsyncStatus.Completed)
    {
        Console.WriteLine("Installation succeeded");
    }
    else
    {
        returnValue = 1;
        Console.WriteLine("Installation status unknown");
    }

    return returnValue;
}

Comentarios

Este método no se admite en JavaScript. Sin embargo, puedes crear un componente de Windows Runtime que llame a este método y, a continuación, llamar a este componente desde una aplicación para UWP de JavaScript. Para obtener más información, consulte Problemas de api de archivos del instalador de aplicaciones.

Se aplica a

Consulte también