Ho un paio di vecchi servizi che voglio disinstallare completamente. Come posso fare questo?
Usa il comando SC, come questo (devi essere sul comando Prompt per eseguire i comandi in questo post):
SC STOP shortservicename
SC DELETE shortservicename
Nota: È necessario eseguire il comando Prompt come amministratore, non solo come amministratore, ma anche con diritti amministrativi. Se si verificano errori di cui sopra che non hanno i diritti di accesso necessari per interrompere e/o eliminare il servizio, eseguire il comando Richiedi come amministratore. Puoi farlo cercando il comando Prompt sul tuo menu di avvio e poi cliccando col tasto destro e selezionando "Esegui come amministratore". Nota per gli utenti di PowerShell: sc
è alias per set-content
. Quindi sc delete service
creerà effettivamente un file chiamato delete
con il contenuto service
. Per fare ciò in Powershell, usa invece sc.exe delete service
Se è necessario trovare il nome breve del servizio di un servizio, utilizzare il comando seguente per generare un file di testo contenente un elenco di servizi e i relativi stati:
SC QUERY state= all >"C:\Service List.txt"
Per un elenco più conciso, eseguire questo comando:
SC QUERY state= all | FIND "_NAME"
Il nome del servizio breve verrà elencato appena sopra il nome visualizzato, in questo modo:
SERVICE_NAME: MyService
DISPLAY_NAME: My Special Service
E quindi per eliminare quel servizio:
SC STOP MyService
SC DELETE MyService
Click Inizio | Esegui e digita regedit
nella riga Apri:. Clicca OK.
Vai a HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
Scorri verso il basso nel riquadro di sinistra, individua il nome del servizio, fai clic con il pulsante destro del mouse e seleziona Elimina .
Riavvia il sistema.
Utilizzare services.msc o (Start> Pannello di controllo> Strumenti di amministrazione> Servizi) per trovare il servizio in questione. Fare doppio clic per visualizzare il nome del servizio e il percorso dell'eseguibile.
Controllare le informazioni sulla versione exe per un indizio sul proprietario del servizio e utilizzare Aggiungi/Rimuovi programmi per eseguire una disinstallazione pulita, se possibile.
In caso contrario, dal prompt dei comandi:
sc stop servicexyz
sc delete servicexyz
Non dovrebbe essere necessario riavviare.
SC DELETE "service name"
Esegui il comando su cmd come amministratore altrimenti otterrai questo errore: -
openservice fallito 5 accesso negato
Se hai Windows Vista o versione successiva, esegui questo comando da un comando Richiedi come amministratore:
sc delete [your service name as shown in service.msc e.g moneytransfer]
Ad esempio: sc delete moneytransfer
Elimina la cartella C:\Program Files\BBRTL\moneytransfer\
Trova le chiavi di registro di moneytransfer ed eliminale:
HKEY_CLASSES_ROOT\Installer\Products\
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\EventLog\
HKEY_LOCAL_MACHINE\System\CurrentControlSet002\Services\
HKEY_LOCAL_MACHINE\System\CurrentControlSet002\Services\EventLog\
HKEY_LOCAL_MACHINE\Software\Classes\Installer\Assemblies\ [remove .exe references]
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Folders
Questi passaggi sono stati testati su Windows XP, Windows 7, Windows Vista, Windows Server 2003 e Windows Server 2008.
Possiamo farlo in due modi diversi
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:
Esegui Regedit o Regedt32
Vai alla voce di registro "HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services"
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.
Come descritto sopra ho eseguito:
sc delete ServiceName
Tuttavia questo non ha funzionato mentre lo stavo eseguendo da PowerShell.
Quando si utilizza PowerShell, è necessario specificare il percorso completo per sc.exe
poiché PowerShell ha un alias predefinito per sc
che lo assegna a Set-Content
. Poiché si tratta di un comando valido, in realtà non mostra un messaggio di errore.
Per risolvere questo ho eseguito come segue:
C:\Windows\System32\sc.exe delete ServiceName
Se si tratta di servizi creati .NET, è possibile utilizzare installutil.exe con/u passare nella cartella .net framework come C:\Windows\Microsoft.NET\Framework64\v2.0.50727
Ecco uno script vbs che mi è stato tramandato:
Set servicelist = GetObject("winmgmts:").InstancesOf ("Win32_Service")
for each service in servicelist
sname = lcase(service.name)
If sname = "NameOfMyService" Then
msgbox(sname)
service.delete ' the internal name of your service
end if
next
sc cancella nome
Prima di rimuovere il servizio è necessario rivedere le dipendenze.
Puoi verificarlo:
Aprire services.msc
e trovare il nome del servizio, passare alla scheda "Dipendenze".
Fonte: http://www.sysadmit.com/2016/03/windows-eliminar-un-servicio.html
Per me il mio servizio che ho creato doveva essere disinstallato in Pannello di controllo> Programmi e funzionalità