C#代码,用于查找已安装的所有Office更新

时间:2010-12-25 08:13:08

标签: c# windows windows-installer ms-office wmi

在添加或删除程序时,您可以查看MS Office Outlook的更新/修补程序列表。有没有办法使用c#代码获取此信息。我们尝试了WMI代码

const string query = "SELECT HotFixID FROM Win32_QuickFixEngineering";
var search = new ManagementObjectSearcher(query);
var collection = search.Get();

foreach (ManagementObject quickFix in collection)
    Console.WriteLine(quickFix["HotFixID"].ToString()); 

这仅列出了Windows更新。有没有办法列出办公室组件的更新?(对于Windows XP)

1 个答案:

答案 0 :(得分:1)

我相信您必须使用注册表来获取这些内容。以下注册表项应该有所帮助:

  

@ “SOFTWARE \微软\的Windows \ CurrentVersion \卸载”,   @ “SOFTWARE \ Wow6432Node \微软\的Windows \ CurrentVersion \卸载”

您必须循环使用 HKLM HKCU 配置单元的值,以确保您拥有所有内容。然后,您可以针对每个条目过滤 DisplayName 发布商,以便仅获取MS办公室补丁。

注意您还可以尝试查询Win32_Product类以获取Windows安装程序安装的产品。虽然我经常发现它没有列出你需要的一切(但是它可能足以解决你当前的问题 - 但我现在无法检查)。