Network Users and printing in Pub 2003

C

C Baker

Hi,

For some reason standard users on my network are unable to print to network
printers. All it will display as options are local printers.

I didn't have this problem in Publisher 2000, does anyone know why this is?

I've got round it in certain rooms by setting it up to print to an ip port
but this isn't the solution im looking for.

Thanks

Craig
 
E

Ed Bennett

C Baker said:
For some reason standard users on my network are unable to print to
network printers. All it will display as options are local printers.

Are your printers installed dynamically at logon by using printui.dll?
 
C

C Baker

Ed Bennett said:
Are your printers installed dynamically at logon by using printui.dll?

They are installed using printui.dll but during Remote Install. I forgot to
mention it works for every other application including other Office progs,
but not Publisher.


Thanks

CB
 
E

Ed Bennett

C Baker said:
They are installed using printui.dll but during Remote Install. I
forgot to mention it works for every other application including
other Office progs, but not Publisher.

This is a known issue. Publisher (for some reason) uses legacy APIs to
access printer information.
When printers are installed using printui.dll, the legacy part in win.ini is
not written, so Publisher cannot see the printer.

To work around it, login scripts could be used to map the printers to the
users' profiles.

Instead of using Rundll32 command for assigning printers to the users, the
following .vbs script would be used:

Set WshNetwork = CreateObject("WScript.Network")
PrinterPath = "\\machinename\printername"
WshNetwork.AddWindowsPrinterConnection "\\machinename\printername"

where \\machinename\printername should be replaced with the correct print
server name and the shared printer name. The script can be called from a
batch file using the following command:

cscript //nologo \\network-share-that-contains-vbs-script

The following script removes the assigned printers:

Set WshNetwork = CreateObject("WScript.Network")
PrinterPath = "\\share\printer"
WshNetwork.RemovePrinterConnection ("\\share\printer", true, true)

The default printer can be set using the following script:

Set WshNetwork = CreateObject("WScript.Network")
PrinterPath = "\\share\printer"
WshNetwork.AddWindowsPrinterConnection "\\share\printer"
WshNetwork.SetDefaultPrinter \\share\printer

(Adapted from information provided by Ada Pan)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top