![]() |
Desktop Development »
Files and Folders »
Utilities
Beginner
License: The Code Project Open License (CPOL)
Software's List Installed on Windows MachineBy surendrakishorThis program gets the list of softwares installed on windows running machine |
C# (C# 2.0, C# 3.0), VB (VB 8.0), Windows (Win2K, WinXP, Win2003, Vista), .NET (.NET 2.0, .NET 3.0, .NET 3.5), Visual Studio (VS2005, VS2008), Architect, Dev
|
||||||||
|
Advanced Search |
|
|
|
||||||||||||||||
Many of us dont know what softwares are installed and strive to check them programatically. here's a simple way to get that list. this is als very much useful when to create an installer for your projects, which helps you in checking the right version of minimal software requirements for your projects on clients machine.
There's nothing complicated code in this, if you have basic knowledge of Windows Registry thats enough. but be sure you make a backup of your registry before doing anything with that as that a good n safe way of programming.
I have took a simple Console Application in C#, created an object for registry accesed the right path i.e SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall.
This registry path has all the list of softwares installed on your machine. following is the code to achieve it in C#
class Program
{
static void Main(string[] args)
{
// Do back up of ur registry before running it.
//Registry path which has information of all the softwares installed on machine
string uninstallKey = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall";
using (RegistryKey rk = Registry.LocalMachine.OpenSubKey(uninstallKey))
{
foreach (string skName in rk.GetSubKeyNames())
{
using (RegistryKey sk = rk.OpenSubKey(skName))
{
// we have many attributes other than these which are useful.
Console.WriteLine(sk.GetValue("DisplayName") + " " + sk.GetValue("DisplayVersion"));
}
}
}
Console.ReadLine(); // To make the o/p readable.
}
}
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports Microsoft.Win32
Namespace SEList
Class Program
Private Shared Sub Main(args As String())
' Do back up of ur registry before running it.
'Registry path which has information of all the softwares installed on machine
Dim uninstallKey As String = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
Using rk As RegistryKey = Registry.LocalMachine.OpenSubKey(uninstallKey)
For Each skName As String In rk.GetSubKeyNames()
Using sk As RegistryKey = rk.OpenSubKey(skName)
' we have many attributes other than these which are useful.
Console.WriteLine(sk.GetValue("DisplayName") + " " + sk.GetValue("DisplayVersion"))
End Using
Next
End Using
Console.ReadLine() ' To make the o/p readable.
End Sub
End Class
End Namespace

This code snippet is handy for developers working on creating installer for project, which gives them flexibility to check the correct version of softwares installed on client machine to avoid confusion later. its a good way of creating the installers. this is useful for all kinds applications developed in Microsoft.NET environment.
This is my First article in this site, hope to post more useful code snippets in future. leave me aith your suggestion and comments as these are the things which boosts us and helps us in giving more relevant and error free code snippets.
| You must Sign In to use this message board. | |||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||
General
News
Question
Answer
Joke
Rant
Admin
|
PermaLink |
Privacy |
Terms of Use
Last Updated: 30 Sep 2008 Editor: Chris Maunder |
Copyright 2008 by surendrakishor Everything else Copyright © CodeProject, 1999-2009 Web16 | Advertise on the Code Project |