Verifique se o aplicativo está instalado no registro
Agora eu uso isso para listar todos os aplicativos listados no registro para 32 bits e 64. Eu vi os outros exemplos de como verificar se um aplicativo é instalado sem qualquer sorte.
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"));
}
}
Portanto, este snippet lista tudo na janela do console e o que eu estou tentando fazer é apenas encontrar um título de programa fora da lista de nomes de exibição para ver se ele está instalado.
A última coisa que tentei foi
if (subkey.Name.Contains("OpenSSL"))
Console.Writeline("OpenSSL Found");
else
Console.Writeline("OpenSSL Not Found");
Qualquer coisa que eu tentei voltou falso ou falso positivo. Existe alguém que possa me mostrar como pegar um título da lista?
Por favor, não publique a função IsApplicationInstalled (p_name) estática privada bem conhecida. Não funciona para mim.