Compartir a través de


PackageManager.FindPackages Método

Definición

Sobrecargas

FindPackages(String, String)

Busca todos los paquetes instalados con el nombre y el publicador especificados.

FindPackages(String)

Recupera información sobre una familia de paquetes especificada instalada en todos los usuarios.

FindPackages()

Recupera información sobre una familia de paquetes especificada instalada en todos los usuarios.

FindPackages(String, String)

Busca todos los paquetes instalados con el nombre y el publicador especificados.

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)

Parámetros

packageName
String

Platform::String

winrt::hstring

Nombre del paquete. Este parámetro no puede ser null.

packagePublisher
String

Platform::String

winrt::hstring

Publicador del paquete. Este parámetro no puede ser null.

Devoluciones

Si el método se ejecuta correctamente, se devuelve una colección enumerable de objetos de paquete con el mismo nombre de paquete y nombre del publicador. Cada objeto Package de esta colección contiene información sobre el paquete, incluidos, entre otros, su nombre, el publicador, la versión y la ubicación de instalación. Si no se encuentra ningún paquete con el nombre y el publicador especificados, este método devuelve una lista vacía.

Atributos

Requisitos de Windows

Características de aplicaciones
packageQuery

Comentarios

Este método requiere privilegios administrativos.

Consulte también

Se aplica a

FindPackages(String)

Recupera información sobre una familia de paquetes especificada instalada en todos los usuarios.

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)

Parámetros

packageFamilyName
String

Platform::String

winrt::hstring

Nombre de familia del paquete. Este parámetro no puede ser null.

Devoluciones

Si el método se ejecuta correctamente, se devolverá una colección enumerable de objetos de paquete con el mismo nombre de familia de paquete. Cada objeto Package de esta colección contiene información sobre el paquete, incluidos, entre otros, su nombre, el publicador, la versión y la ubicación de instalación. Si no se encuentra ningún paquete con el nombre de familia de paquete especificado, este método devuelve una lista vacía.

Atributos

Requisitos de Windows

Características de aplicaciones
packageQuery

Comentarios

Este método requiere privilegios administrativos. Cada paquete de la colección IIterable(Package) se puede instalar para el usuario actual o para otro usuario. Este método difiere del método FindPackages(String packageName, String pulisherName). Aquí el parámetro packageFamilyName es una sola cadena, formada por el nombre del paquete y el hash del publicador de paquetes.

Consulte también

Se aplica a

FindPackages()

Recupera información sobre una familia de paquetes especificada instalada en todos los usuarios.

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)

Devoluciones

Si el método se ejecuta correctamente, se devuelve una colección enumerable de objetos de paquete. Cada objeto Package de esta colección contiene información sobre el paquete, incluidos, entre otros, su nombre, el publicador, la versión y la ubicación de instalación.

Atributos

Requisitos de Windows

Características de aplicaciones
packageQuery

Ejemplos

En este ejemplo se usa FindPackages() para enumerar los paquetes instalados para todos los usuarios.

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

Consulta también Compatibilidad de Visual Studio para 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;
}

Comentarios

Este método requiere privilegios administrativos. De lo contrario, se produce una excepción AccessDeniedException .

Consulte también

Se aplica a