为什么 Windows KB 更新后注册表被清除?

为什么 Windows KB 更新后注册表被清除?

我的 Java 应用程序作为Windows 服务在下面 ”本地系统“用户并使用 Windows 注册表。我注意到,在 Windows 更新和机器重启后,我的密钥存储在HKEY_USERS\S-1-5-18\Software\JavaSoft\Prefs\ 已被删除。以下是来自 Windows 事件日志的一些日志:

清除了配置单元 \Device\HarddiskVolume1\Boot\BCD 中的访问历史记录,更新了 24 个键并创建了 5 个修改页面。
清除了配置单元 \SystemRoot\System32\Config\SOFTWARE 中的访问历史记录,更新了 30655 个键并创建了 6722 个修改页面。清除了配置
单元 \SystemRoot\System32\Config\SAM 中的访问历史记录,更新了 71 个键并创建了 7 个修改页面。清除了配置单元
\SystemRoot\System32\Config\DEFAULT 中的访问历史记录,更新了 185 个键并创建了 26 个修改页面。
清除了配置单元 \SystemRoot\System32\Config\SECURITY 中的访问历史记录,更新了 72 个键并创建了 5 个修改页面。

在具有不同 KB 的 Windows 2012 和 Windows 2016 操作系统中观察到了这一点
还有人遇到过同样的问题吗?有人能解释一下为什么要清除注册表吗?
如果我在注册表中使用不同的路径(例如“HKEY_LOCAL_MACHINE”)会有帮助吗?有什么建议可以避免这种情况吗?

答案1

这是 Windows 每隔几天定期执行的正常注册表清理,或者在 Windows 崩溃后执行。

此活动是 事件 ID:16

每次重大更新后,Windows Update 都会进行非常彻底的注册表清理。某些应用程序在此类更新后需要重新安装,这很正常。

就我而言,每次重大更新后都需要重新安装两个应用程序。总是相同的两个应用程序,无法解释为什么这两个应用程序如此不受 Windows 的欢迎。

如果您的应用也遇到此问题,请尝试更改注册表中存储数据的位置,或将其移动到文件中,以保护其免受 Windows 的侵害。

相关内容