我在C#中创建了一个Windows服务项目,只是一些非常简单的代码。它在我安装服务时起作用,但现在我必须添加一些代码等等,但这导致了一些问题:
1)尝试使用" installutil / u"进行卸载时它说它已被删除,但它仍然在computeradministration的服务列表中。
1a)我尝试用cmd删除它" sc delete ServiceName"将其从列表中删除
2)但是当我安装新版本时它会成功,但是由于某些原因它仍然使用旧版本,并且我很不知所措。
答案 0 :(得分:0)
您只需安装一次。该服务将使用.exe
或sc
注册的installutil
注册。
要替换二进制文件,只需停止服务,将二进制文件替换为“new”,然后重新启动:新服务将运行。
此外,您必须重新启动services.msc
以查看某些服务已被删除(似乎有一些“待删除”标记)。
答案 1 :(得分:0)
如果您的服务正在使用(例如,它正在运行),则在卸载它之后,可能必须在卸载之后重新启动计算机,然后才能完全卸载它。 installutil
和sc
未向您提供有关此内容的任何信息。当服务正在等待删除时,如果您尝试再次安装它,可能会遇到各种问题(这似乎是您遇到的问题)。
确保在卸载服务之前停止服务,以避免重新启动计算机以完成卸载。
如果您只想更新服务的二进制文件,只需停止它并在重新启动服务之前替换可执行文件。