Der Funktion wird ein String mit dem Programmnamen (bzw. einem Teil des Namens) übergeben.
Nun wird in der Uninstall-Liste (Systemsteuerung\Software) nach diesem String gesucht, wird ein Eintrag gefunden gibt die Funktion true, ansonsten false zurück.
private bool IsInstalled(string ProgramName)
{
if (ProgramName != "")
{
string strUninstallList = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall";
object obj;
RegistryKey RegKeyUninstallList = Registry.LocalMachine;
RegistryKey SubKeyUninstallList = Registry.LocalMachine;
foreach (string strSubKey in RegKeyUninstallList.OpenSubKey(strUninstallList).GetSubKeyNames())
{
obj = SubKeyUninstallList.OpenSubKey(strUninstallList + "\\" + strSubKey).GetValue("DisplayName");
if (obj != null)
{
if (obj.ToString().ToLower().Contains(ProgramName.ToLower()))
return true;
}
}
}
return false;
}
1 Kommentare zum Snippet