Weird problem with Publisher's listing of available printers

P

Pat

None of the installed printers will show up in Publisher on this lady's
computer. They are installed in Windows and show up fine in other Office
Programs (Word, Excel, Powerpoint, etc.). However, when you go to print
a document in Publisher, the only printers listed are the "Microsoft
Office Document Image Writer" and the "Lanfax Printer". None of the
physical printers are listed!

I tried uninstalling and reinstalling all the printers. I also tried
upgrading from Publisher XP to Publisher 2003, but the problem has
persisted. I have googled this and searched Microsoft's knowledge base,
but did not come up with anything....not even another person describing
this problem!

I have Office 2003 installed on my workstation, and all the printers
show up within Publisher, so I don't think this is a driver issue.


Short of reinstalling Windows, does anyone have any ideas??? Any help
would be greatly appreciated.
 
B

Brian Kvalheim [MSFT MVP]

What happens if you change the name of the printer...say, changing it to
"hp" to reduce the printer name length.

Is this printer on a network? Since you mention Workstation, I wonder if
your printer is located on the network.

--
Brian Kvalheim
Microsoft Publisher MVP
http://www.publishermvps.com

This posting is provided "AS IS" with no warranties, and
confers no rights.
 
P

Pat Gaule

Brian said:
What happens if you change the name of the printer...say, changing it to
"hp" to reduce the printer name length.

Is this printer on a network? Since you mention Workstation, I wonder if
your printer is located on the network.

The printer is on a network. I've done some googling and found that
Publisher is apparently very sensitive about print drivers. However,
this is the only user that has a problem. Everyone else is able to
print from Publisher.
 
E

Ed Bennett

Pat Gaule said:
The printer is on a network. I've done some googling and found that
Publisher is apparently very sensitive about print drivers. However,
this is the only user that has a problem. Everyone else is able to
print from Publisher.

Are the printers installed by a script at logon or manually in Windows?
 
P

Pat Gaule

Ed said:
Are the printers installed by a script at logon or manually in Windows?

When I re-installed them, I did so manually in Windows (through the "Add
A Printer..." wizard). As far as I know, there is no special logon
script that installs printers but I will verify that tomorrow.
 
P

Pat Gaule

Pat said:
When I re-installed them, I did so manually in Windows (through the "Add
A Printer..." wizard). As far as I know, there is no special logon
script that installs printers but I will verify that tomorrow.

She has a .bat file that maps one of the network printers to her local
LPT port. However, disabling that from running and uninstalling the
printer in question doesn't seem to do much good. I actually got the
printers to be listed by making a few manipulations here and there
(changing the default printer, installing a new one, etc.) but
eventually it always goes back to not listing them. I have no idea at
this point, but she said she doesn't need to use Publisher very much and
can just print it from a differnt computer if neccessary.
 
E

Ed Bennett

Pat Gaule said:
She has a .bat file that maps one of the network printers to her local
LPT port. However, disabling that from running and uninstalling the
printer in question doesn't seem to do much good.

Hmm...

Try having a read of this:

===
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)
===

Hope this is of some use...
 

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