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


当前回答

如果您使用的是Windows Vista或以上版本,请以管理员身份在命令提示符下运行此命令:

sc delete [your service name as shown in service.msc e.g moneytransfer]

例如:sc delete moneytransfer

删除文件夹C:\Program Files\BBRTL\ moneytransfer\

找到转账注册表键并删除它们:

 HKEY_CLASSES_ROOT\Installer\Products\
 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\
 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\EventLog\
 HKEY_LOCAL_MACHINE\System\CurrentControlSet002\Services\
 HKEY_LOCAL_MACHINE\System\CurrentControlSet002\Services\EventLog\
 HKEY_LOCAL_MACHINE\Software\Classes\Installer\Assemblies\ [remove .exe references]
 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Folders

这些步骤已经在Windows XP、Windows 7、Windows Vista、Windows Server 2003和Windows Server 2008上进行了测试。

其他回答

下面是传递给我的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

如上所述,我执行:

sc delete ServiceName

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

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

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

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

使用服务。msc或(启动>控制面板>管理工具>服务)以找到有问题的服务。双击查看服务名称和可执行文件的路径。

检查exe版本信息,以找到服务所有者的线索,如果可能的话,使用添加/删除程序进行干净的卸载。

如果做不到,从命令提示符中:

sc stop servicexyz
sc delete servicexyz

不需要重新启动。

Sc删除名称

这在Windows 10上很管用:

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