C# 无法卸载windows服务:“quot;。。。无法删除,因为它';s等于日志名;

C# 无法卸载windows服务:“quot;。。。无法删除,因为它';s等于日志名;,c#,uninstallation,C#,Uninstallation,我需要卸载我创建的Windows服务,但使用Windows中的“卸载或更改程序”程序时出现此错误: 错误。执行此操作时发生异常 卸载。此例外情况将被删除 已忽略,将卸载 继续。然而,应用程序 之后可能无法完全卸载 卸载已完成。->这个 事件日志源“111我的服务” 无法删除,因为它是相等的 添加到日志名 然后单击“确定”,程序仍在已安装程序列表中列出。更糟糕的是,我无法安装它的新版本。windows安装程序说此产品的另一个版本已经安装,我应该先卸载它。我如何摆脱这个程序 更新下面是我在其上运行I

我需要卸载我创建的Windows服务,但使用Windows中的“卸载或更改程序”程序时出现此错误:

错误。执行此操作时发生异常 卸载。此例外情况将被删除 已忽略,将卸载 继续。然而,应用程序 之后可能无法完全卸载 卸载已完成。->这个 事件日志源“111我的服务” 无法删除,因为它是相等的 添加到日志名

然后单击“确定”,程序仍在已安装程序列表中列出。更糟糕的是,我无法安装它的新版本。windows安装程序说此产品的另一个版本已经安装,我应该先卸载它。我如何摆脱这个程序

更新下面是我在其上运行InstallUtil.exe/u命令时发生的情况

卸载正在开始。见 服务器的日志文件的内容 C:\MyService.MyService。大会的进展。档案 位于 C:\MyService.MyService.InstallLog。 卸载程序集 'C:\MyService.MyService.exe'。影响 参数为:logtoconsole=
assemblypath=C:\MyService.exe
日志文件= C:\MyService.MyService.InstallLog 正在删除我的事件日志源111 服务期间发生异常 卸载 System.Diagnostics.EventLogInstaller 安装程序。 System.InvalidOperationException:异常 事件日志源“111我的服务” 无法删除,因为它是相等的 添加到日志名。发生异常 卸载时。这个例外 将被忽略,卸载将被取消 继续。然而,应用程序 可能无法完全卸载l 完成

卸载已完成。一 卸载时发生异常。 此异常将被忽略,并且 卸载将继续。但是, 应用程序可能不完全可用 卸载l已完成


尝试在cmd中执行下一个命令:

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe /u "c:\myservice.exe"
第二种选择是:

sc delete <service name>
sc删除

在运行上面的行之后,您可以尝试在
HKEY\U LOCAL\U MACHINE\SYSTEM\CurrentControlSet\Services

中删除服务分支,这发生在我身上,上面的解决方案在您运行InstallUtil.exe或删除服务的地方不起作用。我最初使用“LocalSystem”安全上下文设置了我的服务,并使用该上下文进行了安装。我后来将安全上下文更改为“User”,重新编译服务可执行文件,并尝试卸载旧服务。出现了这里描述的错误消息,一旦我将安全上下文更改回“LocalSystem”,我就可以完全卸载

换句话说,您可能希望使用创建旧服务时使用的可执行文件卸载旧服务,而不是经过可能修改的新服务。

对我不起作用


有效的方法是在管理员模式下打开regedit,找到服务并将其删除。

我遇到了完全相同的问题(并且没有任何问题)


令人惊讶的是,解决问题的方法是(使用标准的“卸载或更改程序”或“程序和功能”windows对话框)右键单击程序并选择“修复”(这显然是成功的),然后卸载。

sc确实将其从“服务”列表中删除。然后我删除了HKEY_LOCAL_机器下的注册表…它设置为放置的软件。但它仍然以某种方式注册安装了一个版本。如果有人因为您没有以管理员身份运行Developer命令提示符/CMD而出现在这里,您需要以管理员身份运行它。解决方案对我不起作用。我仍然需要手动从注册表中删除注册表项
HKEY\U LOCAL\U MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\MyServiceName
。谢谢!它对我有用。我不知道“修理”这个东西有用D