服务已经存在(当它显然没有)

时间:2011-04-08 18:15:05

标签: c# .net windows-services installer

我正在尝试为我开发的Windows服务创建安装程序。这个安装程序在某个时刻有一个自定义用户界面,这是我第一次做这样的事情,所以我安装和卸载了几次服务,以确保安装程序中的所有内容都是我想要的。

现在我的问题是,当我尝试安装该服务时,它失败并显示错误1001:已存在指定的服务,但该服务在注册表,services.msc控制台或sc query中无处列出

有人能告诉我发生了什么以及如何解决这个问题吗? 谢谢

编辑:感谢您的回复。我重新打开管理控制台并重新启动计算机,但仍然出现错误。更改ProductCode和UpgradeCode也没有解决问题。在注册表中也绝对没有提及该服务。

4 个答案:

答案 0 :(得分:18)

在命令行中运行:

sc delete service_name

必须引用带空格的服务名称。

更新:试试这个:

sc query type= service > services.txt

并验证该服务是否显示为其他名称。

答案 1 :(得分:2)

如果您尝试在服务仍在运行时删除它,则会将其标记为已删除,因此您不会在服务列表中看到它,但任何尝试添加具有相同名称的服务都将失败。简单的解决方案是重启。这种方式Windows在登录前删除了服务,或者您可以从HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services中的Registry中删除它

小心那个

答案 2 :(得分:1)

http://www.winvistatips.com/windows-service-wont-uninstall-t535569.html

您是否已关闭并重新打开管理控制台?重新启动你的comp可能会有所帮助。有时服务会被标记为卸载,并且在上面列出的两件事之一发生之前​​并没有真正完成。

之前发生过这种情况,通常这两件事中的一件就解决了。

答案 3 :(得分:1)

有些时候我们从安装程序安装Windows服务然后也出现问题,就像我们无法卸载。在这里,我将讨论解决此问题的几个步骤,以从“添加/删除”面板中删除安装应用程序条目,然后我们可以再次安装相同的应用程序。

通过Regedit打开注册表并找到程序的卸载密钥,导航到以下子文件夹:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

选择卸载图标,然后按名称开始查找程序。当它出现时,只需从注册表中删除该条目。删除后,程序名称将不会显示在添加/删除中。问题将得到解决,用户可以再次安装相同的应用程序。 我从这个位置 http://eugene2k.hubpages.com/hub/How-to-force-uninstall-a-program 获得了这些提示,我测试了它并且有效。

以下步骤是关于在服务未启动或文件丢失或损坏时如何删除服务。

1-以管理员身份打开cmd

sc delete servicename

2-开放运行>注册,先备份然后浏览

HKEY_LOCAL_MACHINE \ SYSTEM \ CURRENTCONTROLSET \服务

并删除服务密钥

3-删除安装了win服务的文件夹

4-重启机器