Partager via


PackageManager.FindPackages Méthode

Définition

Surcharges

FindPackages(String, String)

Recherche tous les packages installés avec le nom et l’éditeur spécifiés.

FindPackages(String)

Récupère des informations sur une famille de packages spécifiée installée sur tous les utilisateurs.

FindPackages()

Récupère des informations sur une famille de packages spécifiée installée sur tous les utilisateurs.

FindPackages(String, String)

Recherche tous les packages installés avec le nom et l’éditeur spécifiés.

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)

Paramètres

packageName
String

Platform::String

winrt::hstring

Nom du package. Ce paramètre ne peut pas être null.

packagePublisher
String

Platform::String

winrt::hstring

Éditeur de package. Ce paramètre ne peut pas être null.

Retours

Si la méthode réussit, une collection énumérable d’objets de package portant le même nom de package et le même nom d’éditeur est retournée. Chaque objet Package de cette collection contient des informations sur le package, notamment son nom, son éditeur, sa version et son emplacement d’installation. Si aucun package portant le nom et l’éditeur spécifiés n’est trouvé, cette méthode retourne une liste vide.

Attributs

Configuration requise pour Windows

Fonctionnalités de l’application
packageQuery

Remarques

Cette méthode nécessite des privilèges d’administration.

Voir aussi

S’applique à

FindPackages(String)

Récupère des informations sur une famille de packages spécifiée installée sur tous les utilisateurs.

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)

Paramètres

packageFamilyName
String

Platform::String

winrt::hstring

Nom de la famille de package. Ce paramètre ne peut pas être null.

Retours

Si la méthode réussit, une collection énumérable d’objets de package portant le même nom de famille de package est retournée. Chaque objet Package de cette collection contient des informations sur le package, notamment son nom, son éditeur, sa version et son emplacement d’installation. Si aucun package portant le nom de famille de package spécifié n’est trouvé, cette méthode retourne une liste vide.

Attributs

Configuration requise pour Windows

Fonctionnalités de l’application
packageQuery

Remarques

Cette méthode nécessite des privilèges d’administration. Chaque package de la collection IIterable(Package) peut être installé pour l’utilisateur actuel ou pour un autre utilisateur. Cette méthode diffère de la méthode FindPackages(String packageName, String pulisherName). Ici, le paramètre packageFamilyName est une chaîne unique, composée du nom du package et du hachage de l’éditeur de package.

Voir aussi

S’applique à

FindPackages()

Récupère des informations sur une famille de packages spécifiée installée sur tous les utilisateurs.

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)

Retours

Si la méthode réussit, une collection énumérable d’objets de package est retournée. Chaque objet Package de cette collection contient des informations sur le package, notamment son nom, son éditeur, sa version et son emplacement d’installation.

Attributs

Configuration requise pour Windows

Fonctionnalités de l’application
packageQuery

Exemples

Cet exemple utilise FindPackages() pour énumérer les packages installés pour tous les utilisateurs.

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

Consultez également Support Visual Studio pour 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;
}

Remarques

Cette méthode nécessite des privilèges d’administration. Sinon, une exception AccessDeniedException est levée.

Voir aussi

S’applique à