![]() |
Wie prüfen, ob Service/Dienst -installiert- (nicht läuft!)
Hallo,
kennt jemand einen Weg zu prüfen, ob ein Dienst installiert ist? Ich möchte in einem Tool anbieten, einen Dienst zu installieren, wenn dieser nicht bereits installiert ist (dann halt die Option ist zu Deinstallieren). Die Prüfung sollte ohne UAC Elevation unter Vista laufen... Die Prüfung, ob ein Dienst läuft hab ich hier schon gefunden. Auch die Beschreibungen etc. Aber wie prüft man die Existenz eines Dienstes. Ist EnumServices der einzige Weg? Ich dachte mehr an IsServiceInstalled: True/False ;) Gruß winkel79 |
Re: Wie prüfen, ob Service/Dienst -installiert- (nicht läuft
Hallo,
eine weitere Möglichkeit wär das Auslesen über WMI. Jetzt weis ich aber nicht genau, was du mit "Existens eines Dienstes" meinst. Wenn der Dienst aufgelistet wird, ist er auch vorhanden. |
Re: Wie prüfen, ob Service/Dienst -installiert- (nicht läuft
Wenn du in einem Restaurant bist und wissen möchtest, ob es eine bestimmte Speise gibt. Welche Möglichkeiten hast du dann?
1. Du schaust dir die Speisekarte an, indem du dabei jede Speise, mit der gewünschen vergleichst. Das ist eine Service-Aufzählung. 2. Du fragst den Kelner. Er gibt die Ja oder Nein als Antwort. Das ist vergleichbar mit dem Verlangein eines Dienstes (Open). |
Re: Wie prüfen, ob Service/Dienst -installiert- (nicht läuft
Hi,
Du könntest versuchen die Dienste aus "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Servi ces\" auszulesen. Dort sind allerdings auch Treiber aufgelistet. Ich bin mir jetz nicht sicher ob das 100% korrekt ist aber soweit ich das ableiten konnte haben Dienste den Key "ObjectName" welcher bei den Treibern nicht vorhanden ist. Unter den einzelnen Dienst Schlüsseln gibts ausserdem noch folgende Werte die für Dich interessant sein könnten: DisplayName -> Name des Dienstes Description -> Beschreibung Imagepath -> Dateiname Start -> Starttyp: 0 = Boot, 1= System, 2 = Automatisch, 3 = Manuell, 4 = 'Deaktiviert'; Gruss |
Re: Wie prüfen, ob Service/Dienst -installiert- (nicht läuft
Also WMI ist imho der einfachste Weg.
Irgendwo habe ich hier mal einen WMI-Browser gepostet, der kann Dienste auflisten (und diese Starten / Stoppen / Pausieren) etc. Hier kannst Du dann nachgucken, ob Dein Dienst vorhanden ist. Für sämtliche weiteren Funktionen (deinstallieren, installieren, starten, stoppen etc.) benötigst Du aber Adminrechte und damit die UAC Elevation unter Vista. |
Re: Wie prüfen, ob Service/Dienst -installiert- (nicht läuft
Hallo,
Zitat:
Zitat:
Bekomme ich beim Open aber keine Probleme mit den Rechten und der UAC? Es geht mir ja gerade darum in einem Programm das unter den Rechten "asInvoker" läuft dies zu prüfen... Mist, edit zu schnell. Ihr seid aber fix ;) Gut, dann setzte ich mich mal mit WMI auseinander. Geht doch ab Win2k, oder? NT schließ ich dann per Setup bzw. OS-Check aus... Gruß winkel79 |
Re: Wie prüfen, ob Service/Dienst -installiert- (nicht läuft
Bevor Du zu langse suchst:
![]() |
Re: Wie prüfen, ob Service/Dienst -installiert- (nicht läuft
Danke, Phoenix.
Dann werd ich mir das mal ansehen. Gruß winkel79 |
Re: Wie prüfen, ob Service/Dienst -installiert- (nicht läuft
was spricht gegen das Auflisten der Services?
|
Re: Wie prüfen, ob Service/Dienst -installiert- (nicht läuft
Zitat:
Ich möchte nur wissen, ob es sowas schon gibt, damit ich nicht das Rad neu erfinde... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz