PackageManager.AddPackageAsync Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ü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
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
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
- AddPackageAsync(Uri, IIterable<Uri>, DeploymentOptions, PackageVolume)
- Pakete
- Beispiel zum Hinzufügen eines App-Pakets
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
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
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
- AddPackageAsync(Uri, IIterable<Uri>, DeploymentOptions)
- Pakete
- Beispiel zum Hinzufügen eines App-Pakets
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
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
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.
Die Paketfamiliennamen aus dem Standard zu registrierenden Pakets.
- externalPackageUris
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
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
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.
Die Paketfamiliennamen aus dem Standard zu registrierenden Pakets.
- packageUrisToInstall
Die URIs optionaler Pakete, die mit dem Standard App-Paket installiert werden sollen.
- relatedPackageUris
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)
|