我们在新计算机上安装了旧版Windows服务。我有安装程序,当我运行它或者从命令提示符使用installutil时,我得到以下内容:
安装阶段发生异常。 System.InvalidOperationException:发生异常 OnAfterInstall ev ent处理程序 System.ServiceProcess.ServiceInstaller。内在的例外 抛出了System.InvalidOperationException并出现以下错误 消息:无法在计算机上启动服务W2MonitorsFileWatcher'。'.. 抛出了内部异常System.ComponentModel.Win32Exception 以下错误消息:由于a,服务未启动 登录失败。
我是以管理员身份从命令提示符运行它。所以我不知道造成这种情况的原因。
有什么想法吗?我有原始的来源,但它已经很久了,并且在旧版本的visual studio中,所以我不愿意从repo中挖出它并尝试重建它,如果有一个简单的解决方案。任何想法欢迎 - 我考虑创建一个虚拟服务并安装它并用我的遗留应用程序替换.exe,你认为这会有用吗?
答案 0 :(得分:1)
这是一个.NET应用程序吗?如果是,您可以使用.DotPeek打开程序集,只需查看OnAfterInstall即可。大多数情况下,该服务正在尝试修改某些内容或使用某些硬编码凭据启动某些内容并且失败。
您可以使用SC Create创建服务,看看是否足够。 SC创建不会运行OnAfterInstall我认为你不应该面对任何错误,但是在OnAfterInstall中它可能需要正确处理服务