【问题标题】:Installing windows service fails: service already exists安装windows服务失败:服务已经存在
【发布时间】:2011-11-26 03:35:27
【问题描述】:

我正在尝试重新安装我使用 C# 编写的服务。 这是第一次奏效。我使用 installutil 来处理安装,该服务出现在服务列表中,我可以启动它。 然后我对代码进行了一些更新并卸载了该服务。在弄清楚我必须关闭服务窗口后,该服务似乎消失了(即成功卸载)。 但是,在尝试再次安装该服务时,我收到消息说:

System.ComponentModel.Win32Exception: The specified service already exists

这看起来很奇怪,因为我在服务窗口中看不到它。我终于认为我在删除有关我的服务的注册表项后发现了问题,但不幸的是这并没有解决任何问题。

此外,再次卸载并不能解决问题,因为这会导致相互矛盾的消息:

System.ComponentModel.Win32Exception: The specified service does not exist as an installed service

我应该相信什么?服务存在还是不存在?我感觉自己就像一个试图弄清楚猫是死是活的物理学家。我希望这里有人知道一些东西来帮助解决这个问题。

【问题讨论】:

    标签: c# windows-services installutil


    【解决方案1】:

    一个相关的 SO 答案终于为我指明了正确的方向(为什么我没有在 Google 或 SO 自己的搜索中找到它,我不知道)。 无论如何,显然由 Visual Studio 生成的 Designer.cs 也创建了一个进程和服务安装程序。哪个当然会安装与我手动创建的安装程序同名的服务。 删除我自己的安装程序解决了这个问题。

    【讨论】:

    • 接受您自己的答案,如果它正确回答了您的问题(即解决了您的问题)。
    • 伯纳德,我会这样做,但我要等两天后才能做到。
    • 这有完美的解决方案:stackoverflow.com/questions/8516701/…
    【解决方案2】:

    实际问题是您在代码中多次添加了 serviceProcessInstaller 和 serviceInstaller 的对象.. 它应该只添加一次..

    打开projectinstaller的designer.cs文件,你会看到它已经被添加进去了……

    【讨论】:

    • 这是正确的,只是您需要打开 ProjectInstaller 文件,您可以在设计模式下轻松检查和编辑该文件。项目安装程序是使用服务设计视图中的 AddInstaller 选项创建的。
    【解决方案3】:

    我也遇到了同样的错误,所以要解决,我所做的是:

    • 从解决方案资源管理器中打开 ProjectInstaller.cs
    • 如果有代码视图,则右键单击进入视图设计器模式

    除了 defaults 2,您将看到一个新的安装程序,即 serviceprocessInstaller1ServiceInstaller1

    只需删除自动生成的安装程序。现在构建并安装,它将工作。

    【讨论】:

      【解决方案4】:

      检查服务安装程序中的服务名称属性。

      【讨论】:

        【解决方案5】:

        我已经尝试了上面提到的所有解决方案。但是我的服务在注册表中安装了一些不同的名称。因此,请尝试删除该注册表。

        在注册表中打开下面的链接

        Hkey_Local_Macine>System>CurrentControlSet>Service>
        

        但我没有在这条路径下找到我的服务。所以我试图在注册表中找到它。只需按 ctrl + F 并给出您的服务名称。或一些猜测名称。你会得到确切的位置。

        删除即可。它会起作用的。

        【讨论】:

          【解决方案6】:

          如果设计器中已经存在同一行,则需要删除“Me.Installers.AddRange(New System.Configuration.Install.Installer() {Me.ServiceInstaller1, Me.ServiceProcessInstaller1})”行,然后它将被安装。

          ServiceProcessInstaller1 是我项目中的名称。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-06-15
            • 1970-01-01
            • 1970-01-01
            • 2014-06-14
            • 2016-11-08
            • 1970-01-01
            相关资源
            最近更新 更多