none
Driver can't be loaded in Windows 7 64bit but can be loaded in Windows 8. RRS feed

  • Question

  • Hello, every one!

    I met a problem. I had developed a driver. I signed it with a Microsoft Cross Certificate and a Certificate of VeriSign. Then I install it in Windows 8 64bits machine. It can work as expected. But when I try to install it in Windows 7 64bits machine, it can't be verified and be refused to load while system startup. I don't know the reason. Is there any different when windows 7 verify a application and windows 8 verify? I hope some one could be kind to help me. Thank you!

    Best Regards!

    whiteclouds

    2015-2-9

    Monday, February 9, 2015 2:01 AM

Answers

  • I think I made a mistake when I install my driver into my w7 VM. Yesterday, I configuration my w7 real machine as TESTSIGNING ON mode. But I didn't set it in my w7 VM. So the behavior is different with both. Now I set TESTSIGNING OFF in my w7 real machine. Then the driver can't be load as yesterday. So the problem is: I haven't correct certificate to sign my driver for installation in windows 7.  The only solution is trying to get a SHA1 certificate for signing my driver.
    Tuesday, February 10, 2015 8:04 AM

All replies

  • are you sure it is a signing issue? What error code are you seeing? If you built the driver for w8 (e.g. the target in the configuration) you could be using a w8 only API

    d -- This posting is provided "AS IS" with no warranties, and confers no rights.

    Monday, February 9, 2015 4:56 PM
  • I'm sure this is a signing issue. I had contacted with certificate provision, they told me that w7 support sha1 verify algorithm, and w8 support all of sha1 and sha256. The driver I installed is signed with sha256. After I signed with sha1 instead, the driver can be installed and load in w7 now.

    But another problem happened. Today I find I can't make it be loaded in my w7 virtual machine. I am sure that the driver's signature is same as yesterday. And my w7 VM is same as the w7 yesterday too. Only 1 difference is that I installed the driver into a w7 virtual machine, and yesterday is into a real machine. Additional, our test engineer told me that the driver can't be load in windows server 2008 64 bits too.

    PS: I see the error in Event Browser following the path: Control Panel->Manager Tools->Event Browser, then open node: System tool->Event Browser->Application and Service->Microsoft->Windows->CodeIntegrity->Operational. There are many error messages listed in right side. Double click anyone, the message popped up say: "Windows is unable to verify the image integrity of the file \Device\HarddiskVolume2\Windows\System32\drivers\MYDRIVER.sys because file hash could not be found on the system. ..."

    Please tell me how to fix it or a http link is preferred too. Thank you!

    Best regards!

    whiteclouds

    Tuesday, February 10, 2015 6:37 AM
  • I think I made a mistake when I install my driver into my w7 VM. Yesterday, I configuration my w7 real machine as TESTSIGNING ON mode. But I didn't set it in my w7 VM. So the behavior is different with both. Now I set TESTSIGNING OFF in my w7 real machine. Then the driver can't be load as yesterday. So the problem is: I haven't correct certificate to sign my driver for installation in windows 7.  The only solution is trying to get a SHA1 certificate for signing my driver.
    Tuesday, February 10, 2015 8:04 AM