Vérifiez si l'application est installée dans le registre

Maintenant je l'utilise pour la liste de toutes les applications répertoriées dans la base de registre pour 32bit & 64.
J'ai vu d'autres exemples de la façon de vérifier si une application est installée sans aucune chance.

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

Donc cet extrait de la liste des tous les dans la fenêtre de la console et ce que je suis en train de faire est de
il suffit de trouver un titre du programme de la liste des noms d'affichage pour voir si il est installé.

La dernière chose que j'ai essayé était

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

Rien j'ai essayé revint faux ou un faux positif. Est-ce que quelqu'un peut me montrer comment il suffit de saisir un titre de la liste?

Merci de ne pas poster le bien-connu private static void IsApplicationInstalled(p_name) de la fonction. Il ne fonctionne pas pour moi.

Comme une note: vous devez Close() la regkeys vous avez Opened()'d.. même si c'est du code managé, ce sont des ressources non managées et la fuite si vous n'avez pas les fermer.
Merci pour le PTI.
Cela sonne comme il pourrait être très utile. Toutefois, selon ce que vous voulez l'utiliser, vous pourriez être mieux de l'adaptation de la est installé le code de l'application spécifique pour le faire fonctionner plus rapidement.
Aussi, pas tous les programmes sont enregistrés dans l'option "désinstaller". Juste pour info.

OriginalL'auteur Faded | 2013-05-04