PackageManager.FindPackages 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
FindPackages(String, String) |
Menemukan semua Paket yang terinstal dengan nama dan penerbit yang ditentukan. |
FindPackages(String) |
Mengambil informasi tentang keluarga Paket tertentu yang diinstal di semua pengguna. |
FindPackages() |
Mengambil informasi tentang keluarga Paket tertentu yang diinstal di semua pengguna. |
FindPackages(String, String)
Menemukan semua Paket yang terinstal dengan nama dan penerbit yang ditentukan.
public:
virtual IIterable<Package ^> ^ FindPackages(Platform::String ^ packageName, Platform::String ^ packagePublisher) = FindPackages;
/// [Windows.Foundation.Metadata.Overload("FindPackagesByNamePublisher")]
IIterable<Package> FindPackages(winrt::hstring const& packageName, winrt::hstring const& packagePublisher);
[Windows.Foundation.Metadata.Overload("FindPackagesByNamePublisher")]
public IEnumerable<Package> FindPackages(string packageName, string packagePublisher);
function findPackages(packageName, packagePublisher)
Public Function FindPackages (packageName As String, packagePublisher As String) As IEnumerable(Of Package)
Parameter
- packageName
-
String
Platform::String
winrt::hstring
Nama paket. Parameter ini tidak boleh null.
- packagePublisher
-
String
Platform::String
winrt::hstring
Penerbit paket. Parameter ini tidak boleh null.
Mengembalikan
Jika metode berhasil, kumpulan objek paket yang dapat dijumlahkan dengan nama paket dan nama penerbit yang sama dikembalikan. Setiap objek Paket dalam koleksi ini berisi informasi tentang paket, termasuk tetapi tidak terbatas pada nama, penerbit, versi, dan lokasi penginstalannya. Jika tidak ada paket dengan nama dan penerbit yang ditentukan yang ditemukan, metode ini mengembalikan daftar kosong.
- Atribut
Persyaratan Windows
Kemampuan aplikasi |
packageQuery
|
Keterangan
Metode ini memerlukan hak istimewa administratif.
Lihat juga
- FindPackages()
- FindPackages(String)
- Paket
- Menghitung paket aplikasi berdasarkan nama dan sampel penerbit
Berlaku untuk
FindPackages(String)
Mengambil informasi tentang keluarga Paket tertentu yang diinstal di semua pengguna.
public:
virtual IIterable<Package ^> ^ FindPackages(Platform::String ^ packageFamilyName) = FindPackages;
/// [Windows.Foundation.Metadata.Overload("FindPackagesByPackageFamilyName")]
IIterable<Package> FindPackages(winrt::hstring const& packageFamilyName);
[Windows.Foundation.Metadata.Overload("FindPackagesByPackageFamilyName")]
public IEnumerable<Package> FindPackages(string packageFamilyName);
function findPackages(packageFamilyName)
Public Function FindPackages (packageFamilyName As String) As IEnumerable(Of Package)
Parameter
- packageFamilyName
-
String
Platform::String
winrt::hstring
Nama keluarga paket. Parameter ini tidak boleh null.
Mengembalikan
Jika metode berhasil, koleksi objek paket yang dapat dijumlahkan dengan nama keluarga paket yang sama akan dikembalikan. Setiap objek Paket dalam koleksi ini berisi informasi tentang paket, termasuk tetapi tidak terbatas pada nama, penerbit, versi, dan lokasi penginstalannya. Jika tidak ada paket dengan nama keluarga paket yang ditentukan yang ditemukan, metode ini mengembalikan daftar kosong.
- Atribut
Persyaratan Windows
Kemampuan aplikasi |
packageQuery
|
Keterangan
Metode ini memerlukan hak istimewa administratif. Setiap paket dalam koleksi IIterable(Package) dapat diinstal untuk pengguna saat ini atau untuk pengguna lain. Metode ini berbeda dari metode FindPackages(String packageName, String pulisherName ). Di sini parameter packageFamilyName adalah string tunggal, terdiri dari nama paket dan hash penerbit paket.
Lihat juga
Berlaku untuk
FindPackages()
Mengambil informasi tentang keluarga Paket tertentu yang diinstal di semua pengguna.
public:
virtual IIterable<Package ^> ^ FindPackages() = FindPackages;
/// [Windows.Foundation.Metadata.Overload("FindPackages")]
IIterable<Package> FindPackages();
[Windows.Foundation.Metadata.Overload("FindPackages")]
public IEnumerable<Package> FindPackages();
function findPackages()
Public Function FindPackages () As IEnumerable(Of Package)
Mengembalikan
Jika metode berhasil, kumpulan objek paket yang dapat dijumlahkan dikembalikan. Setiap objek Paket dalam koleksi ini berisi informasi tentang paket, termasuk tetapi tidak terbatas pada nama, penerbit, versi, dan lokasi penginstalannya.
- Atribut
Persyaratan Windows
Kemampuan aplikasi |
packageQuery
|
Contoh
Contoh ini menggunakan FindPackages() untuk menghitung paket yang diinstal untuk semua pengguna.
using Windows.Management.Deployment;
public static int Main(string[] args)
{
PackageManager packageManager = new PackageManager();
IEnumerable<Windows.ApplicationModel.Package> packages =
(IEnumerable<Windows.ApplicationModel.Package>) packageManager.FindPackages();
int packageCount = 0;
foreach (var package in packages)
{
DisplayPackageInfo(package);
packageCount += 1;
}
if (packageCount < 1)
{
Console.WriteLine("No packages were found.");
}
}
private static void DisplayPackageInfo(Windows.ApplicationModel.Package package)
{
Console.WriteLine("Name: {0}", package.Id.Name);
Console.WriteLine("FullName: {0}", package.Id.FullName);
Console.WriteLine("Version: {0}.{1}.{2}.{3}", package.Id.Version.Major, package.Id.Version.Minor,
package.Id.Version.Build, package.Id.Version.Revision);
Console.WriteLine("Publisher: {0}", package.Id.Publisher);
Console.WriteLine("PublisherId: {0}", package.Id.PublisherId);
Console.WriteLine("Installed Location: {0}", package.InstalledLocation.Path);
Console.WriteLine("IsFramework: {0}", package.IsFramework);
}
Lihat juga dukungan Visual Studio untuk C++/WinRT.
// main.cpp : In Visual Studio, create a new Windows Console Application (C++/WinRT), and run it (or run Visual Studio) as administrator.
#include "pch.h"
#include <winrt/Windows.ApplicationModel.h>
#include <winrt/Windows.Management.Deployment.h>
#include <winrt/Windows.Storage.h>
#include <iostream>
using namespace winrt;
using namespace Windows::ApplicationModel;
using namespace Windows::Management::Deployment;
using namespace Windows::Storage;
void DisplayPackageInfo(Windows::ApplicationModel::Package const& package)
{
try
{
std::wcout << L"Name: " << package.Id().Name().c_str() << std::endl;
std::wcout << L"FullName: " << package.Id().FullName().c_str() << std::endl;
std::wcout << L"Version: " << package.Id().Version().Major << "." << package.Id().Version().Minor << "." << package.Id().Version().Build << "." << package.Id().Version().Revision << std::endl;
std::wcout << L"Publisher: " << package.Id().Publisher().c_str() << std::endl;
std::wcout << L"PublisherId: " << package.Id().PublisherId().c_str() << std::endl;
std::wcout << L"Installed Location: " << package.InstalledLocation().Path().c_str() << std::endl;
std::wcout << L"IsFramework: " << (package.IsFramework() ? L"True" : L"False") << std::endl;
}
catch (winrt::hresult_error const& ex)
{
std::wcout << ex.message().c_str() << std::endl;
}
}
int wmain()
{
winrt::init_apartment();
bool noPackagesFound{ true };
for (auto const& package : PackageManager{}.FindPackages())
{
DisplayPackageInfo(package);
noPackagesFound = false;
}
if (noPackagesFound)
{
std::wcout << L"No packages were found." << std::endl;
}
return 0;
}
using namespace Windows::Management::Deployment;
[STAThread]
int __cdecl main(Platform::Array<String^>^ args)
{
PackageManager^ packageManager = ref new PackageManager();
IIterable<Windows::ApplicationModel::Package^>^ packages = packageManager->FindPackages();
int packageCount = 0;
std::for_each(Windows::Foundation::Collections::begin(packages), Windows::Foundation::Collections::end(packages),
[&](Windows::ApplicationModel::Package^ package)
{
DisplayPackageInfo(package);
packageCount += 1;
});
if ( packageCount < 1 )
{
wcout << L"No packages were found." << endl;
}
return 0;
}
void DisplayPackageInfo(Windows::ApplicationModel::Package^ package)
{
wcout << L"Name: " << package->Id->Name->Data() << endl;
wcout << L"FullName: " << package->Id->FullName->Data() << endl;
wcout << L"Version: " << package->Id->Version.Major << "." <<
package->Id->Version.Minor << "." << package->Id->Version.Build <<
"." << package->Id->Version.Revision << endl;
wcout << L"Publisher: " << package->Id->Publisher->Data() << endl;
wcout << L"PublisherId: " << package->Id->PublisherId->Data() << endl;
wcout << L"Installed Location: " << package->InstalledLocation->Path->Data() << endl;
wcout << L"IsFramework: " << (package->IsFramework ? L"True" : L"False") << endl;
}
Keterangan
Metode ini memerlukan hak istimewa administratif. Jika tidak, AccessDeniedException akan dilemparkan.
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