Visual Basic.NET - Verificar programa instalado

 
Vista:
Imágen de perfil de Jesús

Verificar programa instalado

Publicado por Jesús (25 intervenciones) el 17/02/2016 23:35:48
Hola a todos, tengo la siguiente duda y por mas que me rompro la cabeza pensando ya no sé qué mas hacer.

Para verificar que un programa está instalado utilizo lo siguiente dentro del evento Form1_Load, siendo lst_instalados un ListView con la propieda visible=false :

1
2
3
4
5
6
7
8
9
10
11
12
Dim Keys As RegistryKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall")
        For Each sNombreKey As String In Keys.GetSubKeyNames
            Dim Key As RegistryKey = Keys.OpenSubKey(sNombreKey)
            If Key.GetValue("DisplayName") <> "" Then
                lst_instalados.Items.Add(Key.GetValue("DisplayName"))
            End If
        Next
        For Each itemlist As ListViewItem In lst_instalados.Items
            If InStr(1, itemlist.Text, "NOMBRE DEL PROGRAMA O PALABRA QUE DEBERIA ESTAR") Then
                MessageBox.Show("Instalado!")
            End If
        Next

Funciona perfectamente, el caso es que no se por qué, hay programas que no se añaden al listview, en mi caso quiero verificar si está instalado "Microsoft SQL Server 2014 Express LocalDB", el caso es que no entiendo por qué no se añade al listview, por lo cual mi form no sabe si esta instalado. He mirado en la ruta del registro y el programa sale y su DisplayName es ese, no entiendo por qué no se añade en el ListView, me podrias ayudar?

Un saludo y gracias de antemano!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Javier
Val: 150
Ha disminuido 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Verificar programa instalado

Publicado por Javier (77 intervenciones) el 19/02/2016 19:07:15
Podrias utilizar:

servidores = SqlDataSourceEnumerator.Instance;

Creas un DataTable y lo llenas con los datos:

TuDataTable = servidores.GetDataSources();

Con esto recores el DataTable y con la informacion haces lo que mas te convenga, podrias llenar un combobox para ver lo que tienes instalado por ejemplo.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar