1

I'm creating an application which should retrieve all the Software and Hotfix updates accurately on different windows OS versions which involves many processes of queries. One method in specific is querying the Win32_QuickFixEngineering Class. Now with the following C# code, I'm able to do so:

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);
}

I get a series of results which would be identical to:

HotfixID='File 1'
HotfixID='File 1'
HotfixID='File 1'
HotfixID='File 1'
HotfixID='File 1'
HotfixID='File 1'
HotfixID='File 1'

But as I query the property 'ServicePackInEffect', each query with the HotfixID='File 1' shows something like this:

ServicePackInEffect='KB2259213'
ServicePackInEffect='KB2431232'
ServicePackInEffect='KB2254332-IE7'
ServicePackInEffect='KB960680-v2'
ServicePackInEffect='KB2254343'
ServicePackInEffect='KB93089483'

So my question is, Are these also updates, or hotfixes? Or what? If they are, why is there HotfixID named 'File 1'? and why does their 'ServicePackInEffect' say what it should on the HotfixID?

mpalencia
  • 5,481
  • 4
  • 45
  • 59
user919789
  • 171
  • 4
  • 7
  • 19
  • 1
    That's not what I see. Use the WMI Code Generator utility to experiment with queries. Be sure to look at *all* of the fields. http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=8572 Ask more questions about it at superuser.com – Hans Passant Apr 24 '12 at 03:25
  • 1
    I've tried that too.. Same result. I get I get 460 rows, about 360 of which are updates, with proper HotfixIDs and Descriptions, and about 100 of them having the HotfixID='File' and ServicePackInEffect='KB*******' . I'm using Windows XP btw. – user919789 Apr 24 '12 at 04:00
  • Crossposted ? http://superuser.com/questions/415963/what-is-the-hotfix-with-hotfixid-file-1 – dsolimano Apr 24 '12 at 04:11
  • Yeah the guy up top said I should post it on superuser. Should I delete the one on superuser? – user919789 Apr 24 '12 at 04:14
  • I think he meant that asking about how hot fixes are structured is on topic at SU, but code questions are on-topic on SO? – dsolimano Apr 24 '12 at 15:03
  • The odd thing for me is that my VS 2008 code gives the oddball File1 issue, but both the WMI Code Generator, and nearly identical VS 2010 code show the expected values. I did see this old thread which covers a hotfix from MS for this issue on NT: http://social.technet.microsoft.com/Forums/en-US/winserverManagement/thread/ac717bfa-8ca4-474e-806c-e0a21e67482d/ – Joshua Drake Jan 30 '13 at 21:13

3 Answers3

0

I have the same deal. I'm checking to see if it's how hotfixes are installed via configman. They seem to run the hotfixes first, out front, and then follow up with the regular patches, etc..

0

If you have plain File 1 as HotFixID then you can retrieve the related identifier from ServicePackInEffect column.

HotFixID       ServicePackInEffect
==================================
KB941569.      .
KB898461.      SP3.
File 1.        KB982665.
...            ...
Mikko Viitala
  • 8,344
  • 4
  • 37
  • 62
0

Yes they are updates. 'File1' indicates that the particular hotfix ID is superseded. Simply skip the 'File1' HotFixID's (query-SELECT * FROM Win32_QuickFixEngineering where HotFixID <> 'File1' ).

Src: http://www.visualbasicscript.com/File-1-shows-in-HotFix-ID-column-m33401.aspx