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