我有两个旧的服务,我想完全卸载。我该怎么做呢?


当前回答

我们有两种不同的方法

通过注册表删除Windows服务

如果你知道正确的路径,很容易从注册表中删除服务。以下是我的做法:

执行Regedit或Regedt32 打开注册表项“HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services” 寻找要删除的服务并删除它。您可以查看这些键来了解服务正在使用哪些文件,并在必要时删除它们。

通过命令窗口删除Windows服务

您也可以使用命令提示符删除服务,如下所示:

sc删除

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

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

注意:您可能必须重新启动系统才能在服务管理器中更新列表。

其他回答

如果它们是。net创建的服务,您可以使用带有/u开关的installutil.exe 它在。net framework文件夹中 C:\Windows\ Microsoft.NET \ Framework64 \ v2.0.50727

下面是传递给我的vbs脚本:

Set servicelist = GetObject("winmgmts:").InstancesOf ("Win32_Service")

for each service in servicelist
    sname = lcase(service.name)
    If sname = "NameOfMyService" Then 
        msgbox(sname)
        service.delete ' the internal name of your service
    end if
next

这在Windows 10上很管用:

以管理员身份启动cmd.exe 运行SC DELETE "com.docker.service" 重新安装码头工人

您可以使用我的小型服务列表编辑器实用工具服务管理器

可以选择任意业务>修改>删除。方法立即工作,不需要重新启动。

可执行文件:[下载]

源代码:[下载]

博客文章:[BlogLink]

服务编辑器类:WinServiceUtils.cs

如上所述,我执行:

sc delete ServiceName

然而,这并没有工作,因为我是从PowerShell执行它。

当使用PowerShell时,您必须指定sc.exe的完整路径,因为PowerShell为sc分配了一个默认别名给Set-Content。因为它是一个有效的命令,它实际上并不显示错误消息。

为了解决这个问题,我执行了如下命令:

C:\Windows\System32\sc.exe delete ServiceName