0

我们有一个旧版 Windows 服务,我正在新计算机上安装它。我有安装程序,当我运行它或从命令提示符使用 installutil 时,我得到以下信息:

安装阶段发生异常。System.InvalidOperationException:System.ServiceProcess.ServiceInstaller 的 OnAfterInstall 事件处理程序发生异常。引发内部异常 System.InvalidOperationException 并显示以下错误消息:无法在计算机“.”上启动服务 W2MonitorsFileWatcher .. 引发内部异常 System.ComponentModel.Win32Exception 并显示以下错误消息:服务未启动,原因是登录失败。

我以管理员身份从命令提示符运行它。所以我不知道是什么原因造成的。

有任何想法吗?我有原始来源,但它已有多年历史,并且在旧版本的 Visual Studio 中,所以如果有简单的解决方案,我不愿意从 repo 中挖掘它并尝试重建它。欢迎任何想法 - 我考虑创建一个虚拟服务并安装它并用我的旧应用程序替换 .exe,你认为这可行吗?

4

1 回答 1

1

这是一个 .NET 应用程序吗?如果是,您可以使用 .DotPeek 打开程序集并查看 OnAfterInstall。大多数情况下,该服务正在尝试修改某些内容或使用某些硬编码凭据启动某些内容并且失败了。

您可以只使用 SC Create 来创建服务并查看是否足够。我认为 SC create 不会运行 OnAfterInstall,因此您不应该遇到任何错误,但可能需要它在 OnAfterInstall 中的作用才能正确处理该服务

于 2015-03-24T16:27:59.337 回答