PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Visual Basic: Installation prüfen.


Geldmann3
2010-06-27, 03:27:47
Ich möchte in einem mit Visual Basic erstellten Programm prüfen, ob der VLC Media Player installiert ist, wenn nicht, soll eine msgbox ausgegeben werden, die dem User mitteilt, dass der Player nicht installiert ist.

Geht das überhaupt?

Gohan
2010-06-27, 09:34:26
Ich würde die Registry danach durch suchen. (Muss man VLC installieren?) Kann dir allerdings nur Code in C# liefern. So oder so ähnlich sollte das funktionieren (nicht getestet).


public void IsApplicationInstalled(string displayName)
{
string registryKey =
@"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall";

using (Microsoft.Win32.RegistryKey key =
Registry.LocalMachine.OpenSubKey(registryKey))
{
var query = from a in
key.GetSubKeyNames()
let r = key.OpenSubKey(a)
where r.GetValue("DisplayName") == displayName
select new
{
Application = r.GetValue("DisplayName")
};

if(query.Count() > 0)
return true;
else
return false;
}
}

Marscel
2010-06-27, 13:08:48
Geht das überhaupt?

Nicht zwangsläufig, wenn du dir wie ich die installerlosen zip-Pakete runterlädst (und das Programm noch nie ausgeführt hast), kannst du das jedenfalls nicht so ohne weiteres korrekt prüfen. Dann musst du darauf bestehen, dass VLC doch bitte über den Installer installiert werden soll.

Geldmann3
2010-06-27, 13:40:48
Die installerlosen Packete mal außer acht gelassen. Ich möchte ihn nur dann als installiert zählen, wenn er unter "Programme und Funktionen" in der Systemsteuerung aufgeführt ist.

Coda
2010-06-27, 15:40:23
Dann ist die Registry-Methode die richtige.