Condividi tramite


PackageManager.FindPackages Metodo

Definizione

Overload

FindPackages(String, String)

Trova tutti i pacchetti installati con il nome e il server di pubblicazione specificati.

FindPackages(String)

Recupera informazioni su una famiglia specificata di pacchetti installati in tutti gli utenti.

FindPackages()

Recupera informazioni su una famiglia specificata di pacchetti installati in tutti gli utenti.

FindPackages(String, String)

Trova tutti i pacchetti installati con il nome e il server di pubblicazione specificati.

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)

Parametri

packageName
String

Platform::String

winrt::hstring

Nome del pacchetto. Questo parametro non può essere Null.

packagePublisher
String

Platform::String

winrt::hstring

Autore del pacchetto. Questo parametro non può essere Null.

Restituisce

Se il metodo ha esito positivo, viene restituita una raccolta enumerabile di oggetti pacchetto con lo stesso nome del pacchetto e il nome dell'editore. Ogni oggetto Package in questa raccolta contiene informazioni sul pacchetto, inclusi, a titolo esemplificativo, il nome, l'editore, la versione e il percorso di installazione. Se non vengono trovati pacchetti con il nome e il server di pubblicazione specificati, questo metodo restituisce un elenco vuoto.

Attributi

Requisiti Windows

Funzionalità dell'app
packageQuery

Commenti

Questo metodo richiede privilegi amministrativi.

Vedi anche

Si applica a

FindPackages(String)

Recupera informazioni su una famiglia specificata di pacchetti installati in tutti gli utenti.

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)

Parametri

packageFamilyName
String

Platform::String

winrt::hstring

Nome della famiglia di pacchetti. Questo parametro non può essere Null.

Restituisce

Se il metodo ha esito positivo, verrà restituita una raccolta enumerabile di oggetti pacchetto con lo stesso nome della famiglia di pacchetti. Ogni oggetto Package in questa raccolta contiene informazioni sul pacchetto, inclusi, a titolo esemplificativo, il nome, l'editore, la versione e il percorso di installazione. Se non viene trovato alcun pacchetto con il nome della famiglia di pacchetti specificato, questo metodo restituisce un elenco vuoto.

Attributi

Requisiti Windows

Funzionalità dell'app
packageQuery

Commenti

Questo metodo richiede privilegi amministrativi. Ogni pacchetto nella raccolta IIterable(Package) può essere installato per l'utente corrente o per un altro utente. Questo metodo differisce dal metodo FindPackages(String packageName, String pulisherName). In questo caso il parametro packageFamilyName è una singola stringa, costituita dal nome del pacchetto e dall'hash dell'autore del pacchetto.

Vedi anche

Si applica a

FindPackages()

Recupera informazioni su una famiglia specificata di pacchetti installati in tutti gli utenti.

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)

Restituisce

Se il metodo ha esito positivo, viene restituita una raccolta enumerabile di oggetti pacchetto. Ogni oggetto Package in questa raccolta contiene informazioni sul pacchetto, inclusi, a titolo esemplificativo, il nome, l'editore, la versione e il percorso di installazione.

Attributi

Requisiti Windows

Funzionalità dell'app
packageQuery

Esempio

Questo esempio usa FindPackages() per enumerare i pacchetti installati per tutti gli utenti.

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

Vedere anche Supporto di Visual Studio per 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;
}

Commenti

Questo metodo richiede privilegi amministrativi. In caso contrario, viene generata un'eccezione AccessDeniedException .

Vedi anche

Si applica a