web-dev-qa-db-ja.com

セキュリティ更新プログラムと修正プログラムのレジストリキーの場所

私のアプリケーションでは、Windowsボックスのセキュリティ更新プログラムと修正プログラムを照会します。このため、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstallを照会しました。Windows2008サーバーとWindows 7以外のOSですべてがうまくいきました...

Windows 2008サーバーマシンでappwiz.cplを実行すると、多くのHotfixとセキュリティアップデートが表示されますが、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstallにはそれらのエントリはありません。 WindowsがWindows 2008サーバーとWindows 7のレジストリの場所を変更したようです。

セキュリティ更新プログラムと修正プログラムの詳細を照会する必要があります。

9
Devloper

Windows 7では、.msuファイル(MSU == Microsoft System Update)を使用して適用されるパッチを導入しました。

1つの方法は、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packagesのキーを列挙し、(文字列)値InstallClient"WindowsUpdateAgent"を確認することです。

明らかに Windows Update Agent API を使用して、レジストリの場所とは関係なくそれを読み取ることができます。

13
0xC0000022L

システムに適用されたセキュリティと修正プログラムに最適な場所は、WMI QFEオブジェクトリスト(WMIC QFE GET)です。これは、6.x以降のすべてのOS(Vista、W2008、Win7)で正確であることが証明されています。 W2003はQFEも提供しますが、エントリは標準のアンインストールリストで重複しています。

4
IronRod