FullDriverInf

Hello I am running tests on Windows 7 for a simple driver . I got an error with missing inf file. The FullDriverInf parameter was either not provided or the file does not exist. FullDriverInf = 'C:\Windows\Inf' Investigations showed that DriverInf is empty and possibly this why it doesn’t find any inf. The inf file resides near the sys file in program files directory. The same one driver passed all tests in Windows 10 without any problems. For some reason in HCK Studio , for Windows 7 it is not recognized as sys file ,but only in hidden list of Device Manager. Perhaps this can be a problem ? I tried to put inf file in Windows\inf but it didn’t help. Does anyone know how to solve this? Stuck for several days already for this. Thanks .

NN wrote:

I am running tests on Windows 7 for a simple driver .

I got an error with missing inf file.
The FullDriverInf parameter was either not provided or the file does not exist. FullDriverInf = 'C:\Windows\Inf'
Investigations showed that DriverInf is empty and possibly this why it doesn’t find any inf.

Who is issuing that error?  Is it the HCK?  What kind of device is it?

The inf file resides near the sys file in program files directory.

Does HCK know where to find your driver package?   Do you have a CAT
file as well?  Is the package signed?  Did you pre-install it on the
system under test?

For some reason in HCK Studio , for Windows 7 it is not recognized as sys file, but only in hidden list of Device Manager. Perhaps this can be a problem ?

I tried to put inf file in Windows\inf but it didn’t help.

No, to be valid, the driver package has to remain together.  You can’t
install it piecemeal.

Who is issuing that error? Is it the HCK? What kind of device is it?
Yes.
It is simple device driver which mostly subscribes to process notification, PsSetCreateProcessNotifyRoutine.

The inf file resides near the sys file in program files directory.

Does HCK know where to find your driver package? Do you have a CAT
file as well? Is the package signed? Did you pre-install it on the
system under test?
I have both signed and sitting together in the same folder.
HCK in ‘device manager’ list finds my driver with correct ‘Device Name’, ‘Driver Name’ and ‘Device Instance ID’.

I also noticed that even MS drivers don’t pass this test. (Device Driver INF Verification Test)

This test is failing: $\Logo Jobs\Device\Audio\HDAudio\INFHasDeviceID\Device Driver INF Verification Test (Certification).
I found similar unanswered question here https://social.msdn.microsoft.com/Forums/expression/en-US/9286ec48-c210-4ba1-892b-6e7f3398848f/fulldriverinf-parameter-was-not-provided?forum=whck

Well, my first question would be why you’re going through the effort to pass the HCK/HLK tests at all.

Next, are you certain that you’ve applied the appropriate “playlist” for the type of driver you’re testing and the proper version of Windows?

Also, which set of HCK/HLKs are you using for Win7?

You’re not really giving us much information with which to debug your problem.

Peter

I will provide all information available. Sorry, I just don’t know what information is required.
I need a signed driver, therefore I need HCK tests. Can I get it in a different way ?

When I choose my driver in HCK Studio there are some grey check boxes and there are zero tests, so basically I cannot even continue and create a package for submission.
I choose the DevFund.Reliability.Test as the basic test that driver should pass.

I need a signed driver, therefore I need HCK tests.

YES! You can use attestation signing. You do not need to pass the HLKs. Never have had to. And you don’t have to now.

Peter

Is it possible for Windows 7 ?

Is it possible for Windows 7??

Your excessive brevity is making me work awfully hard to answer your question, Mr. _NN_… By “it” I assume you mean “attestation signing”??

If that’s your question, then answer is “no”… but neither is it necessary.

Just sign and cross-sign the file. No testing, no dashboard, nothing is required. See this document.

Peter

Thank you, I will try this.
What is exactly the difference between this way of signing and certification signing using HCK/HLK Studio ?
Do I get an additional popup or something if I don’t use certification signing ?

NN wrote:

It is simple device driver which mostly subscribes to process notification, PsSetCreateProcessNotifyRoutine.

This test is failing: $\Logo Jobs\Device\Audio\HDAudio\INFHasDeviceID\Device Driver INF Verification Test (Certification).

Those two statements directly contradict each other.  It sounds like you
have a non-PnP driver. How, EXACTLY, do you install it?  Is there an
associated device? What does the INF look like?  Is it a
[DefaultInstall] INF?

If you have a non-PnP driver, why are you running audio tests?

With a few very limited exceptions, you cannot run the HCK/HLK tests on
a non-PnP driver, and hence you cannot get a WHQL signature. 
Fortunately, you don’t need it.

What is exactly the difference between this way of signing and certification signing using HCK/HLK Studio ?

Do I get an additional popup or something if I don’t use certification signing ?

“Certification signing” is not really an accurate term.  They all use
certificates.  There are three ways to get a driver package signed.

  1. Self-signing, using a code-signing certificate that you have purchased
  2. WHQL signing
  3. Attestation signing

#2 requires that you pass the HCK/HLK and submit the results, and hence
only works for PnP devices.  #3 does not require testing. The resulting
packages are identical, except that the CAT file in the package you get
back from attestation signing is marked for Windows 10 only.  If you
have a non-PnP driver, that’s perfectly fine, because you won’t use the
CAT file anyway.  You install your driver in other ways.

#1 works up through Windows 8.1.  It also works on Windows 10 if “secure
boot” is turned off in the BIOS.

Hello,
Thank you for explanation !
Everything is correct.
I really didn’t need any HCK to make driver working in Windows 7.

For Windows 10 I do need VSM support however HLK Studio didn’t have any problem with catching up my driver and passing all relevant tests.

Now, the only missing part was that the driver does work in Windows 7 32-bit but doesn’t in Windows 7 64-bit.
As I mentioned it does work in Windows 10 64-bit without a problem.
I tried running signtool verify in Windows 7 64-bit and it doesn’t complain, the certificate is valid.
But when I am trying to install it I get CodeIntegrity error:

Windows is unable to verify the image integrity of the file \Device\HarddiskVolume2\test\test.sys because file hash could not be found on the system. A recent hardware or software change might have installed a file that is signed incorrectly or damaged, or that might be malicious software from an unknown source.

SOLUTION: Windows Update pulled some update which updated root certificate and everything now works well.

Thanks you all again for your help !

NN wrote:

Everything is correct.

I really didn’t need any HCK to make driver working in Windows 7.

For Windows 10 I do need VSM support however HLK Studio didn’t have any problem with catching up my driver and passing all relevant tests.

Now, the only missing part is that the driver does work in Windows 7 32-bit but doesn’t in Windows 7 64-bit.

As I mentioned it does work in Windows 10 64-bit without a problem.

I tried running signtool verify in Windows 7 64-bit and it doesn’t complain, the certificate is valid.

That’s not enough.  Exactly how did you sign the driver package you are
using in Win 7?  Are you using a WHQL-signed package, or are you signing
it yourself?  For a self-signed driver, if you do “signtool verify /v
/kp xxxx.sys”, your driver must have the “Microsoft Code Verification
Root” somewhere in its certificate chain.  That comes from using the
proper cross-certificate.

But when I am trying to install it I get CodeIntegrity error:

Windows is unable to verify the image integrity of the file \Device\HarddiskVolume2\test\test.sys because file hash could not be found on the system. A recent hardware or software change might have installed a file that is signed incorrectly or damaged, or that might be malicious software from an unknown source.

How are you installing it?  This suggests that you don’t have a CAT file
with the package.

Everything is working well. I have updated my reply.
Thank you.

I do run signtool verify /kp .
I am running the driver using CreateService .
I do have cat file but it is not required in my case in Windows 7 AFAIU.