【问题标题】:Removing/installing a Windows Service删除/安装 Windows 服务
【发布时间】:2019-02-13 05:33:55
【问题描述】:

我用 C# 创建了一个 Windows 服务项目,只是一些非常简单的代码。当我安装服务时它工作了,但现在我必须添加一些代码等等,但这导致了一些问题:

1) 当尝试使用“installutil /u”卸载时,它说它已被删除,但它仍在计算机管理的服务列表中。

1a) 我尝试使用 cmd 使用“sc delete ServiceName”将其从列表中删除

2)但是当我安装新版本时它成功了,但是由于某种原因它仍然使用旧版本,我有点不知所措。

【问题讨论】:

  • Wix 在其中扮演什么角色?也许你可以发布一些代码?
  • 既然你已经标记了这个Wix,你为什么要玩命令行工具而不是使用serviceInstaller
  • 是的,这不是我想的,因为我只需要在创建安装程序时在控制面板中将其卸载 -.- 很抱歉

标签: c# windows-services


【解决方案1】:

您只需安装一次。该服务将注册到您使用scinstallutil 注册的.exe

要替换二进制文件,只需停止服务,将二进制文件替换为“新”二进制文件并重新启动:新服务将运行。

此外,您必须重新启动 services.msc 才能看到某些服务已被删除(似乎有一些“待删除”标志)。

【讨论】:

    【解决方案2】:

    如果您的服务在卸载时正在使用(例如,它正在运行),您可能需要在卸载后重新启动计算机,然后才能将其完全卸载。 installutilsc 不会向您提供有关此的任何信息。当一项服务等待删除时,如果您尝试再次安装它,您可能会遇到各种问题(这似乎是您遇到的问题)。

    确保在卸载服务之前停止服务,以避免必须重新启动计算机才能完成卸载。

    如果您只想更新服务的二进制文件,您可以简单地停止它并在重新启动服务之前替换可执行文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多