2009-11-16 53 views
1

我正在開發Windows 7支持。在我的應用程序中,我想收集已安裝的更新和補丁。目前我正在從WIn32_QuickFixEngineering收集它。但它不提供InstalledSDate,Description的信息。在Windows 7上安裝更新和修補程序信息的註冊表項

我需要從註冊表或API(C++應用程序)得到這個。在其他操作系統,如XP,2K3註冊表項爲 - HKEY_LOCAL_MACHINE \ SOFTWARE \微軟\的Windows NT \ CURRENTVERSION \修復 HKEY_LOCAL_MACHINE \ SOFTWARE \微軟\更新

但這些都沒有出現在Windows 7

任何一個可以給這個想法..

回答

2

我也試圖找出其中的「修補程序」註冊表項搬到了。

我在Windows 7上設置一個調試符號服務器當我在下面從書Debugging Applications for Microsoft ... Windows (by John Robbins)指示,我得到錯誤「無法枚舉熱修復鍵」從一塊的VBScript代碼,羅賓斯先生建議。

我意識到,VBS代碼找了reg關鍵SOFTWARE \微軟\的Windows NT \ CURRENTVERSION \修補程序,這是不存在在Windows 7

在尋找替代密鑰(或任何其他可替代),我在這裏找到了一些有用的信息:對CNET論壇顯示http://forums.cnet.com/5208-12546_102-0.html?threadID=327588

的命令是在我的情況下,一個可行的替代品:在cmd.exe的提示中顯示

wmic qfe list full 

C:\Users\All Users>wmic qfe list full 
1

不確定這是否是您的問題:QFE的InstallOn屬性有時存儲爲64位十六進制時間戳。要將其用作日期: 首先檢查它是否是十六進制值。如果不是,它可能是一個正常的日期值。 然後,(在C#)使用此將其轉換爲一個DateTime: DateTime.FromFileTimeUtc(Int64.Parse(<InstallOn>, System.Globalization.NumberStyles.AllowHexSpecifier));

1

嘗試尋找這裏:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages] 
相關問題