Vista: Adding a printer connection fails
mz at seh.de
Tue Feb 6 08:34:57 GMT 2007
The error case has been originally described in the samba list with the
subject "Vista can't use samba hosted printer drivers"
Using samba 3.0.23d and a printer with a "HP 4000 PCL6" driver from XP.
When one tries to install a network printer from samba the execution
aborts with the error 0x00000057 ( = invalid parameter).
How to reproduce:
1st. Make a fresh install: remove ntprinters.tdb and assign the driver
via an rpcclient call.
=> If you try now to connect with vista, everything is ok
2nd. Enter the printers folder from Vista or XP and rightclick on the
printer -> properties -> publish printer in the ADS.
=> Try now to connect with vista and this time Vista produces the
error. (And the properties dialog shows no "printing preferences" button).
The failed System call is an "GetPrinterDriver" call from the Vista
client. Not to mistake with the RPC call itself. It's the library call
the produces lots of traffic afterwards (GetPrinter calls, enum the
When does it fail:
When publishing the printer to the ADS, Samba adds a binary registry
value "objectGUID" to the DsSpooler key. (BTW - my XP client publishes
the printer automaticly when I open the properties dialog in the
"Printers and Faxes" folder on the Samba server with admin rights).
I renamed the key - no change
I changed the size of the data - no change
Added a random key after that key (buffer size???) - no change
I changed the key type from REG_BINARY to REG_SZ - no error anymore!
Also, if I add another key to the printers registry (FOO) - no error!
Why does it fail:
I have no idea at the moment. Anyone?
Tried to find alignment issues or sizes - found nothing.
Also the enumeration of the printers registry is successfull - in every
If I could see this error somewhere on XP, I'd assume it is a Vista bug.
But until then - It stays at Samba.
I hope someone gets an idea due to this observations.
Martin Zielinski mz at seh.de
SEH Computertechnik GmbH www.seh.de
More information about the samba-technical