如果.NET Windows服务文件不存在,如何卸载该服务?
我使用InstallUtil安装了. net Windows服务。后来我删除了这些文件,但忘了运行
InstallUtil /u
首先,所以服务仍然列在服务MMC中。
我要去登记吗?还是有更好的办法?
如果.NET Windows服务文件不存在,如何卸载该服务?
我使用InstallUtil安装了. net Windows服务。后来我删除了这些文件,但忘了运行
InstallUtil /u
首先,所以服务仍然列在服务MMC中。
我要去登记吗?还是有更好的办法?
当前回答
很多很棒的答案,这真的帮助了我,但有一件事是缺失的。有提到通过cmd与sc查询类型= service找到服务,但问题是,我正在寻找的服务没有运行,这个命令只显示正在运行的服务(这可能是一个新功能,在OP回答时不存在)。
你必须将服务的状态传递给这样的命令:sc query state= all或sc query state= inactive。没有必要传递type= service,因为这是默认值。
并且,如上所述,将其推到一个文本文件中,以便更容易搜索sc query state= inactive > C:\servicesStopped.txt
来源:https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/sc-query
其他回答
我需要重新安装tomcat服务,这意味着首先要删除它。这招对我很管用:
Start a command prompt window using run as administrator
sc query type= service >t.txt
(编辑文件t.txt,在列表中搜索并找到tomcat服务。它叫Tomcat7
sc delete Tomcat7
但是,查询命令第一次没有工作,因为tomcat服务没有运行。它似乎只列出正在运行的服务。我不得不启动服务并再次运行查询命令。
最简单的方法是使用Sys Internals Autoruns
在管理模式下启动它,然后可以通过删除键删除过时的服务
在以管理员模式运行的命令提示符中,使用Windows的"sc.exe"实用程序。你会运行这样的程序:
sc delete <service-name>
如果服务名有一个或多个空格,则用双引号括起来(h/t @geoffc):
sc delete "<service-name>"
第一步:移动到服务所在的目录
命令:cd c:\xxx\yyy\service
第二步:输入以下命令
C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe service.exe \u .exe
这里service.exe是你的服务exe, \u将卸载服务。 您将看到“卸载已完成”消息。
如果你想安装一个服务,在上面的命令中删除\u将安装你的服务
通过注册表删除Windows服务
如果你知道正确的路径,很容易从注册表中删除服务。以下是我的做法:
执行Regedit或Regedt32 打开注册表项“HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services” 寻找要删除的服务并删除它。您可以查看这些键来了解服务正在使用哪些文件,并在必要时删除它们。
通过命令窗口删除Windows服务
您也可以使用命令提示符删除服务,如下所示:
sc删除
还可以使用以下命令创建服务
sc create "MorganTechService" binpath= "C:\Program Files\MorganTechSPace\myservice.exe"
注意:您可能必须重新启动系统才能在服务管理器中更新列表。