PackageManager.AddPackageAsync Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Surcharges
AddPackageAsync(Uri, IIterable<Uri>, DeploymentOptions) |
Ajoute un package (le package main) et ses packages de dépendances pour l’utilisateur actuel, à l’aide des options de déploiement spécifiées. |
AddPackageAsync(Uri, IIterable<Uri>, DeploymentOptions, PackageVolume) |
Ajoute un package (le package main) et ses packages de dépendances au volume spécifié pour l’utilisateur actuel, à l’aide des options de déploiement spécifiées. |
AddPackageAsync(Uri, IIterable<Uri>, DeploymentOptions, PackageVolume, IIterable<String>, IIterable<Uri>) |
Ajoute un package et ses packages de dépendances au volume spécifié pour l’utilisateur actuel, à l’aide des options de déploiement spécifiées. |
AddPackageAsync(Uri, IIterable<Uri>, DeploymentOptions, PackageVolume, IIterable<String>, IIterable<Uri>, IIterable<Uri>) |
Ajoute un package (le package main) et ses packages de dépendances pour l’utilisateur actuel, à l’aide des options de déploiement spécifiées. |
AddPackageAsync(Uri, IIterable<Uri>, DeploymentOptions)
public:
virtual IAsyncOperationWithProgress<DeploymentResult ^, DeploymentProgress> ^ AddPackageAsync(Uri ^ packageUri, IIterable<Uri ^> ^ dependencyPackageUris, DeploymentOptions deploymentOptions) = AddPackageAsync;
/// [Windows.Foundation.Metadata.Overload("AddPackageAsync")]
IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress> AddPackageAsync(Uri const& packageUri, IIterable<Uri> const& dependencyPackageUris, DeploymentOptions const& deploymentOptions);
[Windows.Foundation.Metadata.Overload("AddPackageAsync")]
public IAsyncOperationWithProgress<DeploymentResult,DeploymentProgress> AddPackageAsync(System.Uri packageUri, IEnumerable<System.Uri> dependencyPackageUris, DeploymentOptions deploymentOptions);
function addPackageAsync(packageUri, dependencyPackageUris, deploymentOptions)
Public Function AddPackageAsync (packageUri As Uri, dependencyPackageUris As IEnumerable(Of Uri), deploymentOptions As DeploymentOptions) As IAsyncOperationWithProgress(Of DeploymentResult, DeploymentProgress)
Paramètres
URI du package à ajouter. L’URI doit suivre le schéma d’URI de fichier (file://), car les seuls schémas d’URI pris en charge sont les chemins d’accès de fichiers locaux et les chemins de réseau local.
- dependencyPackageUris
Uris des packages de dépendances à ajouter. S’il n’existe aucun package de dépendance ou si les packages de dépendances sont déjà inscrits, ce paramètre peut avoir la valeur Null.
- deploymentOptions
- DeploymentOptions
Combinaison au niveau du bit des valeurs d’énumération de l’énumération DeploymentOptions . ForceApplicationShutdown et None sont les seules options valides pour cette méthode. La spécification d’une autre option entraîne une valeur de retour E_INVALIDARG.
Retours
Status de la demande de déploiement. DeploymentResult contient la valeur finale retournée de l’opération de déploiement, une fois celle-ci terminée. DeploymentProgress peut être utilisé pour obtenir le pourcentage d’achèvement sur l’ensemble de l’opération de déploiement.
- Attributs
Configuration requise pour Windows
Fonctionnalités de l’application |
packageManagement
|
Exemples
L’exemple suivant utilise la méthode PackageManager.AddPackageAsync pour installer un package qui n’a aucune dépendance ou dont les dépendances sont déjà installées. Notez que le chemin d’accès du package main est passé en tant qu’argument dans l’exemple. AddPackageAsync retourne un objet qui peut être utilisé pour gérer l’opération asynchrone. L’exemple utilise la propriété Completed pour définir le délégué et vérifie la propriété Status pour déterminer la status de l’opération de déploiement. Si le status est Error, l’exemple appelle la méthode GetResults pour obtenir des informations supplémentaires sur l’erreur.
using Windows.Foundation;
using Windows.Management.Deployment;
public static int Main(string[] args)
{
string inputPackageUri = args[0];
int returnValue=0;
Uri packageUri = new Uri(inputPackageUri);
PackageManager packageManager = new PackageManager();
IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress> deploymentOperation =
packageManager.AddPackageAsync(
packageUri,
null,
DeploymentOptions.None);
// This event is signaled when the operation completes
ManualResetEvent opCompletedEvent = new ManualResetEvent(false);
// Define the delegate using a statement lambda
deploymentOperation.Completed = (depProgress, 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;
}
Consultez également Support Visual Studio pour C++/WinRT.
// main.cpp : In Visual Studio, create a new Windows Console Application (C++/WinRT).
#include "pch.h"
#include <winrt/Windows.Foundation.h>
#include <winrt/Windows.Management.Deployment.h>
#include <iostream>
using namespace winrt;
using namespace Windows::Foundation;
using namespace Windows::Management::Deployment;
int wmain(int /* argc */, wchar_t *argv[], wchar_t * /* envp[] */)
{
winrt::init_apartment();
int returnValue{ 0 };
std::wstring packageUriString{ argv[1] };
Uri packageUri{ packageUriString };
PackageManager packageManager;
auto deploymentOperation{ packageManager.AddPackageAsync(packageUri, nullptr, DeploymentOptions::None) };
deploymentOperation.get();
// Check the status of the operation
if (deploymentOperation.Status() == AsyncStatus::Error)
{
auto deploymentResult{ deploymentOperation.GetResults() };
std::wcout << L"Error code: " << deploymentOperation.ErrorCode() << std::endl;
std::wcout << L"Error text: " << deploymentResult.ErrorText().c_str() << std::endl;
returnValue = 1;
}
else if (deploymentOperation.Status() == AsyncStatus::Canceled)
{
std::wcout << L"Installation canceled" << std::endl;
}
else if (deploymentOperation.Status() == AsyncStatus::Completed)
{
std::wcout << L"Installation succeeded" << std::endl;
}
else
{
std::wcout << L"Installation status unknown" << std::endl;
returnValue = 1;
}
return returnValue;
}
using namespace Windows::Foundation;
using namespace Windows::Management::Deployment;
[STAThread]
int __cdecl main(Platform::Array<String^>^ args)
{
String^ inputPackageUri = args[1];
int returnValue=0;
Uri^ packageUri = ref new Uri(inputPackageUri);
PackageManager^ packageManager = ref new PackageManager();
auto deploymentOperation = packageManager->AddPackageAsync(
packageUri,
nullptr,
DeploymentOptions::None);
DeploymentResult^ deploymentOperationResult;
// This event is signaled when the operation completes
opCompletedEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
// Define the delegate
deploymentOperation->Completed =
ref new AsyncOperationWithProgressCompletedHandler<DeploymentResult^, DeploymentProgress>(
[&](IAsyncOperationWithProgress<DeploymentResult^, DeploymentProgress>^ operation, AsyncStatus)
{
SetEvent(opCompletedEvent);
});
// Wait until the operation completes
WaitForSingleObject(opCompletedEvent, INFINITE);
// Check the status of the operation
if ( deploymentOperation->Status == AsyncStatus::Error )
{
auto deploymentResult = deploymentOperation->GetResults();
wcout << L"Error code: " << deploymentOperation->ErrorCode.Value << endl;
wcout << L"Error text: " << deploymentResult->ErrorText->Data() << endl;
returnValue = 1;
}
else if ( deploymentOperation->Status == AsyncStatus::Canceled )
{
wcout << L"Installation canceled" << endl;
}
else if ( deploymentOperation->Status == AsyncStatus::Completed )
{
wcout << L"Installation succeeded" << endl;
}
else
{
wcout << L"Installation status unknown" << endl;
returnValue = 1;
}
return returnValue;
}
Voir aussi
- AddPackageAsync(Uri, IIterable<Uri>, DeploymentOptions, PackageVolume)
- Package
- Ajouter un exemple de package d’application
S’applique à
AddPackageAsync(Uri, IIterable<Uri>, DeploymentOptions, PackageVolume)
public:
virtual IAsyncOperationWithProgress<DeploymentResult ^, DeploymentProgress> ^ AddPackageAsync(Uri ^ packageUri, IIterable<Uri ^> ^ dependencyPackageUris, DeploymentOptions deploymentOptions, PackageVolume ^ targetVolume) = AddPackageAsync;
/// [Windows.Foundation.Metadata.Overload("AddPackageToVolumeAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress> AddPackageAsync(Uri const& packageUri, IIterable<Uri> const& dependencyPackageUris, DeploymentOptions const& deploymentOptions, PackageVolume const& targetVolume);
[Windows.Foundation.Metadata.Overload("AddPackageToVolumeAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperationWithProgress<DeploymentResult,DeploymentProgress> AddPackageAsync(System.Uri packageUri, IEnumerable<System.Uri> dependencyPackageUris, DeploymentOptions deploymentOptions, PackageVolume targetVolume);
function addPackageAsync(packageUri, dependencyPackageUris, deploymentOptions, targetVolume)
Public Function AddPackageAsync (packageUri As Uri, dependencyPackageUris As IEnumerable(Of Uri), deploymentOptions As DeploymentOptions, targetVolume As PackageVolume) As IAsyncOperationWithProgress(Of DeploymentResult, DeploymentProgress)
Paramètres
URI du package à ajouter. L’URI doit suivre le schéma d’URI de fichier (file://), car les seuls schémas d’URI pris en charge sont les chemins d’accès de fichiers locaux et les chemins de réseau local.
- dependencyPackageUris
Uris des packages de dépendances à ajouter. S’il n’existe aucun package de dépendance ou si les packages de dépendances sont déjà inscrits, ce paramètre peut avoir la valeur Null.
- deploymentOptions
- DeploymentOptions
Combinaison au niveau du bit des valeurs d’énumération de l’énumération DeploymentOptions . ForceApplicationShutdown et None sont les seules options valides pour cette méthode. La spécification d’une autre option entraîne une valeur de retour E_INVALIDARG.
- targetVolume
- PackageVolume
Volume auquel le package est ajouté.
Retours
Status de la demande de déploiement. DeploymentResult contient la valeur finale retournée de l’opération de déploiement, une fois celle-ci terminée. DeploymentProgress peut être utilisé pour obtenir le pourcentage d’achèvement sur l’ensemble de l’opération de déploiement.
- Attributs
Configuration requise pour Windows
Fonctionnalités de l’application |
packageManagement
|
Voir aussi
- AddPackageAsync(Uri, IIterable<Uri>, DeploymentOptions)
- Package
- Ajouter un exemple de package d’application
S’applique à
AddPackageAsync(Uri, IIterable<Uri>, DeploymentOptions, PackageVolume, IIterable<String>, IIterable<Uri>)
public:
virtual IAsyncOperationWithProgress<DeploymentResult ^, DeploymentProgress> ^ AddPackageAsync(Uri ^ packageUri, IIterable<Uri ^> ^ dependencyPackageUris, DeploymentOptions deploymentOptions, PackageVolume ^ targetVolume, IIterable<Platform::String ^> ^ optionalPackageFamilyNames, IIterable<Uri ^> ^ externalPackageUris) = AddPackageAsync;
/// [Windows.Foundation.Metadata.DefaultOverload]
/// [Windows.Foundation.Metadata.Overload("AddPackageToVolumeAndOptionalPackagesAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress> AddPackageAsync(Uri const& packageUri, IIterable<Uri> const& dependencyPackageUris, DeploymentOptions const& deploymentOptions, PackageVolume const& targetVolume, IIterable<winrt::hstring> const& optionalPackageFamilyNames, IIterable<Uri> const& externalPackageUris);
[Windows.Foundation.Metadata.DefaultOverload]
[Windows.Foundation.Metadata.Overload("AddPackageToVolumeAndOptionalPackagesAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperationWithProgress<DeploymentResult,DeploymentProgress> AddPackageAsync(System.Uri packageUri, IEnumerable<System.Uri> dependencyPackageUris, DeploymentOptions deploymentOptions, PackageVolume targetVolume, IEnumerable<string> optionalPackageFamilyNames, IEnumerable<System.Uri> externalPackageUris);
function addPackageAsync(packageUri, dependencyPackageUris, deploymentOptions, targetVolume, optionalPackageFamilyNames, externalPackageUris)
Public Function AddPackageAsync (packageUri As Uri, dependencyPackageUris As IEnumerable(Of Uri), deploymentOptions As DeploymentOptions, targetVolume As PackageVolume, optionalPackageFamilyNames As IEnumerable(Of String), externalPackageUris As IEnumerable(Of Uri)) As IAsyncOperationWithProgress(Of DeploymentResult, DeploymentProgress)
Paramètres
Uri du package source à ajouter. L’URI doit suivre le schéma d’URI de fichier (file://), car les seuls schémas d’URI pris en charge sont les chemins d’accès de fichiers locaux et les chemins de réseau local.
- dependencyPackageUris
Uris des packages de dépendances à ajouter. S’il n’existe aucun package de dépendance ou si les packages de dépendances sont déjà inscrits, ce paramètre peut avoir la valeur Null.
- deploymentOptions
- DeploymentOptions
Combinaison au niveau du bit des valeurs d’énumération de l’énumération DeploymentOptions . ForceApplicationShutdown et None sont les seules options valides pour cette méthode. La spécification d’une autre option entraîne une valeur de retour E_INVALIDARG.
- targetVolume
- PackageVolume
Volume auquel le package est ajouté.
Les noms de famille de package du main bundle à inscrire.
- externalPackageUris
Les URI des autres packages du main bundle à inscrire.
Retours
Pourcentage d’achèvement deploymentProgress sur l’ensemble du cours de l’opération de déploiement.
- Attributs
Configuration requise pour Windows
Famille d’appareils |
Windows 10 Creators Update (introduit dans 10.0.15063.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduit dans v4.0)
|
Voir aussi
S’applique à
AddPackageAsync(Uri, IIterable<Uri>, DeploymentOptions, PackageVolume, IIterable<String>, IIterable<Uri>, IIterable<Uri>)
public:
virtual IAsyncOperationWithProgress<DeploymentResult ^, DeploymentProgress> ^ AddPackageAsync(Uri ^ packageUri, IIterable<Uri ^> ^ dependencyPackageUris, DeploymentOptions options, PackageVolume ^ targetVolume, IIterable<Platform::String ^> ^ optionalPackageFamilyNames, IIterable<Uri ^> ^ packageUrisToInstall, IIterable<Uri ^> ^ relatedPackageUris) = AddPackageAsync;
/// [Windows.Foundation.Metadata.Overload("AddPackageToVolumeAndRelatedSetAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress> AddPackageAsync(Uri const& packageUri, IIterable<Uri> const& dependencyPackageUris, DeploymentOptions const& options, PackageVolume const& targetVolume, IIterable<winrt::hstring> const& optionalPackageFamilyNames, IIterable<Uri> const& packageUrisToInstall, IIterable<Uri> const& relatedPackageUris);
[Windows.Foundation.Metadata.Overload("AddPackageToVolumeAndRelatedSetAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperationWithProgress<DeploymentResult,DeploymentProgress> AddPackageAsync(System.Uri packageUri, IEnumerable<System.Uri> dependencyPackageUris, DeploymentOptions options, PackageVolume targetVolume, IEnumerable<string> optionalPackageFamilyNames, IEnumerable<System.Uri> packageUrisToInstall, IEnumerable<System.Uri> relatedPackageUris);
function addPackageAsync(packageUri, dependencyPackageUris, options, targetVolume, optionalPackageFamilyNames, packageUrisToInstall, relatedPackageUris)
Public Function AddPackageAsync (packageUri As Uri, dependencyPackageUris As IEnumerable(Of Uri), options As DeploymentOptions, targetVolume As PackageVolume, optionalPackageFamilyNames As IEnumerable(Of String), packageUrisToInstall As IEnumerable(Of Uri), relatedPackageUris As IEnumerable(Of Uri)) As IAsyncOperationWithProgress(Of DeploymentResult, DeploymentProgress)
Paramètres
URI du package à ajouter. L’URI doit suivre le schéma d’URI de fichier (file://), car les seuls schémas d’URI pris en charge sont les chemins d’accès de fichiers locaux et les chemins de réseau local.
- dependencyPackageUris
URI des dépendances d’infrastructure à ajouter. S’il n’existe aucun package de dépendance ou si les packages de dépendances sont déjà inscrits, ce paramètre peut avoir la valeur Null.
- options
- DeploymentOptions
Options de déploiement du package.
- targetVolume
- PackageVolume
Volume auquel le package est ajouté.
Les noms de famille de package du main bundle à inscrire.
- packageUrisToInstall
URI des packages facultatifs à installer avec le package d’application main.
- relatedPackageUris
URI des packages facultatifs associés à mettre à jour vers la même version que les nouveaux packages facultatifs.
Retours
Pourcentage d’achèvement deploymentProgress sur l’ensemble du cours de l’opération de déploiement.
- Attributs
Configuration requise pour Windows
Famille d’appareils |
Windows 10 Fall Creators Update (introduit dans 10.0.16299.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduit dans v5.0)
|