首页 文章

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

提问于
浏览
533

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

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

InstallUtil /u

第一 . 因此,该服务仍然列在服务MMC中 .

我必须进入注册表吗?或者,还有更好的方法?

13 回答

  • 4

    你至少有三个选择 . 我按照使用偏好的顺序展示了它们 .

    Method 1 - 您可以使用Resource Kit中包含的SC tool(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).
    

    Method 2 - 使用delserv

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

    Method 3 - 手动删除注册表项 (Note that this backfires in Windows 7/8)

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

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
    

    在引用键下搜索具有服务名称的子键并将其删除 . (您可能需要重新启动才能从“服务”列表中完全删除该服务)

  • 3

    在命令提示符下,使用Windows“sc.exe”实用程序 . 你会运行这样的东西:

    sc delete <service-name>
    
  • 0

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

    1)使用提升的权限打开CMD窗口 . [Windows Key-X用于显示带有选项的菜单;选择"Command Prompt (Admin)" . ]
    2)使用服务列表中的括号名称[例如,我在服务中使用"sc delete gupdate"时读取"Google Update (gupdate)"]

  • 9

    有人提到 sc delete 作为答案 . 我就是这样做的,但是我花了一些时间来找到 <service-name> 参数 .

    命令 sc query type= service (注意,特别是格式化,"service"之前的空间是必要的)将输出一个安装的Windows服务列表,其中包含与 sc delete <service-name> 命令一起使用的限定名称 .

    列表很长,所以你可以考虑将输出汇总到一个文本文件(即 >> C:\test.txt )然后搜索它 .

    SERVICE_NAME 是与 sc delete <service-name> 命令一起使用的 .

  • 0

    Remove Windows Service via Registry

    如果您知道正确的路径,则很容易从注册表中删除服务 . 我是这样做的:

    • 运行 RegeditRegedt32

    • 转到注册表项“HKEY_LOCAL_MACHINE / SYSTEM / CurrentControlSet / Services”

    • 查找要删除的服务并将其删除 . 您可以查看密钥以了解服务使用的文件,并将其删除(如有必要) .

    Delete Windows Service via Command Window

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

    sc delete

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

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

    注意:您可能必须重新引导系统才能在服务管理器中更新列表 .

  • 11

    如果你想使用它的工具,你可以使用Process Hacker

    表单创建服务:

    Process Hacker Create Service

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

    Process Hacker Delete Service

    我发现Process Hacker是一个比Windows自己的Taskmgr.exe更有效的管理Windows进程和服务的工具 . 特别是在Windows XP上,您无法从任务管理器访问服务 .

  • 26

    我需要重新安装我的tomcat服务,这意味着首先删除它 . 这对我有用:

    Start a command prompt window using run as administrator
    
    sc query type= service >t.txt
    

    (编辑文件t.txt,搜索列表并找到tomcat服务 . 它叫做Tomcat7)

    sc delete Tomcat7
    

    但是,查询命令第一次不起作用,因为tomcat服务没有运行 . 它似乎只列出正在运行的服务 . 我必须启动该服务并再次运行查询命令 .

  • 154

    如果原始Service .InstallLog和.InstallState文件仍在文件夹中,您可以尝试重新安装可执行文件来替换文件,然后使用InstallUtil / u,然后卸载程序 . 这有点令人费解,但在我的特定情况下工作 .

  • 3

    您可以尝试运行Autoruns,这将使您无需手动编辑注册表 . 当您没有所需的权限时,这尤其有用 .

  • 0

    第1步:转到您的服务所在的目录

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

    第二步:输入以下命令

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

    这里service.exe是你的服务exe,\ u将卸载该服务 . 你会看到“卸载已完成”的消息 .

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

  • 1054

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


    注意:ShipmunkService仍在出现之后sc_delete!

    然后您可以重新安装,您的服务将正常运行 . 祝大家好运,也许力量与你同在 .

  • 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
    
  • 18

    -Windows+r 打开cmd .

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

    -Uninstal "YourService Path" 此代码卸载您的服务 .

相关问题