当系统上没有可执行文件时,如何卸载 Windows 服务?我无法运行installutil -u,因为系统上没有可执行文件。我仍然可以在“服务”控制台中看到该服务的条目。
installutil -u
出现这种状态的原因可能是msi包中的一个问题没有正确移除服务,但是一旦服务处于这种状态,我该如何修复呢?
通过在“管理员”命令提示符下运行以下命令,您应该能够使用 sc.exe(我认为它包含在 Windows 资源工具包中)卸载它:
sc.exe delete <service name>
<service name>正如您在服务管理控制台中看到的那样,服务本身的名称在哪里,而不是 exe 的名称。
<service name>
您可以在 System 文件夹中找到 sc.exe,它需要管理员权限才能运行。此 Microsoft 知识库文章中的更多信息。
或者,您可以直接调用DeleteService() api。这种方式稍微复杂一些,因为您需要通过OpenSCManager()等来获取服务控制管理器的句柄,但另一方面,它可以让您更好地控制正在发生的事情。