サービス ファイルが存在しない場合、.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
参照されたキーの下のサービス名でサブキーを検索し、それを削除します。(また、サービス リストからサービスを完全に削除するには、再起動が必要になる場合があります)
コマンド プロンプトから、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
(フォーマットに非常に特殊であることに注意してください。「サービス」の前のスペースが必要です) は、インストールされている 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 create "MorganTechService" binpath= "C:\Program Files\MorganTechSPace\myservice.exe"
注: サービス マネージャーでリストを更新するには、システムを再起動する必要がある場合があります。
元の 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サービスをアンインストールすることも、このコマンドを書くだけです
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