How to get list of all installed software or application on your machine in vb.net

 
Following example is for finding the list of all installed software and applications on your machine.
This example requires listbox control named ‘_list’.

Private Sub ListAllInstalledSoftwareInListView()
        Dim _Software As String = Nothing
        'The registry key will be held in a string SoftwareKey.
        Dim _SoftwareKey As String = "SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products"
        Using rk As Microsoft.Win32.RegistryKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(_SoftwareKey)
            For Each _skName As String In rk.GetSubKeyNames
                'Get sub keys
                Dim _name = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(_SoftwareKey).OpenSubKey(_skName).OpenSubKey("InstallProperties").GetValue("DisplayName")
                'Registry.LocalMachine.OpenSubKey(SoftwareKey).OpenSubKey(skName).OpenSubKey("InstallProperties").GetValue("DisplayName")
                Dim _installocation = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(_SoftwareKey).OpenSubKey(_skName).OpenSubKey("InstallProperties").GetValue("InstallLocation")
                'InstallProperties
                Dim _publisher = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(_SoftwareKey).OpenSubKey(_skName).OpenSubKey("InstallProperties").GetValue("Publisher")
                Dim _uninstallString = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(_SoftwareKey).OpenSubKey(_skName).OpenSubKey("InstallProperties").GetValue("UninstallString")
                'Add the Software information to lstPrograms
                If _name.ToString <> "" Then
                    'Declare new ListView Item
                    Dim _list As New ListViewItem
                    'Set Text Property to Name of Software
                    _list.Text = _name.ToString
                    'Add Install Location
                    _list.SubItems.Add(_installocation.ToString)
                    'Add Publisher
                    _list.SubItems.Add(_publisher.ToString)
                    ' Add it to lstPrograms, a listview that will hold our Software List.
                    lstPrograms.Items.Add(_list)
                End If
                'next
            Next
        End Using
    End Sub

Author: Ankur

Have worked primarily in the domain of Calling, CRM and direct advertisers services. My technological forte is Microsoft Technologies especially Dot Net (Visual Studio 2003, 2005, 2008, 2010 and 2012) and Microsoft SQL Server 2000,2005 and 2008 R2. My Area of Expertise is in C#. Net, VB.Net, MS-SQL Server, ASP. Net, Silverlight, HTML, XML, Crystal Report, Active Reports, Infragistics, Component Art, ComponeOne, Lead Tools etc.