PackageManager.AddPackageAsync Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Sobrecargas
AddPackageAsync(Uri, IIterable<Uri>, DeploymentOptions) |
Adiciona um Pacote (o pacote main) e seus pacotes de dependência para o usuário atual, usando as opções de implantação especificadas. |
AddPackageAsync(Uri, IIterable<Uri>, DeploymentOptions, PackageVolume) |
Adiciona um Pacote (o pacote main) e seus pacotes de dependência ao volume especificado para o usuário atual, usando as opções de implantação especificadas. |
AddPackageAsync(Uri, IIterable<Uri>, DeploymentOptions, PackageVolume, IIterable<String>, IIterable<Uri>) |
Adiciona um Pacote e seus pacotes de dependência ao volume especificado para o usuário atual, usando as opções de implantação especificadas. |
AddPackageAsync(Uri, IIterable<Uri>, DeploymentOptions, PackageVolume, IIterable<String>, IIterable<Uri>, IIterable<Uri>) |
Adiciona um Pacote (o pacote main) e seus pacotes de dependência para o usuário atual, usando as opções de implantação especificadas. |
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)
Parâmetros
O Uri do pacote a ser adicionado. O URI deve seguir o esquema de URI de arquivo (file://), pois os únicos esquemas de URI com suporte são caminhos de arquivo locais e caminhos de rede local.
- dependencyPackageUris
Os Uris dos pacotes de dependência a serem adicionados. Se não houver pacotes de dependência ou se os pacotes de dependência já estiverem registrados, esse parâmetro poderá ser nulo.
- deploymentOptions
- DeploymentOptions
Uma combinação bit a bit de valores de enumeração da enumeração DeploymentOptions . ForceApplicationShutdown e None são as únicas opções válidas para esse método. Especificar qualquer outra opção resulta em um valor retornado E_INVALIDARG.
Retornos
O status da solicitação de implantação. O DeploymentResult contém o valor final retornado da operação de implantação, depois que ela é concluída. O DeploymentProgress pode ser usado para obter o percentual de conclusão durante todo o curso da operação de implantação.
- Atributos
Requisitos do Windows
Funcionalidades do aplicativo |
packageManagement
|
Exemplos
O exemplo a seguir usa o método PackageManager.AddPackageAsync para instalar um pacote que não tem dependências ou cujas dependências já estão instaladas. Observe que o caminho do pacote main é passado como um argumento no exemplo. AddPackageAsync retorna um objeto que pode ser usado para gerenciar a operação assíncrona. O exemplo usa a propriedade Completed para definir o delegado e verifica a propriedade Status para determinar o status da operação de implantação. Se o status for Error, o exemplo chamará o método GetResults para obter informações de erro adicionais.
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;
}
Confira também Suporte do Visual Studio para 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;
}
Confira também
- AddPackageAsync(Uri, IIterable<Uri>, DeploymentOptions, PackageVolume)
- Pacote
- Adicionar exemplo de pacote de aplicativo
Aplica-se a
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)
Parâmetros
O Uri do pacote a ser adicionado. O URI deve seguir o esquema de URI de arquivo (file://), pois os únicos esquemas de URI com suporte são caminhos de arquivo locais e caminhos de rede local.
- dependencyPackageUris
Os Uris dos pacotes de dependência a serem adicionados. Se não houver pacotes de dependência ou se os pacotes de dependência já estiverem registrados, esse parâmetro poderá ser nulo.
- deploymentOptions
- DeploymentOptions
Uma combinação bit a bit de valores de enumeração da enumeração DeploymentOptions . ForceApplicationShutdown e None são as únicas opções válidas para esse método. Especificar qualquer outra opção resulta em um valor retornado E_INVALIDARG.
- targetVolume
- PackageVolume
O volume ao qual o pacote é adicionado.
Retornos
O status da solicitação de implantação. O DeploymentResult contém o valor final retornado da operação de implantação, depois que ela é concluída. O DeploymentProgress pode ser usado para obter o percentual de conclusão durante todo o curso da operação de implantação.
- Atributos
Requisitos do Windows
Funcionalidades do aplicativo |
packageManagement
|
Confira também
- AddPackageAsync(Uri, IIterable<Uri>, DeploymentOptions)
- Pacote
- Adicionar exemplo de pacote de aplicativo
Aplica-se a
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)
Parâmetros
O Uri do pacote de origem a ser adicionado. O URI deve seguir o esquema de URI de arquivo (file://), pois os únicos esquemas de URI com suporte são caminhos de arquivo locais e caminhos de rede local.
- dependencyPackageUris
Os Uris dos pacotes de dependência a serem adicionados. Se não houver pacotes de dependência ou se os pacotes de dependência já estiverem registrados, esse parâmetro poderá ser nulo.
- deploymentOptions
- DeploymentOptions
Uma combinação bit a bit de valores de enumeração da enumeração DeploymentOptions . ForceApplicationShutdown e None são as únicas opções válidas para esse método. Especificar qualquer outra opção resulta em um valor retornado E_INVALIDARG.
- targetVolume
- PackageVolume
O volume ao qual o pacote é adicionado.
Os nomes de família de pacotes do pacote main pacote a ser registrado.
- externalPackageUris
Os URIs dos outros pacotes no pacote main a serem registrados.
Retornos
O percentual deploymentProgress de conclusão durante todo o curso da operação de implantação.
- Atributos
Requisitos do Windows
Família de dispositivos |
Windows 10 Creators Update (introduzida na 10.0.15063.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduzida na v4.0)
|
Confira também
Aplica-se a
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)
Parâmetros
O URI do pacote a ser adicionado. O URI deve seguir o esquema de URI de arquivo (file://), pois os únicos esquemas de URI com suporte são caminhos de arquivo locais e caminhos de rede local.
- dependencyPackageUris
Os URIs das dependências de estrutura a serem adicionadas. Se não houver pacotes de dependência ou se os pacotes de dependência já estiverem registrados, esse parâmetro poderá ser nulo.
- options
- DeploymentOptions
As opções de implantação para o pacote.
- targetVolume
- PackageVolume
O volume ao qual o pacote é adicionado.
Os nomes de família de pacotes do pacote main pacote a ser registrado.
- packageUrisToInstall
Os URIs de pacotes opcionais a serem instalados com o pacote main aplicativo.
- relatedPackageUris
URIs de pacotes opcionais relacionados a serem atualizados para a mesma versão que os novos pacotes opcionais.
Retornos
O percentual deploymentProgress de conclusão durante todo o curso da operação de implantação.
- Atributos
Requisitos do Windows
Família de dispositivos |
Windows 10 Fall Creators Update (introduzida na 10.0.16299.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduzida na v5.0)
|