Pokúšam sa odstrániť službu systému Windows pomocou príkazu sc delete <service name>
a narazím na nasledujúcu chybu:
[SC] DeleteService FAILED 1072:
Zadaná služba bola označená na odstránenie.
Čo som už urobil:
Službu som samozrejme zastavil. Príkaz sc queryex "<service name>"
dáva nasledujúci výsledok:
SERVICE_NAME: Stub service
TYPE : 10 WIN32_OWN_PROCESS
STAV : 1 ZASTAVENÁ
WIN32_EXIT_CODE : 1067 (0x42b)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
PID : 0
FLAGS :
Zabezpečené, že Microsoft Management Console je zatvorená (taskkill /F /IM mmc.exe
),
Odstránil kľúč HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
Kvôli tomuto odstráneniu sa v súbore services.msc
služba stále zobrazuje (s názvom, ale bez stavu alebo typu spustenia), ale popis je "<Nepodarilo sa načítať popis. Kód chyby: 2 >". Pri pokuse o zobrazenie vlastností sa päťkrát zobrazí správa "Systém nemôže nájsť zadaný súbor.".
Problém pretrváva.
Aký je ďalší postup?
Môže existovať niekoľko príčin, ktoré vedú k tomu, že služba uviazne v stave "označená na vymazanie".
SysInternals' Process Explorer je otvorený. Jeho zatvorenie by malo viesť k automatickému odstráneniu služby.
Otvorí sa Správca úloh.
Otvorí sa Microsoft Management Console (MMC). Ak chcete zabezpečiť, aby boli všetky inštancie ukončené, spustite taskkill /F /IM mmc.exe
.
Je otvorená Konzola služieb. Toto je rovnaké ako v predchádzajúcom bode, pretože konzola služieb je hostiteľom MMC.
[Event Viewer is opened] (Prehliadač udalostí je otvorený)(https://stackoverflow.com/a/18467128/240613). Opäť je to rovnaké ako v treťom bode.
Existuje kľúč HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services{názov služby}.
Niekto iný je prihlásený na server a má otvorenú jednu z predtým uvedených aplikácií.
Je otvorená inštancia aplikácie Visual Studio používaná na ladenie služby.