Freigeben über


PackageManager.AddPackageAsync Methode

Definition

Überlädt

AddPackageAsync(Uri, IIterable<Uri>, DeploymentOptions)

Fügt ein Paket (das Standard-Paket) und dessen Abhängigkeitspakete für den aktuellen Benutzer mithilfe der angegebenen Bereitstellungsoptionen hinzu.

AddPackageAsync(Uri, IIterable<Uri>, DeploymentOptions, PackageVolume)

Fügt dem angegebenen Volume für den aktuellen Benutzer mithilfe der angegebenen Bereitstellungsoptionen ein Paket (das Standard-Paket) und dessen Abhängigkeitspakete hinzu.

AddPackageAsync(Uri, IIterable<Uri>, DeploymentOptions, PackageVolume, IIterable<String>, IIterable<Uri>)

Fügt dem angegebenen Volume für den aktuellen Benutzer mithilfe der angegebenen Bereitstellungsoptionen ein Paket und dessen Abhängigkeitspakete hinzu.

AddPackageAsync(Uri, IIterable<Uri>, DeploymentOptions, PackageVolume, IIterable<String>, IIterable<Uri>, IIterable<Uri>)

Fügt ein Paket (das Standard-Paket) und dessen Abhängigkeitspakete für den aktuellen Benutzer mithilfe der angegebenen Bereitstellungsoptionen hinzu.

AddPackageAsync(Uri, IIterable<Uri>, DeploymentOptions)

Fügt ein Paket (das Standard-Paket) und dessen Abhängigkeitspakete für den aktuellen Benutzer mithilfe der angegebenen Bereitstellungsoptionen hinzu.

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)

Parameter

packageUri
Uri Uri

Der URI des hinzuzufügenden Pakets. Der URI muss dem Datei-URI-Schema (file://) folgen, da die einzigen unterstützten URI-Schemas lokale Dateipfade und lokale Netzwerkpfade sind.

dependencyPackageUris

IIterable<Uri>

IEnumerable<Uri>

Die URIs der hinzuzufügenden Abhängigkeitspakete. Wenn keine Abhängigkeitspakete vorhanden sind oder die Abhängigkeitspakete bereits registriert sind, kann dieser Parameter NULL sein.

deploymentOptions
DeploymentOptions

Eine bitweise Kombination von Enumerationswerten aus der DeploymentOptions-Enumeration . ForceApplicationShutdown und None sind die einzigen gültigen Optionen für diese Methode. Das Angeben einer anderen Option führt zu einem E_INVALIDARG Rückgabewert.

Gibt zurück

Der status der Bereitstellungsanforderung. DeploymentResult enthält den letzten zurückgegebenen Wert des Bereitstellungsvorgangs, sobald er abgeschlossen ist. Der DeploymentProgress kann verwendet werden, um den Prozentsatz der Fertigstellung über den gesamten Verlauf des Bereitstellungsvorgangs abzurufen.

Attribute

Windows-Anforderungen

App-Funktionen
packageManagement

Beispiele

Im folgenden Beispiel wird die PackageManager.AddPackageAsync-Methode verwendet, um ein Paket zu installieren, das keine Abhängigkeiten aufweist oder dessen Abhängigkeiten bereits installiert sind. Beachten Sie, dass der Pfad des Standard-Pakets im Beispiel als Argument übergeben wird. AddPackageAsync gibt ein Objekt zurück, das zum Verwalten des asynchronen Vorgangs verwendet werden kann. Im Beispiel wird die Completed-Eigenschaft verwendet, um den Delegaten festzulegen, und die Status-Eigenschaft überprüft, um die status des Bereitstellungsvorgangs zu bestimmen. Wenn der status Fehler ist, ruft das Beispiel die GetResults-Methode auf, um zusätzliche Fehlerinformationen abzurufen.

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

Weitere Informationen finden Sie auch unter Visual Studio-Unterstützung für 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;
}

Weitere Informationen

Gilt für:

AddPackageAsync(Uri, IIterable<Uri>, DeploymentOptions, PackageVolume)

Fügt dem angegebenen Volume für den aktuellen Benutzer mithilfe der angegebenen Bereitstellungsoptionen ein Paket (das Standard-Paket) und dessen Abhängigkeitspakete hinzu.

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)

Parameter

packageUri
Uri Uri

Der URI des hinzuzufügenden Pakets. Der URI muss dem Datei-URI-Schema (file://) folgen, da die einzigen unterstützten URI-Schemas lokale Dateipfade und lokale Netzwerkpfade sind.

dependencyPackageUris

IIterable<Uri>

IEnumerable<Uri>

Die URIs der hinzuzufügenden Abhängigkeitspakete. Wenn keine Abhängigkeitspakete vorhanden sind oder die Abhängigkeitspakete bereits registriert sind, kann dieser Parameter NULL sein.

deploymentOptions
DeploymentOptions

Eine bitweise Kombination von Enumerationswerten aus der DeploymentOptions-Enumeration . ForceApplicationShutdown und None sind die einzigen gültigen Optionen für diese Methode. Das Angeben einer anderen Option führt zu einem E_INVALIDARG Rückgabewert.

targetVolume
PackageVolume

Das Volume, dem das Paket hinzugefügt wird.

Gibt zurück

Der status der Bereitstellungsanforderung. DeploymentResult enthält den letzten zurückgegebenen Wert des Bereitstellungsvorgangs, sobald er abgeschlossen ist. Der DeploymentProgress kann verwendet werden, um den Prozentsatz der Fertigstellung über den gesamten Verlauf des Bereitstellungsvorgangs abzurufen.

Attribute

Windows-Anforderungen

App-Funktionen
packageManagement

Weitere Informationen

Gilt für:

AddPackageAsync(Uri, IIterable<Uri>, DeploymentOptions, PackageVolume, IIterable<String>, IIterable<Uri>)

Fügt dem angegebenen Volume für den aktuellen Benutzer mithilfe der angegebenen Bereitstellungsoptionen ein Paket und dessen Abhängigkeitspakete hinzu.

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)

Parameter

packageUri
Uri Uri

Der URI des hinzuzufügenden Quellpakets. Der URI muss dem Datei-URI-Schema (file://) folgen, da die einzigen unterstützten URI-Schemas lokale Dateipfade und lokale Netzwerkpfade sind.

dependencyPackageUris

IIterable<Uri>

IEnumerable<Uri>

Die URIs der hinzuzufügenden Abhängigkeitspakete. Wenn keine Abhängigkeitspakete vorhanden sind oder die Abhängigkeitspakete bereits registriert sind, kann dieser Parameter NULL sein.

deploymentOptions
DeploymentOptions

Eine bitweise Kombination von Enumerationswerten aus der DeploymentOptions-Enumeration . ForceApplicationShutdown und None sind die einzigen gültigen Optionen für diese Methode. Das Angeben einer anderen Option führt zu einem E_INVALIDARG Rückgabewert.

targetVolume
PackageVolume

Das Volume, dem das Paket hinzugefügt wird.

optionalPackageFamilyNames

IIterable<String>

IEnumerable<String>

IIterable<Platform::String>

IIterable<winrt::hstring>

Die Paketfamiliennamen aus dem Standard zu registrierenden Pakets.

externalPackageUris

IIterable<Uri>

IEnumerable<Uri>

Die URIs der anderen Pakete im Standard zu registrierenden Bundles.

Gibt zurück

Der DeploymentProgress-Prozentsatz der Fertigstellung über den gesamten Verlauf des Bereitstellungsvorgangs.

Attribute

Windows-Anforderungen

Gerätefamilie
Windows 10 Creators Update (eingeführt in 10.0.15063.0)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v4.0)

Weitere Informationen

Gilt für:

AddPackageAsync(Uri, IIterable<Uri>, DeploymentOptions, PackageVolume, IIterable<String>, IIterable<Uri>, IIterable<Uri>)

Fügt ein Paket (das Standard-Paket) und dessen Abhängigkeitspakete für den aktuellen Benutzer mithilfe der angegebenen Bereitstellungsoptionen hinzu.

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)

Parameter

packageUri
Uri Uri

Der URI des hinzuzufügenden Pakets. Der URI muss dem Datei-URI-Schema (file://) folgen, da die einzigen unterstützten URI-Schemas lokale Dateipfade und lokale Netzwerkpfade sind.

dependencyPackageUris

IIterable<Uri>

IEnumerable<Uri>

Die URIs der hinzuzufügenden Frameworkabhängigkeiten. Wenn keine Abhängigkeitspakete vorhanden sind oder die Abhängigkeitspakete bereits registriert sind, kann dieser Parameter NULL sein.

options
DeploymentOptions

Die Bereitstellungsoptionen für das Paket.

targetVolume
PackageVolume

Das Volume, dem das Paket hinzugefügt wird.

optionalPackageFamilyNames

IIterable<String>

IEnumerable<String>

IIterable<Platform::String>

IIterable<winrt::hstring>

Die Paketfamiliennamen aus dem Standard zu registrierenden Pakets.

packageUrisToInstall

IIterable<Uri>

IEnumerable<Uri>

Die URIs optionaler Pakete, die mit dem Standard App-Paket installiert werden sollen.

relatedPackageUris

IIterable<Uri>

IEnumerable<Uri>

URIs verwandter optionaler Pakete, die auf die gleiche Version wie die neuen optionalen Pakete aktualisiert werden sollen.

Gibt zurück

Der DeploymentProgress-Prozentsatz der Fertigstellung über den gesamten Verlauf des Bereitstellungsvorgangs.

Attribute

Windows-Anforderungen

Gerätefamilie
Windows 10 Fall Creators Update (eingeführt in 10.0.16299.0)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v5.0)

Weitere Informationen

Gilt für: