Программное определение того, установлено ли в системе определенное приложение uwp

Без проходит через реестр Windows, есть ли более быстрый способ программно определить, установлено ли в системе конкретное приложение Универсальная платформа Windows (UWP)? Приложение будет установлено через Магазин приложений Windows, и его установка должна быть проверена с помощью программы Winform, написанной на C#. Но язык не имеет значения.

0
0
438
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы должны иметь возможность использовать PackageManager.FindPackage или PackageManager.FindPackageForUser, чтобы узнать, доступен ли целевой пакет для всех или для конкретного или текущего пользователя.

См. Вызов API Windows 10 из настольного приложения для информации о том, как вызвать это из вашего приложения WinForms.

Также ознакомьтесь с Перечислить пакеты приложений по образцу SID пользователя, который демонстрирует перечисление пакетов приложений из консольного приложения C#. Используемый проект устарел (он для VS2013), но общий поток кода должен работать.

В зависимости от вашего конкретного сценария (зачем вам это нужно знать и что вы будете делать с этой информацией?) Могут быть лучшие способы для вашего конкретного случая использования. Например: вы спрашивали в другом месте о запуске приложения UWP. Если вы определяете и запускаете протокол для приложения, вам не нужно сначала проверять, есть ли он там, поскольку при запуске протокола будет предложено найти приложение в магазине, если оно не установлено.

Другие вопросы по теме