Windows服务不能从Windows 10升级开始

我写了一个windows服务,它在大多数操作系统中起作用并且可以很好地运行。 我已经缩小了Windows 10从Windows 8升级导致的问题,即在服务设置为自动时服务在重新启动时无法启动的问题。 我发现延迟启动确实可行。 想知道是否有人知道完整的从零开始安装和可能指向在这个难以捉摸的问题上缩小的升级之间的细微差别。

如果不起作用,则不会生成日志或事件。 它似乎没有尝试和失败 - 只是没有运行(开始)。


我刚刚遇到了一个安装,它工作正常,操作系统从Win 8升级。似乎有一些不同的依赖。 该服务是针对.Net Framework 4.0 x86编写的。 该服务手动启动就好了。 自动(启动时)启动不起作用。 我即将说它失败 - 但情况并非如此,因为它似乎甚至没有尝试。


我们在Windows 10中遇到类似的问题,其中大多数基于.Net的服务在启动时会失败,但可以稍后手动启动。 出于某种原因,使用.NET编写的服务需要较长的时间才能在Windows 10中启动。默认情况下,如果某个服务需要超过30秒的时间才能启动而不作出响应,则该服务将由Windows终止。 这不是延迟的开始,而是服务在启动后响应的时间增加。

我能够在注册表中将该行为更改为60秒。 去:

HKLM 系统 CurrentControlSet 控制

如果它尚不存在,请创建一个名为“ServicesPipeTimeout”(减引号)的DWORD(32位)密钥。 将其值设置为60000(十进制)。 这与毫秒中的60秒相关。

我甚至创建了一个regfile来自动执行此操作:

Windows注册表编辑器版本5.00

[HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Control]“ServicesPipeTimeout”= dword:0000ea60

只需粘贴到记事本并保存为.reg文件。

这解决了我们在多台机器上的问题。 让我知道这是否有帮助。 不幸的是,我仍然不知道为什么.NET服务需要很长时间才能开始终止。 但是,我觉得这是一个微软的bug,并不一定是我们的用户做错了什么......


我们有一个类似的问题,其中一个服务(.net)在升级到Windows 10后在某些情况下不会自动启动。另外,在更新到Windows版本10.0.10240后,在许多情况下问题已解决; 不是每一种情况。 事件日志中也没有错误。

更新:延迟开始在某些情况下似乎也有效。


我们也有与我们创建的C ++ windows服务相同的问题。 自动启动对大多数人来说工作正常。 但是现在我们有5个实例,客户的服务工作正常,现在不会自动启动。

似乎可行的唯一办法是设置延迟启动,但这不是一个好的选择,因为我们希望立即启动该服务。 我们也尝试添加NetLogon的服务依赖 - 这是行不通的。

另外请注意,这对客户来说工作正常,并且在某些时候(Windows更新也许?)它只是停止自动启动。

客户也能够进入服务并手动启动服务,并且它可以工作。 我会跟随此线程,希望得到比延迟开始更好的解决方案。

链接地址: http://www.djcxy.com/p/88353.html

上一篇: Windows Service not starting on Windows 10 upgrade

下一篇: Laravel login not working in edge and internet explorer