AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Wie prüfen, ob Service/Dienst -installiert- (nicht läuft!)
Thema durchsuchen
Ansicht
Themen-Optionen

Wie prüfen, ob Service/Dienst -installiert- (nicht läuft!)

Ein Thema von Assertor · begonnen am 7. Okt 2007 · letzter Beitrag vom 7. Okt 2007
Antwort Antwort
Seite 1 von 2  1 2      
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#1

Wie prüfen, ob Service/Dienst -installiert- (nicht läuft!)

  Alt 7. Okt 2007, 00:10
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
Frederik
  Mit Zitat antworten Zitat
Benutzerbild von Mazel
Mazel

Registriert seit: 11. Nov 2005
Ort: Leipzig
831 Beiträge
 
#2

Re: Wie prüfen, ob Service/Dienst -installiert- (nicht läuft

  Alt 7. Okt 2007, 08:25
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.
Marcel Jänicke
www.mj-software.net
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#3

Re: Wie prüfen, ob Service/Dienst -installiert- (nicht läuft

  Alt 7. Okt 2007, 08:31
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).
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
paritycheck

Registriert seit: 8. Feb 2005
51 Beiträge
 
Delphi 2009 Professional
 
#4

Re: Wie prüfen, ob Service/Dienst -installiert- (nicht läuft

  Alt 7. Okt 2007, 10:39
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
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.606 Beiträge
 
#5

Re: Wie prüfen, ob Service/Dienst -installiert- (nicht läuft

  Alt 7. Okt 2007, 10:42
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.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#6

Re: Wie prüfen, ob Service/Dienst -installiert- (nicht läuft

  Alt 7. Okt 2007, 10:44
Hallo,

Zitat von Mazel:
was du mit "Existens eines Dienstes" meinst
Ob er vorhanden ist, also in der Dienstverwaltung von Windows aufgeführt wird.

Zitat von Dezipaitor:
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).
Sehr abstrakt und so hatte ich es bereits auch verstanden.

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
Frederik
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.606 Beiträge
 
#7

Re: Wie prüfen, ob Service/Dienst -installiert- (nicht läuft

  Alt 7. Okt 2007, 10:58
Bevor Du zu langse suchst: Hier ist das Beispielprogramm.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#8

Re: Wie prüfen, ob Service/Dienst -installiert- (nicht läuft

  Alt 7. Okt 2007, 12:32
Danke, Phoenix.

Dann werd ich mir das mal ansehen.

Gruß winkel79
Frederik
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Wie prüfen, ob Service/Dienst -installiert- (nicht läuft

  Alt 7. Okt 2007, 12:45
was spricht gegen das Auflisten der Services?
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#10

Re: Wie prüfen, ob Service/Dienst -installiert- (nicht läuft

  Alt 7. Okt 2007, 12:47
Zitat von SirThornberry:
was spricht gegen das Auflisten der Services?
Nichts! Und wie? Ist das etwas in WinSvc oder SvcMgr schon enthalten?

Ich möchte nur wissen, ob es sowas schon gibt, damit ich nicht das Rad neu erfinde...
Frederik
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz