2008-10-13 10 views
497

Jak odinstalować usługę .NET Windows, jeśli pliki usług już nie istnieją?Jak odinstalować usługę Windows, jeśli pliki już nie istnieją?

Zainstalowałem usługę Windows .NET przy użyciu InstallUtil. I od tego czasu usunięte pliki, ale zapomniał uruchomić

InstallUtil /u 

pierwszy. Tak więc usługa jest nadal wymieniona w MMC usług.

Czy muszę iść do rejestru? Czy jest jakiś lepszy sposób?

+3

[Delserv] (http://support.microsoft.com/kb/927229) –

+2

Czy najpierw zatrzymałeś usługę? (-> net stop yourservice) – Jos

+0

Bardzo blisko związany wątek [tutaj] (https://stackoverflow.com/q/76074/465053). – RBT

Odpowiedz

971

Masz co najmniej trzy opcje. Przedstawiłem je w kolejności preferencji użytkowania.

Metoda 1 - Można użyć SC tool (Sc.exe) zawartej w zestawie zasobów. (dołączony do systemu Windows 7/8)

otworzyć wiersz polecenia i wpisać

sc delete <service-name> 

Narzędzie pomaga fragment następująco:

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

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

Metoda 2 - wykorzystanie delserv

Download i użyj narzędzia wiersza poleceń delserv. Jest to narzędzie dziedzictwo opracowany dla systemu Windows 2000. W obecnych polach Windows XP to zostało zastąpione przez sc opisanym w metodzie 1.

Metoda 3 - ręcznie usunąć wpisy rejestru (Zauważ, że ten panewce w Windows 7/8)

Usługi systemu Windows są rejestrowane pod następującym kluczem rejestru.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 

Wyszukaj podklucz z nazwą usługi pod poleconym kluczem i usuń go. (i może być konieczne ponowne uruchomienie w celu całkowitego usunięcia usługi z listy Usługi)

+21

Metoda 3 wydaje się uruchamiać z powrotem w systemie Windows 7. – rmiesen

+22

Przy metodzie 1 może wystąpić błąd "Określona usługa nie istnieje jako usługa zainstalowana", mimo że widzisz usługę w MMC !!! Wynika to z tego, że wyświetlana nazwa to DisplayName. Możesz wyszukać rzeczywistą nazwę usługi w drzewie HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services i przekazać * to * jako nazwę usługi. – denispyr

+9

Metoda 3 również dla mnie ponownie w Windows 7. Usługa jest już dostępna z opisem ' ' – Zugwalt

136

W wierszu polecenia użyj narzędzia Windows "sc.exe". Uruchomisz coś takiego:

sc delete <service-name> 
+18

Jeśli w nazwie usługi znajduje się spacja, otocz ją podwójnymi cudzysłowami. – geoffc

+1

Dlaczego otrzymuję [SC] OpenService Failed 5: Access is Denied. –

+10

@AdrianEnriquez, uruchamianie programu cmd.exe jako administrator naprawiło to dla mnie. – foldinglettuce

3

Jeśli oryginalne pliki Service .InstallLog i .InstallState nadal znajdują się w folderze, możesz spróbować ponownie zainstalować plik wykonywalny, aby zastąpić pliki, a następnie użyć InstallUtil/u, a następnie odinstaluj program. Jest trochę zawiłe, ale pracowałem w konkretnym przypadku dla mnie.

22

Uwagi dotyczące korzystania "sc delete" w Windows 8:

1) Otwórz okno CMD z podwyższonymi uprawnieniami. [Klawisz Windows-X, aby wywołać menu z opcją; wybierz "Command Prompt (Admin)".]
2) Użyj nazwy w nawiasie z listy w Services [na przykład, użyłem "sc delete gupdate" kiedy, w Usługi, przeczytano "Google Update (gupdate)"]

16

Niektórzy wymieniają odpowiedź jako sc delete. Tak to zrobiłem, ale znalezienie parametru <service-name> zajęło mi trochę czasu.

Polecenie sc query type= service (zauważ, że jest bardzo szczególne z formatowaniem, używaj dokładnie cytatu) wyświetli listę zainstalowanych usług systemu Windows, zmusza się do wypełnienia ich kwalifikowanej nazwy do użycia z poleceniem sc delete <service-name>.

Lista jest dość długa, więc możesz rozważyć wyprowadzenie wyniku do pliku tekstowego (np. >> C:\test.txt), a następnie przeszukiwanie.

Polecenie SERVICE_NAME należy używać z poleceniem .

+2

Zobacz mój komentarz dotyczący zaakceptowanej odpowiedzi. Nazwę usługi można szybko określić, patrząc na arkusz Właściwości usługi w panelu Usługi. – donperk

+1

To było zupełnie niepotrzebne: jeśli pojawią się na liście usług, możesz po prostu otworzyć właściwości usług, które chcesz usunąć z listy usług, * na * liście usług, a pokaże ci nazwę usługi. "Nazwa usługi" wymieniona we właściwościach ma tę samą nazwę usługi. :) – neminem

+0

Tak, wiem, że możesz dostać się do imienia w inny sposób. Dodałem to, ponieważ miałem problem z ustaleniem, które z nazw użyć w poleceniu. Widziałem nazwę wymienioną we właściwościach usługi, ale w tamtym czasie nie wiedziałem, która nazwa była używana w poleceniu.Korzystanie z wiersza poleceń było dobrym sposobem na zrzucenie wszystkich zainstalowanych usług, w tym do usunięcia. Miałem kilka usług, które tego wymagały, więc łatwiej było mi zrzucić całą listę do pliku, więc mogłem dostać się do nich bez szukania w usłudze snap-in. –

10

usunąć Windows usługi za pośrednictwem sekretariatu

bardzo łatwo usunąć usługę z rejestru, jeśli znasz właściwą drogę. Oto jak to zrobiłem:

  1. Run Regedit lub Regedt32

  2. Przejdź do wpisu rejestru "HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services"

  3. Look za usługę że chcesz go usunąć i usunąć. Możesz spojrzeć na klawisze, aby dowiedzieć się, jakie pliki wykorzystała usługa i usunąć je (jeśli to konieczne).

Usuń usługi Windows za pomocą okna poleceń

Alternatywnie, można również użyć wiersza polecenia i usunąć usługę za pomocą następującego polecenia:

sc delete

Można również utwórz usługę, używając następującej komendy:

sc utwórz ścieżkę "MorganTechService" = "C: \ Program Files \ MorganTechSPace \ myservice.exe"

Uwaga: Być może trzeba będzie ponownie uruchomić system, aby zaktualizować listę w Menedżerze usług.

7

Jeśli chcesz użyć narzędzia do niego można użyć Process Hacker

formularz, aby utworzyć usługę:

Process Hacker Create Service

menu kontekstowe na służbie, aby go usunąć:

Process Hacker Delete Service

Uważam, że Process Hacker jest bardziej intuicyjnym narzędziem do zarządzania procesami Windows. d usług niż własny Taskmgr.exe systemu Windows. Zwłaszcza w systemie Windows XP, gdzie nie można uzyskać dostępu do usług w ogóle z menedżera zadań.

4

Potrzebowałem przeinstalować usługę tomcat, co oznaczało, że najpierw ją usunięto.Ten pracował dla mnie:

Start a command prompt window using run as administrator 

sc query type= service >t.txt 

(edytować t.txt plików, przeglądać listę i znajdź usługę tomcat Nazywa Tomcat7.)

sc delete Tomcat7 

Jednak komenda zapytanie nie działał po raz pierwszy, ponieważ usługa tomcat nie była uruchomiona. Wydaje się, że tylko lista usług, które są uruchomione. Musiałem uruchomić usługę i ponownie uruchomić polecenie zapytania.

+0

Jeśli chcesz zobaczyć zatrzymane usługi, użyj parametru 'state'. –

1

można odinstalować usługi Windows przez wierszu polecenia też po prostu napisać ten kawałek polecenia

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 
3

Można spróbować uruchomić Autoruns, które mogłyby zaoszczędzić od konieczności edytowania rejestru ręcznie. Jest to szczególnie przydatne, gdy nie masz wymaganych uprawnień.

0

Etap 1: Przejdź do katalogu, w którym usługa jest obecna

poleceń: cd c: \ XXX \ yyy \ usługa

Etap 2: Wprowadź polecenie poniżej

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

Tutaj service.exe to usługa exe, a \ u odinstaluje usługę. zobaczysz komunikat "Dezinstalacja została zakończona".

Jeśli chcesz zainstalować usługę, usuń \ uw powyższego polecenia, które zainstaluje usługa

+2

PO wyraźnie stwierdził, że oryginalne pliki zostały usunięte. – AFract

0

Odkryliśmy, że nawet jeśli uruchomić sc_delete, nie może być wpis pozostały w rejestrze dla swojej służby, tak ponowne zainstalowanie usługi powoduje uszkodzenie zestawu wpisów rejestru (nie pasują do siebie). To, co zrobiliśmy, to regedit i ręcznie usuwamy ten pozostawiony wpis.

Uwaga: Usługa ShipmunkService wciąż wyświetla się po sc_delete!

Następnie można ponownie zainstalować, a usługa będzie działać poprawnie. Powodzenia dla was wszystkich i niech siła będzie z wami.

0

-Windows+r otwórz cmd.

-sc YourSeviceName ten kod usunie Twoją usługę.

-Uninstal "YourService Path" ten kod odinstalowuje usługę.

Powiązane problemy