I am building a monolithic print driver with the current WDK, 7600.
Driver is user mode.
DDI version is DDI_DRIVER_VERSION_NT4.
Target platforms are
Windows 7 64 bit
Windows 7 32 bit
Vista 64 bit
Vista 32 bit
XP 32 bit
When I choose Build environment Windows 7 x64 Free Build,
the project compiles with no errors,
installs on a Win 7 64 bit box correctly,
and works flawlessly, creating good output.
When I choose Build environment Windows 7 x86 Free Build,
the project compiles with no errors,
installs on a Win 7 32 bit box correctly,
and works flawlessly, creating good output.
When I choose Build environment Vista x64 Free Build,
the project compiles with no errors,
installs on a Vista 64 bit box correctly,
and works flawlessly, creating good output.
When I choose Build environment Vista x86 Free Build,
the project compiles with no errors,
installs on a Vista 32 bit box correctly,
and works flawlessly, creating good output.
When I choose Build environment XP x86 Free Build,
the project compiles with no errors,
but it will NOT install on a XP 32 bit box at all.
The add printer wizard asks to be pointed to the INF file,
but the process bails and presents a message…
“Unable To Install Printer. Operation could not be completed.”
I have message commands throughout the code which allows one to see all of the funtions which
are called during the install process.
Win 7 64, Win 7 32, Vista 64, Vista 32 all process these messages.
XP 32 does not emit any messages whatsoever, as if the functions are never called, and the process bails.
The souce code contains no switch statements concerning operating system.
The Win 7 64, Win 7 32, Vista 64, Vista 32 and XP 32 build are all accomplished with the EXACT same source code.
The only thing that changes are the chosen build environments in which to run the build utility.
Again, the XP 32 compiles fine with no errors, just like the others.
Is there something very simple I am overlooking? Thanks for any help.
Cary Johnston