603

サービス ファイルが存在しない場合、.NET Windows サービスをアンインストールするにはどうすればよいですか?

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

 InstallUtil /u

最初。そのため、サービスは引き続きサービス MMC に表示されます。

レジストリに入る必要がありますか? それとももっと良い方法がありますか?

4

15 に答える 15

1185

少なくとも 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

参照されたキーの下のサービス名でサブキーを検索し、それを削除します。(また、サービス リストからサービスを完全に削除するには、再起動が必要になる場合があります)

于 2008-10-13T15:14:12.770 に答える
178

コマンド プロンプトから、Windows の「sc.exe」ユーティリティを使用します。次のように実行します。

sc delete <service-name>
于 2008-10-13T15:00:42.767 に答える
27

Windows 8 で「sc delete」を使用する場合の注意事項:

1) 昇格された権限で CMD ウィンドウを開きます。[オプションでメニューを表示するWindows Key-X; [コマンド プロンプト (管理者)] を選択します。]
2) [サービス] のリストからかっこ内の名前を使用します [たとえば、[サービス] で「Google Update (gupdate)」と表示されている場合、「sc delete gupdate」を使用しました]

于 2013-06-20T16:16:55.933 に答える
24

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

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

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

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

于 2013-09-23T15:11:08.337 に答える
13

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

正しいパスがわかっている場合、レジストリからサービスを削除するのは非常に簡単です。これが私がそれをした方法です:

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

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

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

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

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

sc 削除

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

sc create "MorganTechService" binpath= "C:\Program Files\MorganTechSPace\myservice.exe"

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

于 2013-09-23T16:46:51.133 に答える
3

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

于 2013-02-12T16:54:23.747 に答える
3

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

于 2015-03-25T13:43:49.193 に答える
0

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

注: sc_delete の後も ShipmunkService が表示されます。

その後、再インストールすると、サービスが正しく実行されます。皆様のご多幸をお祈り申し上げます。力があなたとともにありますように。

于 2016-12-08T20:27:59.613 に答える
0

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

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

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

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

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

サービスをインストールする場合は、上記のコマンドで \u を削除すると、サービスがインストールされます

于 2015-12-15T20:39:34.220 に答える
0

コマンドプロンプトで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
于 2015-01-09T07:54:56.350 に答える