Вопрос : Используя 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"))