I'm learning Windows kernel mode driver development. I've written a small test driver that I can successfully register, unregister, load and unload under Windows 7 32bit Ultima edition running under a VM in VirtualBox.
My host is Windows 7 64bit Home Premium edition.
The driver, compiled for 64 bit, will not load under Windows 7 Home edition. I keep getting a rejection noticed that this version of windows does not allow unsigned drivers.
I've tried two things:
I've used the F8 boot option to allow unsigned drivers (didn't work)
I run a CMD as administrator and execute the following two commands
bcdedit.exe -set loadoptions DDISABLE_INTEGRITY_CHECKS
bcdedit.exe -set TESTSIGNING ON
and rebooted. My desktop shows me in "TestMode" but still I get same rejection noticed.
Can anyone help me out here or explain if there is an additional step for Home edition?
----{ update }---- After pouring through tons of MSDN stuff, it would appear my solution lies in self signing the driver I created. The DDK I downloaded does not appear to have the tool chain to do self signing. I've downloaded WinDDK-7600.16385.1. But what is so strange is that my Windows Ultima Edition happily loads my driver if I simply F8 @ boot time and tell it to allow unsigned drivers.
You might try the Driver Signature Enforcement Overrider. It's supported on 64-bit versions of Windows 7, and reports that I've seen confirm that it does indeed work on the "Home Premium" edition.
It even allows you to remove the watermark from your desktop!