无法卸载 Windows 服务:“...无法删除,因为它与日志名称相同。”

Posted

技术标签:

【中文标题】无法卸载 Windows 服务:“...无法删除,因为它与日志名称相同。”【英文标题】:cannot uninstall a windows service: "...cannot be deleted, because it's equal to the log name." 【发布时间】:2011-07-18 05:54:21 【问题描述】:

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

错误。发生异常时 卸载。这个例外将是 忽略,卸载将 继续。然而,申请 之后可能无法完全卸载 卸载完成。 -> 的 事件日志源“111 我的服务” 不能删除,因为相等 到日志名称。

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

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

卸载开始。见 日志文件的内容 C:\MyService.MyService。大会的进展。文件 位于 C:\MyService.MyService.InstallLog。 卸载程序集 'C:\MyService.MyService.exe'。做作的 参数是:logtoconsole = 程序集路径 = C:\MyService.exe 日志文件 = C:\MyService.MyService.InstallLog 删除 EventLog 源 111 我的 服务。期间发生异常 的卸载 System.Diagnostics.EventLogInstaller 安装程序。 System.InvalidOperationException: 事件日志源“111 我的服务” 不能删除,因为相等 到日志名称。发生异常 卸载时。这个例外 将被忽略,卸载将 继续。然而,申请 可能没有完全卸载 l 是 完成。

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

【问题讨论】:

【参考方案1】:

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

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe /u "c:\myservice.exe"

第二个选项是:

sc delete <service name>

运行上面的行后,您可以尝试在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 中删除服务分支。

【讨论】:

sc 确实将其从“服务”列表中删除。然后我删除了 HKEY_LOCAL_MACHINE...SOFTWARE 下的注册表,它被设置为放置。但它仍然以某种方式注册了已安装的版本。 如果有人因为您没有以管理员身份运行开发人员命令提示符/CMD 而最终出现在这里,您需要以管理员身份运行它。 该解决方案对我不起作用。我仍然不得不从注册表中手动删除键 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\MyServiceName【参考方案2】:

The accepted answer 对我不起作用。

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

【讨论】:

【参考方案3】:

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

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

【讨论】:

【参考方案4】:

我遇到了完全相同的问题(selected answer worked 中没有任何内容)。

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

【讨论】:

谢谢!这个对我有用。我不知道“修复”这个东西很有用。 :D

以上是关于无法卸载 Windows 服务:“...无法删除,因为它与日志名称相同。”的主要内容,如果未能解决你的问题,请参考以下文章

软件无法卸载或删除

无法删除数据库副本或卸载邮件服务器

windows配置教程

在 Windows 上卸载 Xamarin

Autodesk License Service在控制面板中无法删除

windows根据文件名找到进程,并杀死进程。