PackageManager.AddPackageByAppInstallerFileAsync Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Consente l'installazione di pacchetti di app singoli o multipli con un file con estensione 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)
Parametri
- options
- AddPackageByAppInstallerOptions
Le opzioni specificate in AddPackageByAppInstallerOptions.
- targetVolume
- PackageVolume
Volume in cui è installato il pacchetto.
Valori restituiti
IAsyncOperationWithProgress con deploymentResult che indica se la distribuzione ha avuto esito positivo e DeploymentProgress che fornisce aggiornamenti dello stato di avanzamento durante l'installazione.
- Attributi
Requisiti Windows
| Requisiti | Descrizione |
|---|---|
| Famiglia di dispositivi |
Windows 10 Fall Creators Update (è stato introdotto in 10.0.16299.0)
|
| API contract |
Windows.Foundation.UniversalApiContract (è stato introdotto in v5.0)
|
| Funzionalità dell'app |
packageManagement
|
Esempio
L'esempio seguente usa AddPackageByAppInstallerFileAsync per installare i pacchetti definiti in un file con estensione appinstaller. Si noti che l'oggetto IAsyncOperationWithProgress restituito viene assegnato a una variabile prima di monitorarne il completamento. Se non si contiene un riferimento all'operazione, è possibile che venga sottoposto a Garbage Collection e non venga mai completato.
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;
}
Commenti
Questo metodo non è supportato in JavaScript. Tuttavia, puoi creare un componente Windows Runtime che chiama questo metodo e quindi chiamare questo componente da un'app UWP JavaScript. Per altre informazioni, vedere Problemi relativi all'API dei file del programma di installazione app.