Feedback

C# - Herausfinden, ob ein Programm (ProgramName) installiert ist.

Veröffentlicht von am 30.11.2009
(2 Bewertungen)
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.
Snippet in VB übersetzen
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;
}

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!