
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 :
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!
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


0