Sprawdź, czy aplikacja jest zainstalowana w rejestrze

W tej chwili używam tego, aby wyświetlić listę wszystkich aplikacji wymienionych w rejestrze dla 32-bitowych i 64-tych. Widziałem inne przykłady sprawdzania, czy aplikacja jest zainstalowana bez szczęścia.

string registryKey = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall";
RegistryKey key = Registry.LocalMachine.OpenSubKey(registryKey);
if (key != null)
{
    foreach (String a in key.GetSubKeyNames())
    {
        RegistryKey subkey = key.OpenSubKey(a);
        Console.WriteLine(subkey.GetValue("DisplayName"));
    }
}

registryKey = @"SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall";
key = Registry.LocalMachine.OpenSubKey(registryKey);
if (key != null)
{
    foreach (String a in key.GetSubKeyNames())
    {
        RegistryKey subkey = key.OpenSubKey(a);
        Console.WriteLine(subkey.GetValue("DisplayName"));
    }
}

Tak więc ten fragment wyszczególnia to wszystko w oknie konsoli, a to, co próbuję zrobić, to znaleźć jeden tytuł programu z listy nazw wyświetlanych, aby sprawdzić, czy jest zainstalowany.

Ostatnią rzeczą, jakiej próbowałem, było

if (subkey.Name.Contains("OpenSSL"))
    Console.Writeline("OpenSSL Found");
else
    Console.Writeline("OpenSSL Not Found");

Wszystko, co próbowałem, wróciło fałszywe lub fałszywe. Czy jest ktoś, kto może mi pokazać, jak po prostu zdobyć tytuł z listy?

Nie publikuj dobrze znanej funkcji prywatnej statycznej pustki IsApplicationInstalled (p_name). To nie działa dla mnie w ogóle.

questionAnswers(4)

yourAnswerToTheQuestion