Freigeben über


PackageManager.FindPackages Methode

Definition

Überlädt

FindPackages(String, String)

Sucht nach allen installierten Paketen mit dem angegebenen Namen und Herausgeber.

FindPackages(String)

Ruft Informationen zu einer angegebenen Paketfamilie ab , die für alle Benutzer installiert ist.

FindPackages()

Ruft Informationen zu einer angegebenen Paketfamilie ab , die für alle Benutzer installiert ist.

FindPackages(String, String)

Sucht nach allen installierten Paketen mit dem angegebenen Namen und Herausgeber.

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

Der Paketname. Dieser Parameter darf nicht NULL sein.

packagePublisher
String

Platform::String

winrt::hstring

Der Paketherausgeber. Dieser Parameter darf nicht NULL sein.

Gibt zurück

Wenn die Methode erfolgreich ist, wird eine aufzählbare Auflistung von Paketobjekten mit demselben Paketnamen und Herausgebernamen zurückgegeben. Jedes Package-Objekt in dieser Auflistung enthält Informationen zum Paket, einschließlich, aber nicht beschränkt auf seinen Namen, Herausgeber, Version und Installationsspeicherort. Wenn keine Pakete mit dem angegebenen Namen und Herausgeber gefunden werden, gibt diese Methode eine leere Liste zurück.

Attribute

Windows-Anforderungen

App-Funktionen
packageQuery

Hinweise

Für diese Methode sind Administratorrechte erforderlich.

Weitere Informationen

Gilt für:

FindPackages(String)

Ruft Informationen zu einer angegebenen Paketfamilie ab , die für alle Benutzer installiert ist.

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

Der Name der Paketfamilie. Dieser Parameter darf nicht NULL sein.

Gibt zurück

Wenn die Methode erfolgreich ist, wird eine aufzählbare Auflistung von Paketobjekten mit demselben Paketfamiliennamen zurückgegeben. Jedes Package-Objekt in dieser Auflistung enthält Informationen zum Paket, einschließlich, aber nicht beschränkt auf seinen Namen, Herausgeber, Version und Installationsspeicherort. Wenn keine Pakete mit dem angegebenen Paketfamiliennamen gefunden werden, gibt diese Methode eine leere Liste zurück.

Attribute

Windows-Anforderungen

App-Funktionen
packageQuery

Hinweise

Für diese Methode sind Administratorrechte erforderlich. Jedes Paket in der IIterable(Package)- Auflistung kann für den aktuellen Benutzer oder für einen anderen Benutzer installiert werden. Diese Methode unterscheidet sich von der FindPackages(String packageName, String pulisherName) -Methode. Hier ist der packageFamilyName-Parameter eine einzelne Zeichenfolge, die aus dem Paketnamen und dem Paketherausgeberhash besteht.

Weitere Informationen

Gilt für:

FindPackages()

Ruft Informationen zu einer angegebenen Paketfamilie ab , die für alle Benutzer installiert ist.

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)

Gibt zurück

Wenn die Methode erfolgreich ist, wird eine aufzählbare Auflistung von Paketobjekten zurückgegeben. Jedes Package-Objekt in dieser Auflistung enthält Informationen zum Paket, einschließlich, aber nicht beschränkt auf seinen Namen, Herausgeber, Version und Installationsspeicherort.

Attribute

Windows-Anforderungen

App-Funktionen
packageQuery

Beispiele

In diesem Beispiel wird FindPackages() verwendet, um die installierten Pakete für alle Benutzer aufzulisten.

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

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

Hinweise

Für diese Methode sind Administratorrechte erforderlich. Andernfalls wird eine AccessDeniedException ausgelöst.

Weitere Informationen

Gilt für: