PackageManager.AddPackageAsync Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Overload
AddPackageAsync(Uri, IIterable<Uri>, DeploymentOptions) |
Menambahkan Paket (paket utama) dan paket dependensinya untuk pengguna saat ini, menggunakan opsi penyebaran yang ditentukan. |
AddPackageAsync(Uri, IIterable<Uri>, DeploymentOptions, PackageVolume) |
Menambahkan Paket (paket utama) dan paket dependensinya ke volume yang ditentukan untuk pengguna saat ini, menggunakan opsi penyebaran yang ditentukan. |
AddPackageAsync(Uri, IIterable<Uri>, DeploymentOptions, PackageVolume, IIterable<String>, IIterable<Uri>) |
Menambahkan Paket dan paket dependensinya ke volume yang ditentukan untuk pengguna saat ini, menggunakan opsi penyebaran yang ditentukan. |
AddPackageAsync(Uri, IIterable<Uri>, DeploymentOptions, PackageVolume, IIterable<String>, IIterable<Uri>, IIterable<Uri>) |
Menambahkan Paket (paket utama) dan paket dependensinya untuk pengguna saat ini, menggunakan opsi penyebaran yang ditentukan. |
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)
Parameter
Uri paket yang akan ditambahkan. URI harus mengikuti skema URI file (file://) karena satu-satunya skema URI yang didukung adalah jalur file lokal dan jalur jaringan lokal.
- dependencyPackageUris
Uri paket dependensi yang akan ditambahkan. Jika tidak ada paket dependensi atau jika paket dependensi sudah terdaftar, parameter ini bisa null.
- deploymentOptions
- DeploymentOptions
Kombinasi bitwise nilai enumerasi dari enumerasi DeploymentOptions . ForceApplicationShutdown dan None adalah satu-satunya opsi yang valid untuk metode ini. Menentukan opsi lain menghasilkan nilai pengembalian E_INVALIDARG.
Mengembalikan
Status permintaan penyebaran. DeploymentResult berisi nilai akhir yang dikembalikan dari operasi penyebaran, setelah selesai. DeploymentProgress dapat digunakan untuk mendapatkan persentase penyelesaian selama seluruh operasi penyebaran.
- Atribut
Persyaratan Windows
Kemampuan aplikasi |
packageManagement
|
Contoh
Contoh berikut menggunakan metode PackageManager.AddPackageAsync untuk menginstal paket yang tidak memiliki dependensi atau yang dependensinya sudah diinstal. Perhatikan bahwa jalur paket utama diteruskan sebagai argumen dalam contoh. AddPackageAsync mengembalikan objek yang dapat digunakan untuk mengelola operasi asinkron. Contoh menggunakan properti Selesai untuk mengatur delegasi dan memeriksa properti Status untuk menentukan status operasi penyebaran. Jika statusnya adalah Kesalahan, contohnya memanggil metode GetResults untuk mendapatkan informasi kesalahan tambahan.
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;
}
Lihat juga dukungan Visual Studio untuk 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;
}
Lihat juga
- AddPackageAsync(Uri, IIterable<Uri>, DeploymentOptions, PackageVolume)
- Paket
- Menambahkan sampel paket aplikasi
Berlaku untuk
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)
Parameter
Uri paket yang akan ditambahkan. URI harus mengikuti skema URI file (file://) karena satu-satunya skema URI yang didukung adalah jalur file lokal dan jalur jaringan lokal.
- dependencyPackageUris
Uri paket dependensi yang akan ditambahkan. Jika tidak ada paket dependensi atau jika paket dependensi sudah terdaftar, parameter ini bisa null.
- deploymentOptions
- DeploymentOptions
Kombinasi bitwise nilai enumerasi dari enumerasi DeploymentOptions . ForceApplicationShutdown dan None adalah satu-satunya opsi yang valid untuk metode ini. Menentukan opsi lain menghasilkan nilai pengembalian E_INVALIDARG.
- targetVolume
- PackageVolume
Volume tempat paket ditambahkan.
Mengembalikan
Status permintaan penyebaran. DeploymentResult berisi nilai akhir yang dikembalikan dari operasi penyebaran, setelah selesai. DeploymentProgress dapat digunakan untuk mendapatkan persentase penyelesaian selama seluruh operasi penyebaran.
- Atribut
Persyaratan Windows
Kemampuan aplikasi |
packageManagement
|
Lihat juga
Berlaku untuk
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)
Parameter
Uri paket sumber yang akan ditambahkan. URI harus mengikuti skema URI file (file://) karena satu-satunya skema URI yang didukung adalah jalur file lokal dan jalur jaringan lokal.
- dependencyPackageUris
Uri paket dependensi yang akan ditambahkan. Jika tidak ada paket dependensi atau jika paket dependensi sudah terdaftar, parameter ini bisa null.
- deploymentOptions
- DeploymentOptions
Kombinasi bitwise nilai enumerasi dari enumerasi DeploymentOptions . ForceApplicationShutdown dan None adalah satu-satunya opsi yang valid untuk metode ini. Menentukan opsi lain menghasilkan nilai pengembalian E_INVALIDARG.
- targetVolume
- PackageVolume
Volume tempat paket ditambahkan.
Nama keluarga paket dari bundel utama yang akan didaftarkan.
- externalPackageUris
URI paket lain dalam bundel utama yang akan didaftarkan.
Mengembalikan
Persentase penyelesaian DeploymentProgress selama seluruh operasi penyebaran.
- Atribut
Persyaratan Windows
Rangkaian perangkat |
Windows 10 Creators Update (diperkenalkan dalam 10.0.15063.0)
|
API contract |
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v4.0)
|
Lihat juga
Berlaku untuk
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)
Parameter
URI paket yang akan ditambahkan. URI harus mengikuti skema URI file (file://) karena satu-satunya skema URI yang didukung adalah jalur file lokal dan jalur jaringan lokal.
- dependencyPackageUris
URI dependensi kerangka kerja untuk ditambahkan. Jika tidak ada paket dependensi atau jika paket dependensi sudah terdaftar, parameter ini bisa null.
- options
- DeploymentOptions
Opsi penyebaran untuk paket.
- targetVolume
- PackageVolume
Volume tempat paket ditambahkan.
Nama keluarga paket dari bundel utama yang akan didaftarkan.
- packageUrisToInstall
URI paket opsional yang akan diinstal dengan paket aplikasi utama.
- relatedPackageUris
URI paket opsional terkait yang akan diperbarui ke versi yang sama dengan paket opsional baru.
Mengembalikan
Persentase penyelesaian DeploymentProgress selama seluruh operasi penyebaran.
- Atribut
Persyaratan Windows
Rangkaian perangkat |
Windows 10 Fall Creators Update (diperkenalkan dalam 10.0.16299.0)
|
API contract |
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v5.0)
|
Lihat juga
Berlaku untuk
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk