用于安全更新和修补程序的注册表项位置

时间:2011-02-24 09:47:42

标签: windows registry arp

在我的应用程序中,我想查询Windows上的安全更新和修补程序框。 为此,我查询HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall除了Windows 2008服务器和Windows 7之外,操作系统上的一切都很顺利......

在Windows 2008服务器计算机上运行appwiz.cpl时,它显示了大量的修补程序和安全更新,但它们在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall中没有任何条目。看起来Windows已经改变了Windows 2008服务器和Windows 7的注册表位置。

我需要查询安全更新和修补程序的详细信息。

2 个答案:

答案 0 :(得分:12)

在Windows 7中,他们引入了使用.msu文件(MSU == Microsoft System Update)应用的补丁。

一种方法是枚举HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages上的键,然后检查InstallClient的(字符串)值"WindowsUpdateAgent"

您显然可以使用Windows Update Agent API独立于注册表位置来阅读它。

答案 1 :(得分:4)

我发现应用于系统的安全性和修补程序的最佳位置是WMI QFE对象列表(WMIC QFE GET)。这已经证明在所有6.x及更高版本的操作系统(Vista,W2008,Win7)上都是准确的。 W2003还提供QFE,但条目在标准卸载列表中重复。