Sometimes I wonder if I ever learn any truly enduring lessons.
I’m trying to get organized for a seminar I’ll soon be teaching. For our lab sessions, the target machines will be x86 (just to make life easier without driver signing). So I was collecting all the various DLLs and executables the students needed to copy to their test systems. 32-bit version of DEVCON, 32-bit C RTL DLLs, etc.
As I was testing things out in my 64-bit VM, I couldn’t get DEVCON to install my driver:
C:\lab> devcon install nothing_kmdf.inf root\nothing
devcon failed
Nothing in setupaspi.dev.log, of course.
Being annoyed, and being under time pressure, I made some excellent decisions… like issuing the above command over and over again. And, you know… renaming the INF file (because THAT was likely to be the problem).
I couldn’t imagine what the problem could be… Devcon worked FINE for various queries I issued.
FINALLY, I recalled this thread from years back:
http://www.osronline.com/showthread.cfm?link=153168
32-bit DEVCON doesn’t work on 64-bit Windows. And – while the test systems will be running 32-bit Windows for my class, *MY* test system here in the office is a 64-bit Windows system.
Sigh.
The point of this little story: I don’t know who the maintainer of DEVCON is, but wouldn’t it be wonderful if the 32-bit version printed a message that it doesn’t work for installing drivers on 64-bit systems? All I’m asking for is something like the following where “Devcon failed” is printed out:
BOOL uselessParameter;
if IsWow64Process(GetCurrentProcess(), &uselessParameter) {
printf(“32-bit Devcon can’t install drivers on 64-bit Windows\n”);
}
Peter
OSR