Я создаю приложение, которое должно точно получать все обновления программного обеспечения и исправления в разных версиях ОС Windows, что связано со многими процессами запросов. Один из конкретных методов - это запрос класса Win32_QuickFixEngineering. Теперь с помощью следующего кода C#, я могу сделать так:Что такое исправление с HotfixID = 'File 1'?
try
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_QuickFixEngineering");
foreach (ManagementObject queryObj in searcher.Get())
{
Console.WriteLine("-----------------------------------");
Console.WriteLine("Win32_QuickFixEngineering instance");
Console.WriteLine("-----------------------------------");
Console.WriteLine("HotFixID: {0}", queryObj["HotFixID"]);
}
}
catch (ManagementException e)
{
MessageBox.Show("An error occurred while querying for WMI data: " + e.Message);
}
Я получаю ряд результатов, которые были бы идентичны:
HotfixID='File 1'
HotfixID='File 1'
HotfixID='File 1'
HotfixID='File 1'
HotfixID='File 1'
HotfixID='File 1'
HotfixID='File 1'
Но, как я запрашиваю свойство «ServicePackInEffect» , каждый запрос с HotfixID = «Файл 1» показывает, что-то вроде этого:
ServicePackInEffect='KB2259213'
ServicePackInEffect='KB2431232'
ServicePackInEffect='KB2254332-IE7'
ServicePackInEffect='KB960680-v2'
ServicePackInEffect='KB2254343'
ServicePackInEffect='KB93089483'
Так что мой вопрос, эти же обновления или исправления? Или что? Если да, то почему существует HotfixID с именем «Файл 1»? и почему их «ServicePackInEffect» говорит, что нужно на HotfixID?
Hotfixes в – Will
Это не то, что я вижу. Используйте утилиту генератора кода WMI для экспериментов с запросами. Обязательно посмотрите на * все поля. http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=8572 Задайте больше вопросов об этом на superuser.com –
Я тоже пробовал ... Тот же результат. Я получаю, что я получаю 460 строк, около 360 из которых являются обновлениями, с соответствующими исправлениями и описаниями и около 100 из них имеют HotfixID = 'File' и ServicePackInEffect = 'KB *******'. Я использую BTL для Windows XP. – user919789