2

特定のQFE/パッチがインストールされていることをc#で判断する最良の方法は何ですか?

4

2 に答える 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 に答える