本文可帮助修复使用 WMIFilter 的组策略或已安装的应用程序查询 Win32_Product 类时出现的系统启动速度缓慢或登录速度缓慢的问题。
原始 KB 数: 974524
症状
可能会遇到系统启动缓慢或登录速度缓慢的问题。 此外,可能会在应用程序事件日志中看到以下事件:
日志名称: 应用程序 来源:MsiInstaller 日期:mmddyyy hh:mm:ss 事件 ID:1035 任务类别:无 级别:信息 关键字:经典 用户: 系统 计算机: 说明: Windows Installer 重新配置了产品。 产品名称: <ProductName>。 产品版本: <VersionNumber>。 产品语言: <languageID>。 重新配置成功或错误状态:0。
你将在计算机上安装的每个应用程序看到此事件。
系统事件日志将显示 Windows Installer 服务正在自动启动和停止。
事件类型:信息 事件源:服务控制管理器 事件类别: 无 事件 ID:7035 日期:mmddyyy 时间:hh:mm:ss 用户:NT AUTHORITY\SYSTEM 计算机: <ComputerName> 说明: Windows Installer 服务已成功发送启动控件。 有关详细信息,请参阅“帮助和支持中心”。<
http://go.microsoft.com/fwlink/events.asp>
事件类型:信息 事件源:服务控制管理器 事件类别: 无 事件 ID:7036 日期:mmddyyy 时间:hh:mm:ss 用户:无 计算机: <ComputerName> 说明: Windows Installer 服务进入停止状态。 有关详细信息,请参阅“帮助和支持中心”。<
http://go.microsoft.com/fwlink/events.asp>
原因
如果满足以下条件之一,则可能会出现此问题:
- 具有查询类的 WMIFilter 的
Win32_Product组策略。 - 已在查询
Win32_Product类的计算机上安装了一个应用程序。
解决方法
如果对查询 Win32_Product的 WMIFilter 使用组策略,请修改要使用的 Win32reg_AddRemovePrograms筛选器。
如果你有使用上一个类的应用程序,请联系供应商以获取不使用此类的更新版本。
若要缩小导致问题的应用程序范围,可以遵循 “清理启动 故障排除”方法。
注意
使用 Win32Reg_AddRemovePrograms 需要安装 System Center Configuration Manager (SCCM) 客户端。 如果未安装 SCCM,请改用 StdRegProv 类。
详细信息
Win32_product 类未优化查询。 查询(例如 select * from Win32_Product where (name like 'Sniffer%') ,要求 WMI 使用 MSI 提供程序枚举所有已安装的产品),然后按顺序分析完整列表来处理 where 子句。 此过程还会开始对已安装的包进行一致性检查、验证和修复安装。 只有用户权限的帐户可能会导致应用程序启动延迟,并且事件 11708 指出安装失败,因为用户帐户可能无法访问相当多的位置。
Win32reg_AddRemovePrograms 是一种更轻和有效的方法,可避免调用执行复原检查,尤其是在锁定的环境中。 因此,使用 Win32reg_AddRemovePrograms时,我们不会调用msiprov.dll,也不会启动复原检查。