In meiner Anwendung möchte ich das Fenster Sicherheitsupdate und Hotfixes für Windows abfragen.
Dafür habe ich die HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
abgefragt. Alles lief gut auf dem Betriebssystem anders als Windows 2008 Server und Windows 7 ...
Bei der Ausführung von appwiz.cpl
auf dem Windows 2008 Server-Computer werden die vielen Hotfixes und Sicherheitsupdates angezeigt, aber für sie ist kein Eintrag in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
vorhanden. Es scheint, als ob Windows den Registrierungsspeicher für Windows 2008 Server und Windows 7 geändert hat.
Ich muss die Details der Sicherheitsupdates und Hotfixes abfragen.
Mit Windows 7 haben sie Patches eingeführt, die mit MSU-Dateien (MSU == Microsoft System Update) angewendet werden.
Eine Möglichkeit besteht darin, die Schlüssel in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages
aufzuzählen und dann den (Zeichenfolgen-) Wert InstallClient
für "WindowsUpdateAgent"
zu prüfen.
Sie können die Windows Update-Agent-API offenbar zum Lesen verwenden unabhängig vom Speicherort der Registrierung.
Der beste Speicherort für Sicherheit und Hotfixes, der auf das System angewendet wurde, ist die WMI QFE-Objektliste (WMIC QFE GET). Dies hat sich auf allen Betriebssystemen ab Version 6.x (Vista, W2008, Win7) bewährt. W2003 bietet auch QFE, aber die Einträge sind in der Standard-Deinstallationsliste doppelt vorhanden.