2

Our device relies on a built-in windows driver (usbser.sys). Do we still need to go through WHQL testing or can we install in such a way that the user won't see a warning about not passing Logo testing? I found http://support.microsoft.com/kb/837637 but it's not clear to me if this will do what I want. Does it matter whether I use DPInst program or have my own program that calls DriverPackagePreinstall?

[Edit: changed "Our code" to "Our device" based on comment]

Edwin Evans
  • 2,726
  • 5
  • 34
  • 47
  • 1
    I don't understand what your goal is... did you write a driver and want to install it ? – Yahia Sep 14 '11 at 19:13
  • I didn't write the driver but I created a device that relies on that driver. – Edwin Evans Sep 14 '11 at 19:18
  • if you created a device (I assume HW) which is accessible through a Windows built-in driver then what exactly does the installation do ? – Yahia Sep 14 '11 at 19:59
  • 1
    Don't I need some way to tell Windows that my HW should use that built-in driver? That is what the installation does. – Edwin Evans Sep 14 '11 at 20:03

2 Answers2

3
  1. You don't need to sign usbser.sys (KMCS) but you still need to sign your .inf, because the matching of usbser.sys to your Hardware ID or Compatible ID is not trivial and it's your responsibility, so you should be signed on it.
  2. You don't have to go through WHQL certificate on Windows Vista and higher. A code signing certificate from a known CA will suffice. This will raise a question of "Do you want to trust this publisher?". You can work around this by first adding yourself to the TrustedPublishers (see this question). (WHQL still has its benefits, e.g. you wouldn't have the above warning prompt.)
Community
  • 1
  • 1
Ilya
  • 5,533
  • 2
  • 29
  • 57
1

Still not a 100% sure but some general pointers:

Yahia
  • 69,653
  • 9
  • 115
  • 144
  • Upvoting... but that second link is the one I already pointed to. I'm just not clear what to do with it. Do I copy just that section into my .inf file or is that the whole thing? And does it matter that my device isn't a "modem"? The usbser device class is 4d36e978-e325-11ce-bfc1-08002be10318 (Serial and parallel ports) – Edwin Evans Sep 14 '11 at 20:41
  • you take the displayed section BUT override `mdmcpq` accordingly – Yahia Sep 14 '11 at 20:46
  • Are you sure? mdmcpq.inf is a preinstalled file that has code that references "usbser.sys" ([SourceDisksFiles] usbser.sys = 3426). I also see mdmcpq2.inf on my system. – Edwin Evans Sep 14 '11 at 20:52
  • `mdmcpq` is used as an example in this link... you will have to provide your own `.inf` built similarly but not identical to it... – Yahia Sep 14 '11 at 20:53
  • Really? The link says "These sections must use the include directive to include sections from the Mdmcpq.inf INF file as follows." This sounds like I need to reference it from my .inf file, not that I should use it as a starting point for building my own. – Edwin Evans Sep 14 '11 at 21:01
  • I understand it differently but there shouldn't be any problem in just trying out both ways and check what happens IMHO... – Yahia Sep 14 '11 at 21:09