Novell Home

Forcing Printer Settings with iPrint

Novell Cool Solutions: Trench

Digg This - Slashdot This

Posted: 11 Aug 2004
 

Editor's Note: Many people inquired about the mythological "PrinterUI" that was cited in a couple of suggestions, but which no one could find on the Microsoft site. It turns out that this was incorrectly named, and we've fixed the citations now. It's actually called PrintUI. Sorry for the confusion. You can get more information from here on the Microsoft site, and there is also an excellent treatment of the topic on Rob van der Woude's Scripting Pages.


Question: Is there a way to force printer settings with iPrint? I have a duplexing printer with an extra tray and bins for output. But when I install the printer via iPrint, I have to go back into the settings and add all of that each time I install a printer.

Answer: If you use HP printers, you can use their driver preconfiguration utility to add the appropriate settings to the driver's .inf file.

Another option is to use the partner product called Printer Properties Pro.

Anyone else have a suggestion? Let us know.

Suggestions

Thomas Degenhardt

We are using a couple of printers with a duplexing unit for extra paper trays. I tried to work with the HP preconfiguration utility but in my mind it's not working properly. We did the following:

All of our network printers are Postscript printers, so we decided to use only the postscript drivers. I patched the specific Postscript-Printer-Description(ppd)-file. This is quite simple. Here's an example for setting the the duplex unit as installed by default:

Original part of the ppd-File:

*OpenUI *Option3/Duplexer: Boolean
*DefaultOption3: False
*Option3 True/Installiert: ""
*Option3 False/Nicht installiert: ""
*?Option3: "
   save
     currentpagedevice /Duplex known
     {(True)}{(False)}ifelse = flush
   restore
"
*End
*CloseUI: *Option3

I simply changed Line 2 to
*DefaultOption3: True

and saved the ppd-File. Setting the extra paper tray is similar to the above changes.

The next thing I did was change the inf-File. If needed, you can change the printer name to a more significant name.

Then (after testing) I put the driver into the broker and distibuted it.

Cade Carvell

You can use rundll32 and the PrintUI to create a bin or binary file of the printer settings, and then use ZENworks to push this down. We use it here on over 400 stations and 50 printers, works excellent. Search the Microsoft site for the PrintUI settings to help you out.

David Poole

PrinterProperties Pro is nice, but costs a bit. Rundll32 and PrintUI are nice, assuming your users have Administrative rights to the workstation. I have found a method that is free and works even with Restricted Users.

Using ZENworks to push out printer settings:

1. Install the printer driver to your workstation as a local printer.

2. Use REGEDIT and drill down to:

\\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers\\PrintDriverData

3. Export the registry file of \PrintDriverData using the Regedit menu command Registry | Export Registry File... and export only the Selected Branch.

4. Save to a location and name that makes sense - this is your BEFORE "snapshot" of the printer settings.

5. Get the properties of your printer and make the changes you want - including NT Printer Forms if the driver uses this to determine paper size and type.

6. Export the \PrintDriverData branch again - this is your AFTER "snapshot" of the printer settings.

7. Create a NAL object that pushes the changes between the BEFORE and AFTER registry changes to the NDS name of your printer on your network:

\\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Print\Printers\<,,TREE,Printer_NDS_Object_Name.OU_Context.O_Context>\PrintDriverData

(ie: \\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Print\Printers\<,,ACME-Tree,Color_Laser.SEATTLE.ACME>\PrintDriverData)

You can associate the NAL object to Workstation Group objects which in turn are associated to printer deployments (at least that is how I do it). Set the registry entries to overwrite any existing settings.

After iPrint (or ZEN) pushes out the printer, the next time the user logs in, ZEN will launch the NAL and push out the printer settings. I've used this technique on HP, Lanier and Savin printers and digital copiers - works perfectly. The only thing I have to do is create a NAL object based on each printer and hunt down the changes in the BEFORE and AFTER reg files in addition to knowing what my printer is called in the registry (as shown above).

Works with PCL (HP), PostScript and RPCS (Lanier/Savin) printers.

Brian Mantler

See the excellent article "Push Printer Settings along with Printer Driver" article by Dennis Hestbech.

In addition to his suggestions, you can use the printui.dll to install or delete a printer from a command line. See the command line options by running:

RUNDLL32 PRINTUI.DLL,PrintUIEntry /?

This means you can set up an application with zenworks to install the printer on the workstation, then push down the preferred printer settings.

To delete a old unused printer use:

RUNDLL32 PRINTUI.DLL, PrintUIEntry /q /dl /n %OLDPRN%

To install a new printer

RUNDLL32 PRINTUI.DLL, PrintUIEntry /q /in /n %NEWPRN%

Has any one ever had to relocate a large amount of workstations to a new location and got stuck manually re-installing printers? Using this you can have every workstation at a location automatically install and use printers at that location.

David Lake

You can upgrade to NetWare 6.5 and use the iPrint printer driver profile (available in Support Pack 2) and associate it to a printer. The pushes custom driver settings when you install it.

There you go!

IanB

Support Pack 2 comes with a version of iprint which allows you to create a printer driver profile - I have yet to test this functionality but will be doing very shortly.

Adel Gorgis

What about Lexmark printers? I am trying hard to change either the .inf or the DPF (Driver Profile File). Also where to find the HP Utility? I will be thankful if you help me.

Dan Hill

The HP utility should be on the driver CD that comes with (most newer) HP printers. I haven't had much luck with it though. I look forward to trying some of these other ideas.


Novell Cool Solutions (corporate web communities) are produced by WebWise Solutions. www.webwiseone.com

© 2014 Novell