2012-04-24 8 views
1

Я создаю приложение, которое должно точно получать все обновления программного обеспечения и исправления в разных версиях ОС 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?

+0

Hotfixes в – Will

+1

Это не то, что я вижу. Используйте утилиту генератора кода WMI для экспериментов с запросами. Обязательно посмотрите на * все поля. http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=8572 Задайте больше вопросов об этом на superuser.com –

+0

Я тоже пробовал ... Тот же результат. Я получаю, что я получаю 460 строк, около 360 из которых являются обновлениями, с соответствующими исправлениями и описаниями и около 100 из них имеют HotfixID = 'File' и ServicePackInEffect = 'KB *******'. Я использую BTL для Windows XP. – user919789

ответ

0

У меня такая же сделка. Я проверяю, как установить исправления через configman. Они, кажется, для запуска исправления первых, фронт, а затем следовать с обычными патчами, и т.д ..

0

Если у вас есть обычная File 1, как HotFixID, то вы можете получить идентификатор, связанный с ServicePackInEffect столбца.

HotFixID  ServicePackInEffect 
================================== 
KB941569.  . 
KB898461.  SP3. 
File 1.  KB982665. 
...   ... 

 Смежные вопросы

  • Нет связанных вопросов^_^