在四节点集群中运行 Windows Server 2019 标准版。在事件查看器 -> Windows 日志 -> 应用程序中有重复条目。
消息为“Windows 安装程序重新配置了产品。”随后是不同的应用程序和产品
此类消息有数百条 - 并且条目组之间没有一致的延迟。
大多数 Microsoft 条目的消息的最后一部分都是“安装成功或错误状态:0”。
问题是 -
- 这些条目应该在那里吗?
- 他们为什么要不断地重新配置软件?
- 我该怎么做才能解决这个可能的问题?
答案1
如果某些产品使用 Win32_Product WMI 类,则这种情况很正常。某些产品(例如 SCCM)具有类似的 WMI 类,可以隐藏 Win32_Product 的功能,但没有这种副作用。
“Win32_product 类未针对查询进行优化。诸如 select * from Win32_Product where (name like 'Sniffer%') 之类的查询需要 WMI 使用 MSI 提供程序枚举所有已安装的产品,然后按顺序解析完整列表以处理 where 子句。此过程还会启动已安装软件包的一致性检查、验证和修复安装。仅具有用户权限的帐户可能会导致应用程序启动延迟和事件 11708 表明安装失败,因为用户帐户可能无法访问相当多的位置。
“Win32reg_AddRemovePrograms 是一种更轻松、更有效的方法,它避免了执行弹性检查的调用,尤其是在锁定环境中。因此,当使用 Win32reg_AddRemovePrograms 时,我们不会调用 msiprov.dll,也不会启动弹性检查。”