如果文件不再存在,如何卸载Windows服务?

如果文件不再存在,如何卸载Windows服务?,windows,windows-services,installation,Windows,Windows Services,Installation,如果服务文件不再存在,如何卸载.NET Windows服务 我使用InstallUtil安装了.NET Windows服务。我已经删除了这些文件,但忘记了运行 InstallUtil /u 首先。因此,服务仍然列在服务MMC中 我必须去登记处吗?或者有更好的方法吗?在命令提示符下,使用Windows“sc.exe”实用程序。您将运行以下内容: sc delete <service-name> sc删除 您至少有三个选项。我已经按照使用偏好的顺序介绍了它们 方法1-您可以使用资源

如果服务文件不再存在,如何卸载.NET Windows服务

我使用InstallUtil安装了.NET Windows服务。我已经删除了这些文件,但忘记了运行

 InstallUtil /u
首先。因此,服务仍然列在服务MMC中


我必须去登记处吗?或者有更好的方法吗?

在命令提示符下,使用Windows“sc.exe”实用程序。您将运行以下内容:

sc delete <service-name>
sc删除

您至少有三个选项。我已经按照使用偏好的顺序介绍了它们

方法1-您可以使用资源工具包中包含的(Sc.exe)。 (随Windows 7/8提供)

打开命令提示符并输入

sc delete <service-name>
方法2-使用delserv

并使用delserv命令行实用程序。这是为Windows 2000开发的传统工具。在当前的Windows XP框中,这被方法1中描述的sc取代

方法3-手动删除注册表项(请注意,这在Windows 7/8中会适得其反)

Windows服务在以下注册表项下注册

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

在参考键下搜索具有服务名称的子键并将其删除。(您可能需要重新启动以从服务列表中完全删除服务)

如果原始服务.InstallLog和.InstallState文件仍在文件夹中,您可以尝试重新安装可执行文件以替换文件,然后使用InstallUtil/u,然后卸载程序。这有点复杂,但对我来说在一个特定的实例中工作。

关于在Windows 8中使用“sc delete”的注意事项:

1) 以提升的权限打开CMD窗口。[Windows Key-X以显示带有该选项的菜单;选择“命令提示符(管理)”。]

2) 在服务中使用列表中的括号名称[例如,我在服务中使用“sc delete gupdate”时,它读作“Google Update(gupdate)”。

一些人提到了
sc delete
作为答案。我就是这样做的,但我花了一段时间才找到
参数

命令
sc query type=service
(注意,格式非常特殊,“service”前面的空格是必需的)将输出已安装的Windows服务的列表,以及与
sc delete
命令一起使用的限定名称

这个列表很长,所以您可以考虑将输出管到一个文本文件(即<代码> > C:\Test.txt/COD>),然后搜索它。


服务\u名称
sc delete
命令一起使用。

通过注册表删除Windows服务

如果知道正确的路径,从注册表中删除服务是非常容易的。我是这样做的:

  • 运行RegeditRegedt32

  • 转到注册表项“HKEY\U LOCAL\U MACHINE/SYSTEM/CurrentControlSet/Services”

  • 查找要删除的服务并将其删除。您可以查看密钥以了解服务正在使用的文件,并删除它们(如果需要)

  • 通过命令窗口删除Windows服务

    或者,也可以使用命令提示符并使用以下命令删除服务:

    sc删除

    您还可以使用以下命令创建服务

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


    注意:您可能需要重新启动系统才能在service manager中更新列表。

    如果您希望使用工具,可以使用

    创建服务的窗体:

    要删除服务的上下文菜单:


    我发现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)


    但是,query命令第一次没有工作,因为tomcat服务没有运行。它似乎只列出正在运行的服务。我必须启动服务并再次运行query命令。

    您可以通过命令提示符卸载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
    

    您可以尝试运行,这将使您不必手动编辑注册表。这在您没有所需权限时特别有用。

    第一步:移动到您的服务所在的目录

    命令:cd c:\xxx\yyy\service

    第二步:输入以下命令

    命令:C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe service.exe\u

    此处service.exe是您的服务exe,\u将卸载该服务。 您将看到“卸载已完成”消息


    如果您想安装服务,请在上面的命令中删除\u,该命令将安装您的服务

    我们发现,即使您运行
    sc\u delete
    ,也可能会在注册表中为您的服务保留一个条目,因此重新安装服务会导致一组损坏的注册表条目(它们不匹配)。我们所做的是
    regedit
    并手动删除这个剩余条目

    注意:在sc_删除后,ShipmunkService仍将显示


    然后您可以重新安装,您的服务将正常运行。祝你们好运,愿原力与你们同在。

    -Windows+r
    打开cmd

    -sc YourSeviceName
    此代码删除您的服务


    -uninstall“YourService Path”
    此代码卸载您的服务。

    最简单的方法是使用

    在管理模式下启动,然后您可以通过删除键删除过时的服务

    您是否也停止了se
    sc delete Tomcat7
    
    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