Laden...

Überprüfen, ob externes Programm installiert ist

Erstellt von Mauarn vor 2 Jahren Letzter Beitrag vor 2 Jahren 509 Views
M
Mauarn Themenstarter:in
3 Beiträge seit 2022
vor 2 Jahren
Überprüfen, ob externes Programm installiert ist

Hallo,
Ich bin gerade dabei ein Programm zu schreiben, welches ein externes Programm benötigt. Zum Aufrufen verwende ich:


System.Diagnostics.Process.Start("externesProgramm.exe");

Jetzt meine Frage: Gibt es eine Möglichkeit zu überprüfen, ob diese Anwendung auf dem PC installiert ist? Der Installationspfad des externen Programmes ist für mich dabei unbekannt.
Danke im Voraus!

16.807 Beiträge seit 2008
vor 2 Jahren

Wenn Du keine Eindeutigkeit der externen Anwendung hast (Registry, Pfad, etc....), dann gibt es keine eindeutige Überprüfungsmöglichkeit.

22 Beiträge seit 2004
vor 2 Jahren

try-catch verwenden.

16.807 Beiträge seit 2008
vor 2 Jahren

Er benötigt den Pfad zur Exe, um diese zu starten. Try-Catch hilft beim Suchen nicht; nur beim Start-Versuch einer nicht-existierenden Exe.

Der Installationspfad des externen Programmes ist für mich dabei unbekannt.

Oder was willst mit try-catch bezogen auf seine Frage anfangen?

D
152 Beiträge seit 2013
vor 2 Jahren

Was man machen könnte wäre die Ausgabe von where zu parsen.

where externesProgramm.exe
4.931 Beiträge seit 2008
vor 2 Jahren

Die PATH-Variable wird beim Starten eines Prozesses schon beachtet (welche where auch nur durchsucht).

Man könnte dann das gesamte Dateisystem durchsuchen lassen ([Snippet] Verzeichnisse und Dateien rekursiv durchlaufen) - evtl. noch zusätzlich mit Einbeziehung des (direkten) Ordnernamens.

Um welche konkrete Anwendung geht es denn?

M
Mauarn Themenstarter:in
3 Beiträge seit 2022
vor 2 Jahren

Um welche konkrete Anwendung geht es denn?

Mein Hauptprogramm ist eine Bedienoberfläche zur Steuerung eines Arduinos. Zusätzlich kann dann das externe Programm verwendet werden, welches eigene Programmierung ermöglicht. Um die Anwendung so angenehm wie möglich zu gestalten, wollte ich, dass man das externe Programm von Hauptprogramm aus starten kann. Da dies aber extra heruntergeladen wird, ist mir der Dateipfad unbekannt.

Ich hoffe, damit konnte ich helfen😅

4.931 Beiträge seit 2008
vor 2 Jahren

Dann lass doch den Anwender den Pfad zu der Anwendung (z.B. über den FileOpenDialog - mit einem Filter auf den Dateinamen) eingeben.

2.078 Beiträge seit 2012
vor 2 Jahren

Das (was Th69 vorschlägt) machen übrigens viele Programme - ist die einzige mehr oder weniger zuverlässige Möglichkeit.

Z.B. gibt's Visual Studio Extensions, die externe Programme in Visual Studio integrieren. Die Extension weiß natürlich nicht, wo das Programm liegt (besonders wenn das nicht installiert werden muss), also gibt es eine Einstellung, wo man den Pfad zur exe oder zum Programm-Ordner eingeben muss.

M
Mauarn Themenstarter:in
3 Beiträge seit 2022
vor 2 Jahren

Dann mache ich es über den OpenFileDialog. Danke für die vielen Antworten.😀