(not to belabor the idea)

A person could ignore the CAT but run the tool.

Inf2Cat /driver:c:\exampledriver /os:XP_X86 /nocat

/nocat
    Configures Inf2Cat only to verify that the driver package complies with the signing requirements for the specified Windows versions, but not to generate a catalog files.

Wouldn't this be similar to Windows XP doing a check before it installs a driver that the user provides?

If Inf2Cat puked, you'd know it wasn't for XP.  If Inf2Cat was ok, you'd know you could try it.  smile  (not guaranteed it would work)

Or...  Maybe that's why some aren't signed (don't have cat)...  Drivers CAN'T pass, but work anyway and are the desired driver.

OverFlow, thanks for the info... I worried it would be something like that.  (I have a theory that driver writers are close relatives to chip designers.  The EE's I know at work have no pride in refactoring their perl code...  everything is a "one off" and on to the next thing.)

So, I can't trust the CAT file.  But I wonder if, say, 50% of the time it would give me clues -- because of that OS switch.

Does anyone know how to inspect a CAT?
I don't know the structure at all, or even if it is possible.
Raw you can see some text, but I didn't see the "signed for OS" sorts of strings.

Thanks!

Hi all,

How would a person or program know if an arbitrary driver was for XP, 2003, 2000, or Vista?

I know the INF "Signature=" needs to be $Windows NT$ or $Chicago$, and not $Windows 95$.  This puts it in the pool.  But for instance is a SCSI driver for Win2K and another for XP.  (D\M\L7 and D\M\L8)  I've compared INF files like those and there are very few differences, and nothing to key off from.

Which brings me to what I think.  There is a tool called Inf2Cat that makes the .CAT signature files for drivers.  http://msdn.microsoft.com/en-us/library/bb931742.aspx 

/os:WindowsVersionList
    Configures Inf2Cat to verify that a driver package INF file complies with the signing requirements for the Windows versions that are specified by WindowsVersionList.

So... I think embedded in the .CAT file are hints as to the suitability of a driver on a particular Windows OS.  Some drivers don't come with CAT files though.  Does anyone know how to inspect a .CAT file for this information?

Big picture...  When say XP installs a driver, it determines that one driver is better than another.  Is this (CAT file info) combined with a release date the determining factor?

Thanks!