【问题标题】:Installing/Uninstalling Services in Windows 7: "Error 1001. The specified service has been marked for deletion"在 Windows 7 中安装/卸载服务:“错误 1001。指定的服务已被标记为删除”
【发布时间】:2011-05-13 20:16:54
【问题描述】:

我目前正在.NET 4.0、Visual Studio 2010、Windows 7-32bit 中开发 Windows 服务。我有一个为我安装的安装程序项目。当我安装服务,卸载它并尝试重新安装时,我收到以下错误:

错误 1001。指定的服务已被标记为删除

在 Windows XP 中,问题在于 Services.msc 已打开。关闭此窗口将解决此问题。

但是,对于 Windows 7,我可以解决此问题的唯一方法是重新启动。我尝试关闭所有程序,但问题仍然存在。

有人知道如何在不重新启动的情况下解决此问题吗?

编辑

自从我停止使用 MSI 安装程序后,我没有看到这个问题,而是使用 sc.exe 手动安装服务。 我认为这个问题可能与 Visual Studio 2010 和 MSI 安装程序项目的组合有关。但是,我仍然不知道这个问题的罪魁祸首是什么。 原来是Process Explorer才是罪魁祸首。

【问题讨论】:

  • 使用Taskmgr.exe,进程选项卡并开始一个一个地杀死进程,直到找到仍然打开注册表项的那个。
  • 我已停止使用 MSI 安装服务,而是使用 sc.exe 手动安装。从那以后,我没有遇到过这个问题。看来这个问题可能与 MSI 项目有关,也可能与 Visual Studio 有关。
  • 是的,它的服务资源管理器 (services.msc) 搞砸了。

标签: .net windows-7 windows-services windows-installer


【解决方案1】:

我在 Windows 7 Ultimate 版本上遇到了同样的问题。关闭 Services.msc 窗口后安装服务解决了我的问题。

【讨论】:

    【解决方案2】:

    简答

    • 关闭 Services.msc
    • 关闭进程浏览器

    长答案

    再次遇到此问题后,我去了任务管理器并开始关闭进程。我最终找到了罪魁祸首,它是一个用于管理软件分发的内部公司应用程序。我把它关了,服务终于没了。

    更新

    我还发现有时需要关闭 Process Explorer 才能使已删除的服务消失。

    【讨论】:

    • 很好,但这并不意味着在另一台目标机器上它不会射击...我强烈建议您考虑 Christopher 的建议。
    • 我不再使用 MSI 安装程序。我现在在脚本中使用 sc.exe 安装服务。
    • Process Explorer 是我的罪魁祸首。
    • 呃。同样在这里。为什么,ProcessExplorer,为什么为什么为什么?!?!?!?
    【解决方案3】:

    您是否考虑过使用其他 MSI 创作工具,例如 Windows Installer XML?优点是它不会隐藏 Windows Installer 的底层 ServiceInstall / ServiceControl 面板,使您免于使用脆弱的进程外 InstallUtil 代码重新发明轮子的痛苦。

    【讨论】:

    • 感谢您的建议。目前,我的需求非常简单,所以我可以使用 VS 附带的 Installer Project。我只是被这个烦人的问题困住了。目前,我正在通过使用 InstallUtil.exe 手动安装和卸载来解决此问题。
    • 如果您厌倦了 1001 错误消息(即使在静默安装期间),请随时与我联系。我有 14 年编写安装程序的经验,我可以权威地说 InstallUtil 很糟糕。用于编写 ServiceInstall 和 ServiceControl 表的构建后脚本将是一个更好的解决方案。
    • +1。应该说是我自己掉进了这个坑里。当我在安装中依赖 InstallUtil 时,70% 的报告问题都与它的错误有关。而且我只能复制和排除其中的几个问题......
    【解决方案4】:

    我刚刚在 Windows 7 中自己解决了这个问题。

    FWIW,原来您可以转到“服务”选项卡,右键单击有问题的服务,选择“转到进程”,然后根据需要终止。

    【讨论】:

      【解决方案5】:

      我的部署服务器上的 Windows 服务遇到了同样的问题。

      解决问题的步骤:

      • 转到 Windows 中的安装/卸载向导
      • 点击修复(这将触发设置的自定义操作)
      • 修复后尝试卸载该 Windows 服务
      • 它将完美卸载

      希望这对你有用。

      【讨论】:

        猜你喜欢
        • 2016-12-30
        • 2013-12-31
        • 2016-01-22
        • 2013-01-04
        • 1970-01-01
        • 1970-01-01
        • 2012-11-16
        • 2012-04-11
        • 1970-01-01
        相关资源
        最近更新 更多