我有两个旧的服务,我想完全卸载。我该怎么做呢?
单击“开始|运行”,在“打开:”行中输入regedit。单击OK。
导航到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
向下滚动左侧窗格,找到服务名称,右键单击并选择Delete。
重新启动系统。
使用SC命令,像这样(你需要在命令提示符下执行本文中的命令):
SC STOP shortservicename
SC DELETE shortservicename
Note: You need to run the command prompt as an administrator, not just logged in as the administrator, but also with administrative rights. If you get errors above about not having the necessary access rights to stop and/or delete the service, run the command prompt as an administrator. You can do this by searching for the command prompt on your start menu and then right-clicking and selecting "Run as administrator". Note to PowerShell users: sc is aliased to set-content. So sc delete service will actually create a file called delete with the content service. To do this in Powershell, use sc.exe delete service instead
如果需要查找服务的短服务名,使用以下命令生成包含服务列表及其状态的文本文件:
SC QUERY state= all >"C:\Service List.txt"
要获得更简洁的列表,执行以下命令:
SC QUERY state= all | FIND "_NAME"
简短的服务名称将被列在显示名称的上方,如下所示:
SERVICE_NAME: MyService
DISPLAY_NAME: My Special Service
因此要删除该服务:
SC STOP MyService
SC DELETE MyService
使用服务。msc或(启动>控制面板>管理工具>服务)以找到有问题的服务。双击查看服务名称和可执行文件的路径。
检查exe版本信息,以找到服务所有者的线索,如果可能的话,使用添加/删除程序进行干净的卸载。
如果做不到,从命令提示符中:
sc stop servicexyz
sc delete servicexyz
不需要重新启动。
下面是传递给我的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
如果它们是。net创建的服务,您可以使用带有/u开关的installutil.exe 它在。net framework文件夹中 C:\Windows\ Microsoft.NET \ Framework64 \ v2.0.50727
如果您使用的是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上进行了测试。
我们有两种不同的方法
通过注册表删除Windows服务
如果你知道正确的路径,很容易从注册表中删除服务。以下是我的做法:
执行Regedit或Regedt32 打开注册表项“HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services” 寻找要删除的服务并删除它。您可以查看这些键来了解服务正在使用哪些文件,并在必要时删除它们。
通过命令窗口删除Windows服务
您也可以使用命令提示符删除服务,如下所示:
sc删除
还可以使用以下命令创建服务
sc create "MorganTechService" binpath= "C:\Program Files\MorganTechSPace\myservice.exe"
注意:您可能必须重新启动系统才能在服务管理器中更新列表。
在删除服务之前,您应该检查依赖项。
你可以查看一下:
开放服务。找到服务名,切换到“Dependencies”选项卡。
来源:http://www.sysadmit.com/2016/03/windows-eliminar-un-servicio.html
如上所述,我执行:
sc delete ServiceName
然而,这并没有工作,因为我是从PowerShell执行它。
当使用PowerShell时,您必须指定sc.exe的完整路径,因为PowerShell为sc分配了一个默认别名给Set-Content。因为它是一个有效的命令,它实际上并不显示错误消息。
为了解决这个问题,我执行了如下命令:
C:\Windows\System32\sc.exe delete ServiceName
您可以使用我的小型服务列表编辑器实用工具服务管理器
可以选择任意业务>修改>删除。方法立即工作,不需要重新启动。
可执行文件:[下载]
源代码:[下载]
博客文章:[BlogLink]
服务编辑器类:WinServiceUtils.cs