web-dev-qa-db-ja.com

ファイルがもう存在しない場合、どうすればWindowsサービスをアンインストールできますか?

サービスファイルがもう存在しない場合、どうすれば.NET Windowsサービスをアンインストールできますか

InstallUtilを使用して.NET Windowsサービスをインストールしました。私はそれ以来ファイルを削除しましたが、実行するのを忘れました

 InstallUtil /u

最初。そのため、サービスはまだサービスMMCに表示されています。

レジストリに入らなければなりませんか。それとももっと良い方法はありますか?

545

少なくとも3つの選択肢があります。私はそれらを使用順の順に提示しました。

方法1 - リソースキットに含まれている SC tool (Sc.exe)を使用できます。 (Windows 7/8に含まれています)

コマンドプロンプトを開いて入力

sc delete <service-name>

ツールヘルプスニペットは次のとおりです。

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

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

方法2 - delservを使用する

ダウンロード およびdelservコマンドラインユーティリティを使用します。これはWindows 2000用に開発されたレガシツールです。現在のWindow XPボックスでは、これは方法1で説明したscに置き換えられました。

方法3 - 手動でレジストリエントリを削除する (これはWindows 7/8で発生します)

Windowsサービスは、以下のレジストリキーに登録されています。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

参照キーの下にあるサービス名を持つサブキーを検索して削除します。 (そしてサービスリストからサービスを完全に削除するために再起動が必要かもしれません)

1091
Jorge Ferreira

コマンドプロンプトから、Windowsの "sc.exe"ユーティリティを使用します。あなたはこのような何かを走らせるでしょう:

sc delete <service-name>
159
Dean Hill

Windows 8で "sc delete"を使用する際の注意事項

1)管理者特権でCMDウィンドウを開きます。 [Windows Key-Xでオプション付きのメニューを開く。 [コマンドプロンプト(管理者)]を選択してください。
2)サービスの一覧から括弧で囲まれた名前を使用する[たとえば、サービスで "Google Update(gupdate)"と表示されている場合は "sc delete gupdate"を使用しました]

27
Michael

回答としてsc deleteを挙げている人もいます。これが私のやり方ですが、<service-name>パラメーターを見つけるのに少し時間がかかりました。

コマンドsc query type= service(注意、フォーマットには非常に特殊です。 "service"が必要になる前のスペース)は、インストールされているWindowsサービスのリストを、sc delete <service-name>コマンドで使用される修飾名とともに完全に出力します。

リストは非常に長いので、出力をテキストファイル(つまり>> C:\test.txt)にパイプ処理してからそれを検索することを検討してください。

SERVICE_NAMEは、sc delete <service-name>コマンドで使用するものです。

20
Robin French

レジストリからWindowsサービスを削除する

正しいパスを知っていれば、レジストリからサービスを削除するのはとても簡単です。これが私のやり方です。

  1. Regedit または Regedt32 を実行します。

  2. レジストリエントリ "HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services"に移動します。

  3. 削除したいサービスを探して削除します。キーを見て、サービスが使用しているファイルを確認し、必要に応じてそれらを削除することもできます。

コマンドウィンドウでWindowsサービスを削除する

あるいは、コマンドプロンプトを使用して、次のコマンドを使用してサービスを削除することもできます。

sc削除

次のコマンドを使ってサービスを作成することもできます。

sc "MorganTechService" binpath = "C:¥Program Files¥MorganTechSPace¥myservice.exe"を作成します。

注:サービスマネージャでリストを更新するには、システムを再起動する必要があります。

11
kombsh

あなたがそれのためにツールを使いたいならば、あなたは Process Hackerを使用することができます

サービスを作成するためのフォーム

Process Hacker Create Service

削除するサービスのコンテキストメニュー:

Process Hacker Delete Service

Process Hackerは、Windows独自のTaskmgr.exeよりもWindowsプロセスおよびサービスを管理するためのより便利なツールであることがわかりました。特にWindows XPでは、タスクマネージャからサービスにまったくアクセスできません。

9
Mike de Klerk

Tomcatサービスを再インストールする必要がありました。これは、まずそれを削除することを意味していました。これは私のために働いた:

Start a command Prompt window using run as administrator

sc query type= service >t.txt

(ファイルt.txtを編集し、リストを検索してTomcatサービスを見つけます。これはTomcat 7と呼ばれます)

sc delete Tomcat7

しかし、Tomcatサービスが実行されていなかったため、queryコマンドは最初は機能しませんでした。実行中のサービスのみを一覧表示するようです。サービスを開始してqueryコマンドをもう一度実行しなければなりませんでした。

4
user1208639

元のServiceの.InstallLogファイルと.InstallStateファイルがまだフォルダ内にある場合は、実行可能ファイルを再インストールしてファイルを置き換えてから、InstallUtil/uを使用してからプログラムをアンインストールします。それは少し複雑ですが、私にとっては特定のインスタンスで動作しました。

3
ja928

Autoruns を実行すると、レジストリを手動で編集する必要がなくなります。必要な権限がない場合、これは特に便利です。

3
Tan

最初のステップ:あなたのサービスが存在するディレクトリに移動します

コマンド:cd c:\ xxx\yyy\service

第2ステップ:下記のコマンドを入力してください

コマンド:C:\ Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe service.exe\u

ここでservice.exeはあなたのサービスexeで、\ uはサービスをアンインストールします。 「アンインストールが完了しました」というメッセージが表示されます。

サービスをインストールしたい場合は、上記のコマンドでサービスをインストールする\ uを削除してください。

0
Sree

-Windows+r open cmd。

-sc YourSeviceNameこのコードはあなたのサービスを削除します。

-Uninstal "YourService Path"このコードはあなたのサービスをアンインストールします。

0
Ayse Özbek

sc_deleteを実行しても、サービスのレジストリにエントリが残っている可能性があるため、サービスを再インストールするとレジストリエントリのセットが破損する(一致しない)ことがわかりました。私たちがしたことはregeditそしてこの残ったエントリを手で削除することでした。

注:ShipmunkServiceはsc_deleteの後にまだ表示されています。

その後、あなたは再インストールすることができ、あなたのサービスは正しく実行されます。頑張ってください、そして、力はあなたと共にあるかもしれません。

0
barclay

あなたはコマンドプロンプトであなたのWindowsサービスをアンインストールすることもできますまたちょうどコマンドのこの部分を書く

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