This is a chronological continuation of this question. I have simplified my board so it runs well with the DDK version of BulkUSB on 32bit versions of XP and Vista, but I'm not able to install it on Vista 64.(built with amd64 fre) I've been able to make windows recognize the files it needs to install, using both BulkUSB and USBSamp, but once installed it says
Windows cannot load the device driver for this hardware.
The driver may be corrupted or missing. (Code 39)
In problem code property in the details, it says 27. When I install it for the first time, it complains about the driver not being digitally signed, and I've tried running:
bcdedit.exe -set loadoptions DDISABLE_INTEGRITY_CHECKS
As there are placed that mention it should make windows run unsigned drivers, but it doesn't help.
If anyone has an insight about this, any help will be appreciated.
Thank you,
Surd.
Edit another part of the deal it took me a long time to find that isn't anywhere in the questions or answers: When unintalling a driver, you either need to check "remove driver" in the device manager or use pnputil -d oem##.inf to remove the driver, otherwise the new drivers won't be used.
Even after changing the bcedit options, it is impossible to load unsigned drivers under Windows Vista/7 64 bit. You need to make test-signing for the driver. I solved this problem following instructions from "Kernel-Mode Code Signing Walkthrough" document which can be downloaded from the Microsoft site: http://www.microsoft.com/whdc/driver/install/drvsign/kmcs-walkthrough.mspx
Unsigned drivers cannot be loaded by Vista/7 64 bit in any case. Test-signied drivers can be loaded after changing bcedit options. Release-signed drivers are loaded without restrictions, but with warning message. You can make test-signing yourself, following this document instructions. For release-signing, it is necessary to buy a code-signing certificate.
The final (and optional) step is passing the tests from the Windows Logo Kit (WLK). This allows to remove the warning message shown during driver installation.