In my application i want to query the Security update and Hotfixes on windows box. For this i have queried the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall Everything went well on the OS other than windows 2008 server and windows 7...

When running appwiz.cpl on Windows 2008 server machine it is showing the lot of Hotfixes and security updates but their is no entry for any of them in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall. It seems like windows has changed the registry location for windows 2008 server and Windows 7.

I need to query the details of the Security updates and Hotfixes.

有帮助吗?

解决方案

With Windows 7 they introduced patches that are being applied using .msu files (MSU == Microsoft System Update).

One way is to enumerate the keys on HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages and then check the (string) value InstallClient for the "WindowsUpdateAgent".

You can apparently use the Windows Update Agent API to read it independent of the registry location.

其他提示

The best location I have found for Security and Hotfixes applied to the system is the WMI QFE object list (WMIC QFE GET). This has proven accurate on all 6.x and later OS (Vista, W2008, Win7). W2003 also provides QFE but the entries are duplicated in the standard uninstall list.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top