Partilhar via


PackageManager.FindPackages Método

Definição

Sobrecargas

FindPackages(String, String)

Localiza todos os Pacotes instalados com o nome e o editor especificados.

FindPackages(String)

Recupera informações sobre uma família especificada de Pacotes instalados em todos os usuários.

FindPackages()

Recupera informações sobre uma família especificada de Pacotes instalados em todos os usuários.

FindPackages(String, String)

Localiza todos os Pacotes instalados com o nome e o editor 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

O nome do pacote. Esse parâmetro não pode ser nulo.

packagePublisher
String

Platform::String

winrt::hstring

O editor do pacote. Esse parâmetro não pode ser nulo.

Retornos

Se o método for bem-sucedido, uma coleção enumerável de objetos de pacote com o mesmo nome de pacote e nome do editor será retornada. Cada objeto Package nesta coleção contém informações sobre o pacote, incluindo, mas não se limitando ao seu nome, editor, versão e local de instalação. Se nenhum pacote com o nome e o editor especificados for encontrado, esse método retornará uma lista vazia.

Atributos

Requisitos do Windows

Funcionalidades do aplicativo
packageQuery

Comentários

Esse método requer privilégios administrativos.

Confira também

Aplica-se a

FindPackages(String)

Recupera informações sobre uma família especificada de Pacotes instalados em todos os usuários.

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

O nome da família do pacote. Esse parâmetro não pode ser nulo.

Retornos

Se o método for bem-sucedido, uma coleção enumerável de objetos de pacote com o mesmo nome de família de pacotes será retornada. Cada objeto Package nesta coleção contém informações sobre o pacote, incluindo, mas não se limitando ao seu nome, editor, versão e local de instalação. Se nenhum pacote com o nome da família de pacotes especificado for encontrado, esse método retornará uma lista vazia.

Atributos

Requisitos do Windows

Funcionalidades do aplicativo
packageQuery

Comentários

Esse método requer privilégios administrativos. Cada pacote na coleção IIterable(Package) pode ser instalado para o usuário atual ou para outro usuário. Esse método difere do método FindPackages(String packageName, String pulisherName). Aqui, o parâmetro packageFamilyName é uma única cadeia de caracteres, composta pelo nome do pacote e pelo hash do editor de pacotes.

Confira também

Aplica-se a

FindPackages()

Recupera informações sobre uma família especificada de Pacotes instalados em todos os usuários.

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)

Retornos

Se o método for bem-sucedido, uma coleção enumerável de objetos de pacote será retornada. Cada objeto Package nesta coleção contém informações sobre o pacote, incluindo, mas não se limitando ao seu nome, editor, versão e local de instalação.

Atributos

Requisitos do Windows

Funcionalidades do aplicativo
packageQuery

Exemplos

Este exemplo usa FindPackages() para enumerar os pacotes instalados para todos os usuários.

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

Confira também Suporte do 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;
}

Comentários

Esse método requer privilégios administrativos. Caso contrário, um AccessDeniedException será gerado.

Confira também

Aplica-se a