C#代码来查找所有安装的Office更新

在添加或删除程序中,您可以查看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)

我相信你将不得不使用注册表来获得这些。 以下注册表项应该有所帮助:

@“SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall”,@“SOFTWARE \ Wow6432Node \ Microsoft \ Windows \ CurrentVersion \ Uninstall”

您将不得不循环HKLMHKCU蜂房的价值,以确保您拥有一切。 然后,您可以在DisplayNamePublisher上筛选每个条目,以便仅获取MS Office修补程序。

请注意,您也可以尝试查询Win32_Product类以获取由Windows安装程序安装的产品。 虽然我经常发现它并没有列出你需要的所有东西(但是对于你目前的问题来说,这可能已经足够了 – 但是我现在无法检查)。