特定のQFE/パッチがインストールされていることをc#で判断する最良の方法は何ですか?
4089 次
2 に答える
2
WMIを使用して、Win32_QuickFixEngineering列挙体を検査します。
TechNetから:
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colQuickFixes = objWMIService.ExecQuery _
("Select * from Win32_QuickFixEngineering")
For Each objQuickFix in colQuickFixes
Wscript.Echo "Computer: " & objQuickFix.CSName
Wscript.Echo "Description: " & objQuickFix.Description
Wscript.Echo "Hot Fix ID: " & objQuickFix.HotFixID
Wscript.Echo "Installation Date: " & objQuickFix.InstallDate
Wscript.Echo "Installed By: " & objQuickFix.InstalledBy
Next
HotFixIDはあなたが調べたいものです。
これが私のシステムの出力です:
ホットフィックスID:KB941569 説明:Windows XPのセキュリティアップデート(KB941569) ホットフィックスID:KB937143-IE7 説明:Windows Internet Explorer 7のセキュリティ更新プログラム(KB937143) ホットフィックスID:KB938127-IE7 説明:Windows Internet Explorer 7のセキュリティ更新プログラム(KB938127) ホットフィックスID:KB939653-IE7 説明:Windows Internet Explorer 7のセキュリティ更新プログラム(KB939653) ホットフィックスID:KB942615-IE7 説明:Windows Internet Explorer 7のセキュリティ更新プログラム(KB942615) ホットフィックスID:KB944533-IE7 説明:Windows Internet Explorer 7のセキュリティ更新プログラム(KB944533) ホットフィックスID:KB947864-IE7 説明:Windows Internet Explorer 7のホットフィックス(KB947864) ホットフィックスID:KB950759-IE7 説明:Windows Internet Explorer 7のセキュリティ更新プログラム(KB950759) ホットフィックスID:KB953838-IE7 説明:Windows Internet Explorer 7のセキュリティ更新プログラム(KB953838) ホットフィックスID:MSCompPackV1 説明:WindowsXP用のMicrosoftCompression Client Pack 1.0 ホットフィックスID:KB873339 説明:WindowsXPホットフィックス-KB873339 ホットフィックスID:KB885835 説明:WindowsXPホットフィックス-KB885835 ホットフィックスID:KB885836 説明:WindowsXPホットフィックス-KB885836 ホットフィックスID:KB886185 説明:WindowsXPホットフィックス-KB886185 ホットフィックスID:KB887472 説明:WindowsXPホットフィックス-KB887472 ホットフィックスID:KB888302 説明:WindowsXPホットフィックス-KB888302 ホットフィックスID:KB890046 説明:Windows XPのセキュリティアップデート(KB890046)
于 2008-10-15T15:47:52.547 に答える
1
最も信頼できる方法は、QFE の影響を受けるファイルを特定しSystem.Diagnostics.FileVersionInfo.GetVersionInfo(path)
、各ファイルで使用してバージョン番号を比較することです。
編集: レジストリのアンインストール情報を確認する方法もあると思いますが、QFE がサービス パックまたはロールアップ パッケージの一部になり、誤検知を報告する可能性がある場合
于 2008-09-11T20:58:02.583 に答える