サービスファイルが存在しない場合、どうすれば.NET Windowsサービスをアンインストールできますか?
InstallUtilを使用して.NET Windowsサービスをインストールしました。それ以来ファイルを削除しましたが、実行するのを忘れました
InstallUtil /u
最初。そのため、サービスはまだサービスMMCにリストされています。
レジストリにアクセスする必要がありますか?それとももっと良い方法がありますか?
サービスファイルが存在しない場合、どうすれば.NET Windowsサービスをアンインストールできますか?
InstallUtilを使用して.NET Windowsサービスをインストールしました。それ以来ファイルを削除しましたが、実行するのを忘れました
InstallUtil /u
最初。そのため、サービスはまだサービスMMCにリストされています。
レジストリにアクセスする必要がありますか?それとももっと良い方法がありますか?
回答:
少なくとも3つのオプションがあります。使用優先度の高い順に示しました。
方法1-リソースキットに含まれているSCツール(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
参照キーの下にあるサービス名のサブキーを検索して削除します。(サービスをサービスリストから完全に削除するには、再起動が必要になる場合があります)
<Failed to Read Description. Error Code: 2>
コマンドプロンプトから、Windowsの「sc.exe」ユーティリティを使用します。次のように実行します。
sc delete <service-name>
sc delete
答えとして言及する人もいます。これは私がやった方法ですが、<service-name>
パラメータを見つけるのにしばらく時間がかかりました。
コマンドsc query type= service
(フォーマットは非常に特殊で、「サービス」が必要になる前のスペースに注意してください)は、インストールされたWindowsサービスのリストを出力しますsc delete <service-name>
。コマンドで使用する修飾名も含まれています。
リストは非常に長いので、出力をテキストファイル(つまり>> C:\test.txt
)にパイプ処理してから、それを検索することを検討できます。
SERVICE_NAME
で使用する1つであるsc delete <service-name>
コマンド。
sc query
デフォルトでそのまま実行できtype= service
ます。
レジストリ経由でWindowsサービスを削除する
正しいパスを知っている場合、レジストリからサービスを削除するのは非常に簡単です。ここに私がそれをした方法があります:
RegeditまたはRegedt32を実行します。
レジストリエントリ「HKEY_LOCAL_MACHINE / SYSTEM / CurrentControlSet / Services」に移動します。
削除するサービスを探して削除します。キーを見て、サービスが使用していたファイルを確認し、それらを削除することもできます(必要な場合)。
コマンドウィンドウからWindowsサービスを削除する
または、コマンドプロンプトを使用し、次のコマンドを使用してサービスを削除することもできます。
sc削除
次のコマンドを使用してサービスを作成することもできます
sc create "MorganTechService" binpath = "C:\ Program Files \ MorganTechSPace \ myservice.exe"
注:Service Managerでリストを更新するには、システムを再起動する必要がある場合があります。
そのためのツールを使用したい場合は、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サービスを見つけます。Tomcat7と呼ばれます)
sc delete Tomcat7
ただし、tomcatサービスが実行されていなかったため、クエリコマンドは最初は機能しませんでした。実行中のサービスのみが表示されているようです。サービスを開始して、もう一度queryコマンドを実行する必要がありました。
state
パラメータを使用します。
最初のステップ:サービスが存在するディレクトリに移動します
コマンド: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サービスをアンインストールすることもできます。このコマンドを入力するだけです。
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