Код C #, чтобы найти все установленные обновления для офиса - PullRequest
3 голосов
/ 25 декабря 2010

В добавлении или удалении программ вы можете просматривать список обновлений / патчей для 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 Ответ

1 голос
/ 25 декабря 2010

Я полагаю, вам придется использовать реестр, чтобы получить их.Должны помочь следующие ключи реестра:

@ "ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ Microsoft \ Windows \ CurrentVersion \ Uninstall", @ "ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ Wow6432Node \ Microsoft \ Windows \ CurrentVersion \ Uninstall"

Вам придется зациклить оба значения для ульев HKLM и HKCU , чтобы убедиться, что у вас есть все.Затем вы можете отфильтровать DisplayName и Publisher для каждой записи, чтобы получить только исправления MS Office.

Примечание , вы также можете попробоватьзапросить класс Win32_Product для получения продуктов, установленных установщиком Windows.Хотя я часто обнаруживал, что в нем не перечислено все, что вам нужно (однако этого может быть достаточно для вашей текущей проблемы - но я не могу сейчас проверить).

...