在Windows 7中安装/卸载服务:“错误1001.指定的服务已标记为删除”

时间:2010-11-22 13:16:25

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

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

  

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

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

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

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

修改

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

5 个答案:

答案 0 :(得分:42)

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

答案 1 :(得分:24)

简答

  • 关闭Services.msc
  • 关闭Process Explorer

长答案

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

更新

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

答案 2 :(得分:6)

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

答案 3 :(得分:1)

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

FWIW,结果你可以进入“服务”标签,右键点击有问题的服务,选择“转到流程”,然后根据需要终止。

答案 4 :(得分:0)

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

解决问题的步骤:

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

希望这对你有用。