C # - Проверьте, установлено ли приложение UWP на Windows10 - PullRequest
0 голосов
/ 25 января 2019

Вопрос : Используя C#, как мы можем проверить, установлено ли приложение UWP на Windows 10`

Возможная цель : Моя реальная мотивация заключается в разработке приложения MS Office в VS2017 с использованием Microsoft.Office.Interop , которое взаимодействует с приложением UWP, таким как . объяснил здесь . Но офисное приложение сначала проверит, установлено ли необходимое приложение UWP или нет.

Для старых 32-битных и 64-битных приложений Windows, мы могли бы проверить, установлено ли приложение, используя различные методы, такие как следующие. Мне было интересно, есть ли что-то подобное для UWP в Windows 10:

private static bool IsSoftwareInstalled(string softwareName)
{
    var key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall") ??
              Registry.LocalMachine.OpenSubKey(
                  @"SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall");

    if (key == null)
        return false;

    return key.GetSubKeyNames()
        .Select(keyName => key.OpenSubKey(keyName))
        .Select(subkey => subkey.GetValue("DisplayName") as string)
        .Any(displayName => displayName != null && displayName.Contains(softwareName));
}

Затем используйте оператор if для его вызова:

if (IsSoftwareInstalled("OpenSSL"))

1 Ответ

0 голосов
/ 25 января 2019

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

https://docs.microsoft.com/en-us/uwp/api/windows.management.deployment.packagemanager.findpackageforuser

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...