it-swarm.com.de

So deinstallieren Sie einen Windows-Dienst, wenn auf dem System keine ausführbare Datei mehr vorhanden ist

Wie deinstalliere ich einen Windows-Dienst, wenn auf dem System keine ausführbare Datei mehr vorhanden ist? Ich kann nicht rennen installutil -u da keine ausführbare Datei mehr auf dem System vorhanden ist. Ich kann immer noch einen Eintrag für den Dienst in der Dienstekonsole sehen.

Der Grund für diesen Status liegt wahrscheinlich in einem Problem im msi-Paket, das den Dienst nicht ordnungsgemäß entfernt. Wie kann ich ihn beheben, wenn sich der Dienst in diesem Status befindet?

158
Magnus Lindhe

Sie sollten in der Lage sein, es mit sc.exe zu deinstallieren (ich denke, es ist im Windows Resource Kit enthalten), indem Sie Folgendes in einer "Administrator" -Befehlsaufforderung ausführen:

sc.exe delete <service name>

wo <service name> ist der Name des Dienstes selbst, wie er in der Dienstverwaltungskonsole angezeigt wird, nicht der exe.

Sie finden sc.exe im Systemordner. Zum Ausführen sind Administratorrechte erforderlich. Weitere Informationen in diesem Microsoft KB-Artikel .

Alternativ können Sie auch direkt die DeleteService () API aufrufen. Dieser Weg ist etwas komplexer, da Sie über OpenSCManager () usw. einen Zugriff auf den Service Control Manager erhalten müssen.

312
Treb

Windows-Dienst über Registrierung entfernen

Es ist sehr einfach, einen Dienst aus der Registrierung zu entfernen, wenn Sie den richtigen Pfad kennen. So habe ich das gemacht:

  1. Führen Sie Regedit oder Regedt32 aus

  2. Wechseln Sie zum Registrierungseintrag "HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services".

  3. Suchen Sie nach dem Dienst, den Sie löschen möchten, und löschen Sie ihn. Sie können sich die Schlüssel ansehen, um zu erfahren, welche Dateien der Dienst verwendet hat, und sie auch löschen (falls erforderlich).

Windows-Dienst über Befehlsfenster löschen

Alternativ können Sie auch den Befehl Eingabeaufforderung verwenden und einen Dienst mit dem folgenden Befehl löschen:

sc delete

Sie können einen Dienst auch mit dem folgenden Befehl erstellen

sc create "MorganTechService" binpath = "C:\Programme\MorganTechSPace\myservice.exe"

Hinweis: Möglicherweise müssen Sie das System neu starten, damit die Liste in Service Manager aktualisiert wird.

24
kombsh

hier gefunden

Ich habe gerade Windows XP ausprobiert, es hat funktioniert

lokaler Computer: sc \\. löschen [service-name]

  Deleting services in Windows Server 2003

  We can use sc.exe in the Windows Server 2003 to control services, create services and delete services. Since some people thought they must directly modify the registry to delete a service, I would like to share how to use sc.exe to delete a service without directly modifying the registry so that decreased the possibility for system failures.

  To delete a service: 

  Click “start“ - “run“, and then enter “cmd“ to open Microsoft Command Console.

  Enter command:

  sc servername delete servicename

  For instance, sc \\dc delete myservice

  (Note: In this example, dc is my Domain Controller Server name, which is not the local machine, myservice is the name of the service I want to delete on the DC server.)

  Below is the official help of all sc functions:

  DESCRIPTION:
    SC is a command line program used for communicating with the
    NT Service Controller and services. 
  USAGE:
          sc
11
Fredou

Hier ist das Powershell-Skript zum Löschen eines Dienstes foo

$foo= Get-WmiObject -Class Win32_Service -Filter "Name='foo'"
$foo.delete()
10
Nima Soroush

Meine Lieblingsmethode ist die Verwendung von Sysinternals Autoruns . Wählen Sie einfach den Dienst und drücken Sie Löschen.

9
Thomas Bratt

Erstellen Sie eine Kopie der ausführbaren Dateien desselben Dienstes, und fügen Sie sie in denselben Pfad des vorhandenen Dienstes ein. Deinstallieren Sie sie anschließend.

3
Samiksha

Ich würde PowerShell dafür verwenden

Remove-Service -Name "TestService"

https://docs.Microsoft.com/en-us/powershell/module/Microsoft.powershell.management/remove-service

1
JoeRod