it-swarm.it

Come posso disinstallare un servizio Windows se i file non esistono più?

Come si disinstalla un servizio Windows .NET, se i file del servizio non esistono più?

Ho installato un servizio Windows .NET usando InstallUtil. Da allora ho cancellato i file ma ho dimenticato di correre

 InstallUtil /u

primo. Quindi il servizio è ancora elencato nel MMC dei servizi.

Devo andare nel registro? O c'è un modo migliore?

545
Thomas Jespersen

Hai almeno tre opzioni. Li ho presentati in ordine di preferenza di utilizzo.

Metodo 1 - È possibile utilizzare lo strumento SC (Sc.exe) incluso nel Resource Kit. (incluso con Windows 7/8)

Apri un prompt dei comandi e inserisci

sc delete <service-name>

Segue lo snippet della guida dello strumento:

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

delete----------Deletes a service (from the registry).

Metodo 2 - usa delserv

Scarica e utilizza l'utilità della riga di comando delserv. Questo è uno strumento legacy sviluppato per Windows 2000. Nelle attuali finestre XP caselle questo è stato sostituito da sc descritto nel metodo 1.

Metodo 3 - cancella manualmente le voci di registro (Notare che questo si ritorce contro Windows 7/8)

I servizi di Windows sono registrati sotto la seguente chiave di registro.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

Cerca la sottochiave con il nome del servizio sotto la chiave di riferimento ed eliminala. (e potrebbe essere necessario riavviare per rimuovere completamente il servizio dall'elenco Servizi)

1091
Jorge Ferreira

Dal prompt dei comandi, utilizzare l'utility "sc.exe" di Windows. Avrai qualcosa di simile a questo:

sc delete <service-name>
159
Dean Hill

Note sull'uso di "sc delete" in Windows 8:

1) Apri una finestra CMD con privilegi elevati. [Tasto Windows-X per visualizzare un menu con l'opzione; seleziona "Prompt dei comandi (amministratore)".]
2) Utilizza il nome parentetico dall'elenco in Servizi [ad esempio, ho usato "sc delete gupdate" quando, in Servizi, si legge "Google Update (gupdate)"]

27
Michael

Alcune persone citano sc delete come risposta. Questo è il modo in cui l'ho fatto, ma mi ci è voluto un po 'per trovare il parametro <service-name>.

Il comando sc query type= service (nota, è molto particolare con la formattazione, lo spazio prima che sia necessario "servizio") genererà un elenco di servizi Windows installati, completi del loro nome qualificato da utilizzare con il comando sc delete <service-name>.

L'elenco è piuttosto lungo, quindi è possibile prendere in considerazione l'output in un file di testo (ad esempio >> C:\test.txt) e quindi cercare attraverso quello.

Il SERVICE_NAME è quello da utilizzare con il comando sc delete <service-name>.

20
Robin French

Rimuovi il servizio di Windows tramite il registro

È molto facile rimuovere un servizio dal registro se si conosce il percorso giusto. Ecco come l'ho fatto:

  1. Esegui Regedit o Regedt32

  2. Vai alla voce di registro "HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services"

  3. Cerca il servizio che desideri eliminare ed eliminalo. È possibile consultare i tasti per sapere quali file sono stati utilizzati dal servizio ed eliminarli (se necessario).

Elimina il servizio di Windows tramite la finestra di comando

In alternativa, puoi anche usare il comando Prompt ed eliminare un servizio usando il seguente comando:

sc delete

Puoi anche creare un servizio usando il seguente comando

sc crea "MorganTechService" binpath = "C:\Programmi\MorganTechSPace\myservice.exe"

Nota: potrebbe essere necessario riavviare il sistema per aggiornare l'elenco in Service Manager.

11
kombsh

Se vuoi usare uno strumento per questo puoi usare Process Hacker

Modulo per creare il servizio:

Process Hacker Create Service

Menu di scelta rapida su un servizio per eliminarlo:

Process Hacker Delete Service

Trovo Process Hacker uno strumento più conveniente per gestire i processi ei servizi di Windows rispetto a Taskmgr.exe di Windows. Soprattutto su Windows XP, dove non è possibile accedere ai servizi dal task manager.

9
Mike de Klerk

Avevo bisogno di reinstallare il mio servizio Tomcat, il che significava innanzitutto rimuoverlo. Questo ha funzionato per me:

Start a command Prompt window using run as administrator

sc query type= service >t.txt

(modifica il file t.txt, cerca nell'elenco e trova il servizio Tomcat. Si chiama Tomcat7)

sc delete Tomcat7

TUTTAVIA, il comando query non ha funzionato la prima volta, perché il servizio Tomcat non era in esecuzione. Sembra di elencare solo i servizi in esecuzione. Ho dovuto avviare il servizio ed eseguire nuovamente il comando query.

4
user1208639

Se i file Service .InstallLog e .InstallState originali si trovano ancora nella cartella, è possibile provare a reinstallare l'eseguibile per sostituire i file, quindi utilizzare InstallUtil/u, quindi disinstallare il programma. È un po 'contorto, ma ha funzionato in un caso particolare per me.

3
ja928

Puoi provare a eseguire Autoruns , che ti eviterà di dover modificare manualmente il registro. Ciò è particolarmente utile quando non si dispone delle autorizzazioni necessarie.

3
Tan

1a fase: passare alla directory in cui è presente il servizio

Comando: cd c:\xxx\yyy\service

2 ° passo: inserire il comando seguente

Comando: C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe service.exe\u

Qui service.exe è il tuo exe di servizio e disinstallerai il servizio. verrà visualizzato il messaggio "La disinstallazione è stata completata".

Se si desidera installare un servizio, rimuovere\u nel comando precedente che installerà il servizio

0
Sree

-Windows+r apre cmd.

-sc YourSeviceName questo codice rimuove il tuo servizio.

-Uninstal "YourService Path" questo codice disinstalla il tuo servizio.

0
Ayse Özbek

Abbiamo scoperto che anche se si esegue sc_delete, può esserci una voce rimanente nel registro per il proprio servizio, pertanto la reinstallazione del servizio determina un insieme corrotto di voci di registro (che non corrispondono). Quello che abbiamo fatto è stato regedit e rimuovere questa voce avanzata a mano.

  Nota: ShipmunkService è ancora visibile dopo sc_delete!

Quindi è possibile reinstallare e il servizio verrà eseguito correttamente. Buona fortuna a tutti voi, e che la forza sia con voi.

0
barclay

È possibile disinstallare il servizio di Windows con il comando Prompt anche solo scrivere questo comando

cd\                                                                   

cd C:\Windows\Microsoft.NET\Framework\v4.0.30319(or version in which you developed your service)                                           

installutil c:\\xxx.exe(physical path of your service) -d