サービスファイルがもう存在しない場合、どうすれば.NET Windowsサービスをアンインストールできますか
InstallUtilを使用して.NET Windowsサービスをインストールしました。私はそれ以来ファイルを削除しましたが、実行するのを忘れました
InstallUtil /u
最初。そのため、サービスはまだサービスMMCに表示されています。
レジストリに入らなければなりませんか。それとももっと良い方法はありますか?
少なくとも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
参照キーの下にあるサービス名を持つサブキーを検索して削除します。 (そしてサービスリストからサービスを完全に削除するために再起動が必要かもしれません)
コマンドプロンプトから、Windowsの "sc.exe"ユーティリティを使用します。あなたはこのような何かを走らせるでしょう:
sc delete <service-name>
Windows 8で "sc delete"を使用する際の注意事項
1)管理者特権でCMDウィンドウを開きます。 [Windows Key-Xでオプション付きのメニューを開く。 [コマンドプロンプト(管理者)]を選択してください。
2)サービスの一覧から括弧で囲まれた名前を使用する[たとえば、サービスで "Google Update(gupdate)"と表示されている場合は "sc delete gupdate"を使用しました]
回答としてsc delete
を挙げている人もいます。これが私のやり方ですが、<service-name>
パラメーターを見つけるのに少し時間がかかりました。
コマンドsc query type= service
(注意、フォーマットには非常に特殊です。 "service"が必要になる前のスペース)は、インストールされているWindowsサービスのリストを、sc delete <service-name>
コマンドで使用される修飾名とともに完全に出力します。
リストは非常に長いので、出力をテキストファイル(つまり>> C:\test.txt
)にパイプ処理してからそれを検索することを検討してください。
SERVICE_NAME
は、sc delete <service-name>
コマンドで使用するものです。
レジストリからWindowsサービスを削除する
正しいパスを知っていれば、レジストリからサービスを削除するのはとても簡単です。これが私のやり方です。
Regedit または Regedt32 を実行します。
レジストリエントリ "HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services"に移動します。
削除したいサービスを探して削除します。キーを見て、サービスが使用しているファイルを確認し、必要に応じてそれらを削除することもできます。
コマンドウィンドウでWindowsサービスを削除する
あるいは、コマンドプロンプトを使用して、次のコマンドを使用してサービスを削除することもできます。
sc削除
次のコマンドを使ってサービスを作成することもできます。
sc "MorganTechService" binpath = "C:¥Program Files¥MorganTechSPace¥myservice.exe"を作成します。
注:サービスマネージャでリストを更新するには、システムを再起動する必要があります。
あなたがそれのためにツールを使いたいならば、あなたは Process Hackerを使用することができます
サービスを作成するためのフォーム
削除するサービスのコンテキストメニュー:
Process Hackerは、Windows独自のTaskmgr.exeよりもWindowsプロセスおよびサービスを管理するためのより便利なツールであることがわかりました。特にWindows XPでは、タスクマネージャからサービスにまったくアクセスできません。
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コマンドをもう一度実行しなければなりませんでした。
元のServiceの.InstallLogファイルと.InstallStateファイルがまだフォルダ内にある場合は、実行可能ファイルを再インストールしてファイルを置き換えてから、InstallUtil/uを使用してからプログラムをアンインストールします。それは少し複雑ですが、私にとっては特定のインスタンスで動作しました。
Autoruns を実行すると、レジストリを手動で編集する必要がなくなります。必要な権限がない場合、これは特に便利です。
最初のステップ:あなたのサービスが存在するディレクトリに移動します
コマンド:cd c:\ xxx\yyy\service
第2ステップ:下記のコマンドを入力してください
コマンド:C:\ Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe service.exe\u
ここでservice.exeはあなたのサービスexeで、\ uはサービスをアンインストールします。 「アンインストールが完了しました」というメッセージが表示されます。
サービスをインストールしたい場合は、上記のコマンドでサービスをインストールする\ uを削除してください。
-Windows+r
open cmd。
-sc YourSeviceName
このコードはあなたのサービスを削除します。
-Uninstal "YourService Path"
このコードはあなたのサービスをアンインストールします。
あなたはコマンドプロンプトであなたの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