2009-11-16 117 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] 
相关问题