Error adding printer via printui.dll, installation of monitor DLL's

  • Thread starter Thread starter Morgan Toal
  • Start date Start date
M

Morgan Toal

I am wanting to be able to install a printer driver on a
remote machine via a batch file.

I am adding a driver for an HP Color Laserjet 4600n on a
Windows 2000 workstation.

Here is the command line I am using so far:
(lines are wrapped, this is really 1 single really long
command line)

rundll32 printui.dll,PrintUIEntry /ia /c\\%1 /m "HP Color
LaserJet 4600 PCL 6"
/h "Intel" /v "Windows 2000" /f
"\\pw1\system\printers\laserjet 4600\hp4600p6.inf"
/l "\\pw1\system\printers\laserjet 4600"

I run this on my (domain admin) workstation. We can't put
it in the logon script due to the fact that the users are
all non-administrative users and can't add drivers themselves.

The files appear to copy to the print$ share on the remote
machine, but I do get an error after the copy: "The
specified print monitor is unknown."

Per this earlier posting below, this is maybe something to
do with the fact this is a signed HP driver? OK, fine then,
so do we need to put something special in the /v paramater
of the command line? I can't really glean what the author
is getting at, or how it was corrected.

http://groups.google.com/groups?hl=...-8&[email protected]

But here is another posting that gives me more to consider.
Apparently my HP 4600 driver requires a "Print Monitor" OK,
this makes sense, based on the error. According to this
message:

http://groups.google.com/[email protected]&rnum=2

we need to install these monitor DLL's first in system32.
Looking in the INF file for the printer, I do find a
section that refers to three DLL's for the HP 4600 driver.
The remote installation does in fact put them in a folder
in print$, but apparently, this is not good enough, as on
confirmed working systems that I have installed by hand,
these DLL's are also present in system32 folder.

Apparently more is needed than copying them into the
folder, which is what I tried to do.

How can this be done?

Aaaargh. I am thinking this is not possible, or maybe not
practical, to do remotely.

Thanks,

mtoal
 
print$ = %systemroot%\system32\spool\drivers\w32x86\3

you cannot access system32 from print$

If you enumerate the systemroot variable and copy the files to
%systemroot%\system32 can you add the driver at this point?


--
Alan Morris
Windows Printing Team
Search the Microsoft Knowledge Base here:
http://support.microsoft.com/default.aspx?scid=fh;[ln];kbhowto

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

I am wanting to be able to install a printer driver on a
remote machine via a batch file.

I am adding a driver for an HP Color Laserjet 4600n on a
Windows 2000 workstation.

Here is the command line I am using so far:
(lines are wrapped, this is really 1 single really long
command line)

rundll32 printui.dll,PrintUIEntry /ia /c\\%1 /m "HP Color
LaserJet 4600 PCL 6"
/h "Intel" /v "Windows 2000" /f
"\\pw1\system\printers\laserjet 4600\hp4600p6.inf"
/l "\\pw1\system\printers\laserjet 4600"

I run this on my (domain admin) workstation. We can't put
it in the logon script due to the fact that the users are
all non-administrative users and can't add drivers themselves.

The files appear to copy to the print$ share on the remote
machine, but I do get an error after the copy: "The
specified print monitor is unknown."

Per this earlier posting below, this is maybe something to
do with the fact this is a signed HP driver? OK, fine then,
so do we need to put something special in the /v paramater
of the command line? I can't really glean what the author
is getting at, or how it was corrected.

http://groups.google.com/groups?hl=...-8&[email protected]

But here is another posting that gives me more to consider.
Apparently my HP 4600 driver requires a "Print Monitor" OK,
this makes sense, based on the error. According to this
message:

http://groups.google.com/[email protected]&rnum=2

we need to install these monitor DLL's first in system32.
Looking in the INF file for the printer, I do find a
section that refers to three DLL's for the HP 4600 driver.
The remote installation does in fact put them in a folder
in print$, but apparently, this is not good enough, as on
confirmed working systems that I have installed by hand,
these DLL's are also present in system32 folder.

Apparently more is needed than copying them into the
folder, which is what I tried to do.

How can this be done?

Aaaargh. I am thinking this is not possible, or maybe not
practical, to do remotely.

Thanks,

mtoal
 
Back
Top