“Microsoft.Update.Session”API – 查找更新是否导致重新启动

我知道,如果你经历了挂起的更新,有一个标志(rebootrequired,或类似),会告诉你,如果重新启动是强制性的,不需要,或可能需要。 看起来,在许多更新的元数据中,这被标记为“可能,不确定”,所以不知道更新是否会导致重启。

鉴于Microsoft.Update.Session API,有没有办法检查更新内容,以查看代码本身是否将更改registry设置HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired使窗口知道它需要重新启动?

我假设,即使元数据是“可能”,每个更新中都有一些强制registry标志为“Ping!我需要重启!

或者,还是有一个更可靠的方法来解决如何检查哪些更新需要重新启动?

它说“可能”的原因是因为它真正依赖于情况而且是独特的。

如果Windows安装程序安装在正在使用的文件上,或者软件包明确要求安装程序重新启动,则可能会提示重新启动。 很容易确定Windows安装程序是否安装在正在使用的文件上,因此提示重新启动。 第一步是生成一个详细的日志文件。 在详细日志文件中,查找属性转储中ReplacedInUseFiles属性的存在。 如果此属性值为1,则安装程序将需要重新启动,因为它覆盖了正在使用的文件。