syncing up with SAMBA_2_2
[Samba/gbeck.git] / docs / htmldocs / printer_driver2.html
blobc44d9c5bf8180f6f4d5dc2f0c0c0e9efe3057ad4
1 <HTML
2 ><HEAD
3 ><TITLE
4 >Printing Support in Samba 2.2.x</TITLE
5 ><META
6 NAME="GENERATOR"
7 CONTENT="Modular DocBook HTML Stylesheet Version 1.57"></HEAD
8 ><BODY
9 CLASS="ARTICLE"
10 BGCOLOR="#FFFFFF"
11 TEXT="#000000"
12 LINK="#0000FF"
13 VLINK="#840084"
14 ALINK="#0000FF"
15 ><DIV
16 CLASS="ARTICLE"
17 ><DIV
18 CLASS="TITLEPAGE"
19 ><H1
20 CLASS="TITLE"
21 ><A
22 NAME="AEN1"
23 >Printing Support in Samba 2.2.x</A
24 ></H1
25 ><HR></DIV
26 ><DIV
27 CLASS="SECT1"
28 ><H1
29 CLASS="SECT1"
30 ><A
31 NAME="AEN3"
32 >Introduction</A
33 ></H1
34 ><P
35 >Beginning with the 2.2.0 release, Samba supports
36 the native Windows NT printing mechanisms implemented via
37 MS-RPC (i.e. the SPOOLSS named pipe). Previous versions of
38 Samba only supported LanMan printing calls.</P
39 ><P
40 >The additional functionality provided by the new
41 SPOOLSS support includes:</P
42 ><P
43 ></P
44 ><UL
45 ><LI
46 ><P
47 >Support for downloading printer driver
48 files to Windows 95/98/NT/2000 clients upon demand.
49 </P
50 ></LI
51 ><LI
52 ><P
53 >Uploading of printer drivers via the
54 Windows NT Add Printer Wizard (APW) or the
55 Imprints tool set (refer to <A
56 HREF="http://imprints.sourceforge.net"
57 TARGET="_top"
58 >http://imprints.sourceforge.net</A
59 >).
60 </P
61 ></LI
62 ><LI
63 ><P
64 >Support for the native MS-RPC printing
65 calls such as StartDocPrinter, EnumJobs(), etc... (See
66 the MSDN documentation at <A
67 HREF="http://msdn.microsoft.com/"
68 TARGET="_top"
69 >http://msdn.microsoft.com/</A
71 for more information on the Win32 printing API)
72 </P
73 ></LI
74 ><LI
75 ><P
76 >Support for NT Access Control Lists (ACL)
77 on printer objects</P
78 ></LI
79 ><LI
80 ><P
81 >Improved support for printer queue manipulation
82 through the use of an internal databases for spooled job
83 information</P
84 ></LI
85 ></UL
86 ><P
87 >There has been some initial confusion about what all this means
88 and whether or not it is a requirement for printer drivers to be
89 installed on a Samba host in order to support printing from Windows
90 clients. A bug existed in Samba 2.2.0 which made Windows NT/2000 clients
91 require that the Samba server possess a valid driver for the printer.
92 This is fixed in Samba 2.2.1 and once again, Windows NT/2000 clients
93 can use the local APW for installing drivers to be used with a Samba
94 served printer. This is the same behavior exhibited by Windows 9x clients.
95 As a side note, Samba does not use these drivers in any way to process
96 spooled files. They are utilized entirely by the clients.</P
97 ><P
98 >The following MS KB article, may be of some help if you are dealing with
99 Windows 2000 clients: <I
100 CLASS="EMPHASIS"
101 >How to Add Printers with No User
102 Interaction in Windows 2000</I
103 ></P
106 HREF="http://support.microsoft.com/support/kb/articles/Q189/1/05.ASP"
107 TARGET="_top"
108 >http://support.microsoft.com/support/kb/articles/Q189/1/05.ASP</A
109 ></P
110 ></DIV
111 ><DIV
112 CLASS="SECT1"
113 ><HR><H1
114 CLASS="SECT1"
116 NAME="AEN25"
117 >Configuration</A
118 ></H1
119 ><DIV
120 CLASS="WARNING"
122 ></P
123 ><TABLE
124 CLASS="WARNING"
125 BORDER="1"
126 WIDTH="100%"
127 ><TR
128 ><TD
129 ALIGN="CENTER"
131 >[print$] vs. [printer$]</B
132 ></TD
133 ></TR
134 ><TR
135 ><TD
136 ALIGN="LEFT"
138 >Previous versions of Samba recommended using a share named [printer$].
139 This name was taken from the printer$ service created by Windows 9x
140 clients when a printer was shared. Windows 9x printer servers always have
141 a printer$ service which provides read-only access via no
142 password in order to support printer driver downloads.</P
144 >However, the initial implementation allowed for a
145 parameter named <TT
146 CLASS="PARAMETER"
148 >printer driver location</I
149 ></TT
151 to be used on a per share basis to specify the location of
152 the driver files associated with that printer. Another
153 parameter named <TT
154 CLASS="PARAMETER"
156 >printer driver</I
157 ></TT
158 > provided
159 a means of defining the printer driver name to be sent to
160 the client.</P
162 >These parameters, including <TT
163 CLASS="PARAMETER"
165 >printer driver
166 file</I
167 ></TT
168 > parameter, are being depreciated and should not
169 be used in new installations. For more information on this change,
170 you should refer to the <A
171 HREF="#MIGRATION"
172 >Migration section</A
174 of this document.</P
175 ></TD
176 ></TR
177 ></TABLE
178 ></DIV
179 ><DIV
180 CLASS="SECT2"
181 ><HR><H2
182 CLASS="SECT2"
184 NAME="AEN36"
185 >Creating [print$]</A
186 ></H2
188 >In order to support the uploading of printer driver
189 files, you must first configure a file share named [print$].
190 The name of this share is hard coded in Samba's internals so
191 the name is very important (print$ is the service used by
192 Windows NT print servers to provide support for printer driver
193 download).</P
195 >You should modify the server's smb.conf file to create the
196 following file share (of course, some of the parameter values,
197 such as 'path' are arbitrary and should be replaced with
198 appropriate values for your site):</P
200 ><PRE
201 CLASS="PROGRAMLISTING"
202 >[print$]
203 path = /usr/local/samba/printers
204 guest ok = yes
205 browseable = yes
206 read only = yes
207 ; since this share is configured as read only, then we need
208 ; a 'write list'. Check the file system permissions to make
209 ; sure this account can copy files to the share. If this
210 ; is setup to a non-root account, then it should also exist
211 ; as a 'printer admin'
212 write list = ntadmin</PRE
213 ></P
215 >The <A
216 HREF="smb.conf.5.html#WRITELIST"
217 TARGET="_top"
218 ><TT
219 CLASS="PARAMETER"
221 >write list</I
222 ></TT
223 ></A
224 > is used to allow administrative
225 level user accounts to have write access in order to update files
226 on the share. See the <A
227 HREF="smb./conf.5.html"
228 TARGET="_top"
229 >smb.conf(5)
230 man page</A
231 > for more information on configuring file shares.</P
233 >The requirement for <A
234 HREF="smb.conf.5.html#GUESTOK"
235 TARGET="_top"
237 CLASS="COMMAND"
238 >guest
239 ok = yes</B
240 ></A
241 > depends upon how your
242 site is configured. If users will be guaranteed to have
243 an account on the Samba host, then this is a non-issue.</P
244 ><DIV
245 CLASS="NOTE"
246 ><BLOCKQUOTE
247 CLASS="NOTE"
250 >Author's Note: </B
251 >The non-issue is that if all your Windows NT users are guaranteed to be
252 authenticated by the Samba server (such as a domain member server and the NT
253 user has already been validated by the Domain Controller in
254 order to logon to the Windows NT console), then guest access
255 is not necessary. Of course, in a workgroup environment where
256 you just want to be able to print without worrying about
257 silly accounts and security, then configure the share for
258 guest access. You'll probably want to add <A
259 HREF="smb.conf.5.html#MAPTOGUEST"
260 TARGET="_top"
262 CLASS="COMMAND"
263 >map to guest = Bad User</B
264 ></A
265 > in the [global] section as well. Make sure
266 you understand what this parameter does before using it
267 though. --jerry</P
268 ></BLOCKQUOTE
269 ></DIV
271 >In order for a Windows NT print server to support
272 the downloading of driver files by multiple client architectures,
273 it must create subdirectories within the [print$] service
274 which correspond to each of the supported client architectures.
275 Samba follows this model as well.</P
277 >Next create the directory tree below the [print$] share
278 for each architecture you wish to support.</P
280 ><PRE
281 CLASS="PROGRAMLISTING"
282 >[print$]-----
283 |-W32X86 ; "Windows NT x86"
284 |-WIN40 ; "Windows 95/98"
285 |-W32ALPHA ; "Windows NT Alpha_AXP"
286 |-W32MIPS ; "Windows NT R4000"
287 |-W32PPC ; "Windows NT PowerPC"</PRE
288 ></P
289 ><DIV
290 CLASS="WARNING"
292 ></P
293 ><TABLE
294 CLASS="WARNING"
295 BORDER="1"
296 WIDTH="100%"
297 ><TR
298 ><TD
299 ALIGN="CENTER"
301 >ATTENTION! REQUIRED PERMISSIONS</B
302 ></TD
303 ></TR
304 ><TR
305 ><TD
306 ALIGN="LEFT"
308 >In order to currently add a new driver to you Samba host,
309 one of two conditions must hold true:</P
311 ></P
312 ><UL
313 ><LI
315 >The account used to connect to the Samba host
316 must have a uid of 0 (i.e. a root account)</P
317 ></LI
318 ><LI
320 >The account used to connect to the Samba host
321 must be a member of the <A
322 HREF="smb.conf.5.html#PRINTERADMIN"
323 TARGET="_top"
324 ><TT
325 CLASS="PARAMETER"
327 >printer
328 admin</I
329 ></TT
330 ></A
331 > list.</P
332 ></LI
333 ></UL
335 >Of course, the connected account must still possess access
336 to add files to the subdirectories beneath [print$]. Remember
337 that all file shares are set to 'read only' by default.</P
338 ></TD
339 ></TR
340 ></TABLE
341 ></DIV
343 >Once you have created the required [print$] service and
344 associated subdirectories, simply log onto the Samba server using
345 a root (or <TT
346 CLASS="PARAMETER"
348 >printer admin</I
349 ></TT
350 >) account
351 from a Windows NT 4.0 client. Navigate to the "Printers" folder
352 on the Samba server. You should see an initial listing of printers
353 that matches the printer shares defined on your Samba host.</P
354 ></DIV
355 ><DIV
356 CLASS="SECT2"
357 ><HR><H2
358 CLASS="SECT2"
360 NAME="AEN71"
361 >Setting Drivers for Existing Printers</A
362 ></H2
364 >The initial listing of printers in the Samba host's
365 Printers folder will have no real printer driver assigned
366 to them. By default, in Samba 2.2.0 this driver name was set to
368 CLASS="EMPHASIS"
369 >NO PRINTER DRIVER AVAILABLE FOR THIS PRINTER</I
371 Later versions changed this to a NULL string to allow the use
372 tof the local Add Printer Wizard on NT/2000 clients.
373 Attempting to view the printer properties for a printer
374 which has this default driver assigned will result in
375 the error message:</P
378 CLASS="EMPHASIS"
379 >Device settings cannot be displayed. The driver
380 for the specified printer is not installed, only spooler
381 properties will be displayed. Do you want to install the
382 driver now?</I
383 ></P
385 >Click "No" in the error dialog and you will be presented with
386 the printer properties window. The way assign a driver to a
387 printer is to either</P
389 ></P
390 ><UL
391 ><LI
393 >Use the "New Driver..." button to install
394 a new printer driver, or</P
395 ></LI
396 ><LI
398 >Select a driver from the popup list of
399 installed drivers. Initially this list will be empty.</P
400 ></LI
401 ></UL
403 >If you wish to install printer drivers for client
404 operating systems other than "Windows NT x86", you will need
405 to use the "Sharing" tab of the printer properties dialog.</P
407 >Assuming you have connected with a root account, you
408 will also be able modify other printer properties such as
409 ACLs and device settings using this dialog box.</P
411 >A few closing comments for this section, it is possible
412 on a Windows NT print server to have printers
413 listed in the Printers folder which are not shared. Samba does
414 not make this distinction. By definition, the only printers of
415 which Samba is aware are those which are specified as shares in
417 CLASS="FILENAME"
418 >smb.conf</TT
419 >.</P
421 >Another interesting side note is that Windows NT clients do
422 not use the SMB printer share, but rather can print directly
423 to any printer on another Windows NT host using MS-RPC. This
424 of course assumes that the printing client has the necessary
425 privileges on the remote host serving the printer. The default
426 permissions assigned by Windows NT to a printer gives the "Print"
427 permissions to the "Everyone" well-known group.</P
428 ></DIV
429 ><DIV
430 CLASS="SECT2"
431 ><HR><H2
432 CLASS="SECT2"
434 NAME="AEN88"
435 >Support a large number of printers</A
436 ></H2
438 >One issue that has arisen during the development
439 phase of Samba 2.2 is the need to support driver downloads for
440 100's of printers. Using the Windows NT APW is somewhat
441 awkward to say the list. If more than one printer are using the
442 same driver, the <A
443 HREF="rpcclient.1.html"
444 TARGET="_top"
446 CLASS="COMMAND"
447 >rpcclient's
448 setdriver command</B
449 ></A
450 > can be used to set the driver
451 associated with an installed driver. The following is example
452 of how this could be accomplished:</P
454 ><PRE
455 CLASS="PROGRAMLISTING"
458 CLASS="PROMPT"
459 >$ </TT
460 >rpcclient pogo -U root%secret -c "enumdrivers"
461 Domain=[NARNIA] OS=[Unix] Server=[Samba 2.2.0-alpha3]
463 [Windows NT x86]
464 Printer Driver Info 1:
465 Driver Name: [HP LaserJet 4000 Series PS]
467 Printer Driver Info 1:
468 Driver Name: [HP LaserJet 2100 Series PS]
470 Printer Driver Info 1:
471 Driver Name: [HP LaserJet 4Si/4SiMX PS]
474 CLASS="PROMPT"
475 >$ </TT
476 >rpcclient pogo -U root%secret -c "enumprinters"
477 Domain=[NARNIA] OS=[Unix] Server=[Samba 2.2.0-alpha3]
478 flags:[0x800000]
479 name:[\\POGO\hp-print]
480 description:[POGO\\POGO\hp-print,NO DRIVER AVAILABLE FOR THIS PRINTER,]
481 comment:[]
484 CLASS="PROMPT"
485 >$ </TT
486 >rpcclient pogo -U root%secret \
488 CLASS="PROMPT"
489 >&gt; </TT
490 > -c "setdriver hp-print \"HP LaserJet 4000 Series PS\""
491 Domain=[NARNIA] OS=[Unix] Server=[Samba 2.2.0-alpha3]
492 Successfully set hp-print to driver HP LaserJet 4000 Series PS.</PRE
493 ></P
494 ></DIV
495 ><DIV
496 CLASS="SECT2"
497 ><HR><H2
498 CLASS="SECT2"
500 NAME="AEN99"
501 >Adding New Printers via the Windows NT APW</A
502 ></H2
504 >By default, Samba offers all printer shares defined in <TT
505 CLASS="FILENAME"
506 >smb.conf</TT
508 in the "Printers..." folder. Also existing in this folder is the Windows NT
509 Add Printer Wizard icon. The APW will be show only if</P
511 ></P
512 ><UL
513 ><LI
515 >The connected user is able to successfully
516 execute an OpenPrinterEx(\\server) with administrative
517 priviledges (i.e. root or <TT
518 CLASS="PARAMETER"
520 >printer admin</I
521 ></TT
524 ></LI
525 ><LI
528 HREF="smb.conf.5.html#SHOWADDPRINTERWIZARD"
529 TARGET="_top"
530 ><TT
531 CLASS="PARAMETER"
533 >show
534 add printer wizard = yes</I
535 ></TT
536 ></A
537 > (the default).
539 ></LI
540 ></UL
542 >In order to be able to use the APW to successfully add a printer to a Samba
543 server, the <A
544 HREF="smb.conf.5.html#ADDPRINTERCOMMAND"
545 TARGET="_top"
546 ><TT
547 CLASS="PARAMETER"
549 >add
550 printer command</I
551 ></TT
552 ></A
553 > must have a defined value. The program
554 hook must successfully add the printer to the system (i.e.
556 CLASS="FILENAME"
557 >/etc/printcap</TT
558 > or appropriate files) and
560 CLASS="FILENAME"
561 >smb.conf</TT
562 > if necessary.</P
564 >When using the APW from a client, if the named printer share does
565 not exist, <B
566 CLASS="COMMAND"
567 >smbd</B
568 > will execute the <TT
569 CLASS="PARAMETER"
571 >add printer
572 command</I
573 ></TT
574 > and reparse to the <TT
575 CLASS="FILENAME"
576 >smb.conf</TT
578 to attempt to locate the new printer share. If the share is still not defined,
579 an error of "Access Denied" is returned to the client. Note that the
581 CLASS="PARAMETER"
583 >add printer program</I
584 ></TT
585 > is executed under the context
586 of the connected user, not necessarily a root account.</P
588 >There is a complementing <A
589 HREF="smb.conf.5.html#DELETEPRINTERCOMMAND"
590 TARGET="_top"
591 ><TT
592 CLASS="PARAMETER"
594 >delete
595 printer command</I
596 ></TT
597 ></A
598 > for removing entries from the "Printers..."
599 folder.</P
600 ></DIV
601 ><DIV
602 CLASS="SECT2"
603 ><HR><H2
604 CLASS="SECT2"
606 NAME="AEN124"
607 >Samba and Printer Ports</A
608 ></H2
610 >Windows NT/2000 print servers associate a port with each printer. These normally
611 take the form of LPT1:, COM1:, FILE:, etc... Samba must also support the
612 concept of ports associated with a printer. By default, only one printer port,
613 named "Samba Printer Port", exists on a system. Samba does not really a port in
614 order to print, rather it is a requirement of Windows clients. </P
616 >Note that Samba does not support the concept of "Printer Pooling" internally
617 either. This is when a logical printer is assigned to multiple ports as
618 a form of load balancing or fail over.</P
620 >If you require that multiple ports be defined for some reason,
622 CLASS="FILENAME"
623 >smb.conf</TT
624 > possesses a <A
625 HREF="smb.conf.5.html#ENUMPORTSCOMMAND"
626 TARGET="_top"
627 ><TT
628 CLASS="PARAMETER"
630 >enumports
631 command</I
632 ></TT
633 ></A
634 > which can be used to define an external program
635 that generates a listing of ports on a system.</P
636 ></DIV
637 ></DIV
638 ><DIV
639 CLASS="SECT1"
640 ><HR><H1
641 CLASS="SECT1"
643 NAME="AEN132"
644 >The Imprints Toolset</A
645 ></H1
647 >The Imprints tool set provides a UNIX equivalent of the
648 Windows NT Add Printer Wizard. For complete information, please
649 refer to the Imprints web site at <A
650 HREF="http://imprints.sourceforge.net/"
651 TARGET="_top"
652 > http://imprints.sourceforge.net/</A
653 > as well as the documentation
654 included with the imprints source distribution. This section will
655 only provide a brief introduction to the features of Imprints.</P
656 ><DIV
657 CLASS="SECT2"
658 ><HR><H2
659 CLASS="SECT2"
661 NAME="AEN136"
662 >What is Imprints?</A
663 ></H2
665 >Imprints is a collection of tools for supporting the goals
666 of</P
668 ></P
669 ><UL
670 ><LI
672 >Providing a central repository information
673 regarding Windows NT and 95/98 printer driver packages</P
674 ></LI
675 ><LI
677 >Providing the tools necessary for creating
678 the Imprints printer driver packages.</P
679 ></LI
680 ><LI
682 >Providing an installation client which
683 will obtain and install printer drivers on remote Samba
684 and Windows NT 4 print servers.</P
685 ></LI
686 ></UL
687 ></DIV
688 ><DIV
689 CLASS="SECT2"
690 ><HR><H2
691 CLASS="SECT2"
693 NAME="AEN146"
694 >Creating Printer Driver Packages</A
695 ></H2
697 >The process of creating printer driver packages is beyond
698 the scope of this document (refer to Imprints.txt also included
699 with the Samba distribution for more information). In short,
700 an Imprints driver package is a gzipped tarball containing the
701 driver files, related INF files, and a control file needed by the
702 installation client.</P
703 ></DIV
704 ><DIV
705 CLASS="SECT2"
706 ><HR><H2
707 CLASS="SECT2"
709 NAME="AEN149"
710 >The Imprints server</A
711 ></H2
713 >The Imprints server is really a database server that
714 may be queried via standard HTTP mechanisms. Each printer
715 entry in the database has an associated URL for the actual
716 downloading of the package. Each package is digitally signed
717 via GnuPG which can be used to verify that package downloaded
718 is actually the one referred in the Imprints database. It is
720 CLASS="EMPHASIS"
721 >not</I
722 > recommended that this security check
723 be disabled.</P
724 ></DIV
725 ><DIV
726 CLASS="SECT2"
727 ><HR><H2
728 CLASS="SECT2"
730 NAME="AEN153"
731 >The Installation Client</A
732 ></H2
734 >More information regarding the Imprints installation client
735 is available in the <TT
736 CLASS="FILENAME"
737 >Imprints-Client-HOWTO.ps</TT
739 file included with the imprints source package.</P
741 >The Imprints installation client comes in two forms.</P
743 ></P
744 ><UL
745 ><LI
747 >a set of command line Perl scripts</P
748 ></LI
749 ><LI
751 >a GTK+ based graphical interface to
752 the command line perl scripts</P
753 ></LI
754 ></UL
756 >The installation client (in both forms) provides a means
757 of querying the Imprints database server for a matching
758 list of known printer model names as well as a means to
759 download and install the drivers on remote Samba and Windows
760 NT print servers.</P
762 >The basic installation process is in four steps and
763 perl code is wrapped around <B
764 CLASS="COMMAND"
765 >smbclient</B
767 and <B
768 CLASS="COMMAND"
769 >rpcclient</B
770 >.</P
772 ><PRE
773 CLASS="PROGRAMLISTING"
775 foreach (supported architecture for a given driver)
777 1. rpcclient: Get the appropriate upload directory
778 on the remote server
779 2. smbclient: Upload the driver files
780 3. rpcclient: Issues an AddPrinterDriver() MS-RPC
783 4. rpcclient: Issue an AddPrinterEx() MS-RPC to actually
784 create the printer</PRE
785 ></P
787 >One of the problems encountered when implementing
788 the Imprints tool set was the name space issues between
789 various supported client architectures. For example, Windows
790 NT includes a driver named "Apple LaserWriter II NTX v51.8"
791 and Windows 95 callsits version of this driver "Apple
792 LaserWriter II NTX"</P
794 >The problem is how to know what client drivers have
795 been uploaded for a printer. As astute reader will remember
796 that the Windows NT Printer Properties dialog only includes
797 space for one printer driver name. A quick look in the
798 Windows NT 4.0 system registry at</P
800 ><TT
801 CLASS="FILENAME"
802 >HKLM\System\CurrentControlSet\Control\Print\Environment
803 </TT
804 ></P
806 >will reveal that Windows NT always uses the NT driver
807 name. This is ok as Windows NT always requires that at least
808 the Windows NT version of the printer driver is present.
809 However, Samba does not have the requirement internally.
810 Therefore, how can you use the NT driver name if is has not
811 already been installed?</P
813 >The way of sidestepping this limitation is to require
814 that all Imprints printer driver packages include both the Intel
815 Windows NT and 95/98 printer drivers and that NT driver is
816 installed first.</P
817 ></DIV
818 ></DIV
819 ><DIV
820 CLASS="SECT1"
821 ><HR><H1
822 CLASS="SECT1"
824 NAME="AEN175"
826 NAME="MIGRATION"
827 ></A
828 >Migration to from Samba 2.0.x to 2.2.x</A
829 ></H1
831 >Given that printer driver management has changed (we hope improved) in
832 2.2 over prior releases, migration from an existing setup to 2.2 can
833 follow several paths.</P
835 >Windows clients have a tendency to remember things for quite a while.
836 For example, if a Windows NT client has attached to a Samba 2.0 server,
837 it will remember the server as a LanMan printer server. Upgrading
838 the Samba host to 2.2 makes support for MSRPC printing possible, but
839 the NT client will still remember the previous setting.</P
841 >In order to give an NT client printing "amesia" (only necessary if you
842 want to use the newer MSRPC printing functionality in Samba), delete
843 the registry keys associated with the print server contained in
845 CLASS="CONSTANT"
846 >[HKLM\SYSTEM\CurrentControlSet\Control\Print]</TT
847 >. The
848 spooler service on the client should be stopped prior to doing this:</P
850 ><TT
851 CLASS="PROMPT"
852 >C:\WINNT\ &#62;</TT
853 > <TT
854 CLASS="USERINPUT"
856 >net stop spooler</B
857 ></TT
858 ></P
861 CLASS="EMPHASIS"
862 >All the normal disclaimers about editing the registry go
863 here.</I
864 > Be careful, and know what you are doing.</P
866 >The spooler service should be restarted after you have finished
867 removing the appropriate registry entries by replacing the
869 CLASS="COMMAND"
870 >stop</B
871 > command above with <B
872 CLASS="COMMAND"
873 >start</B
874 >.</P
876 >Windows 9x clients will continue to use LanMan printing calls
877 with a 2.2 Samba server so there is no need to perform any of these
878 modifications on non-NT clients.</P
879 ><DIV
880 CLASS="WARNING"
882 ></P
883 ><TABLE
884 CLASS="WARNING"
885 BORDER="1"
886 WIDTH="100%"
887 ><TR
888 ><TD
889 ALIGN="CENTER"
891 >Achtung!</B
892 ></TD
893 ></TR
894 ><TR
895 ><TD
896 ALIGN="LEFT"
898 >The following smb.conf parameters are considered to be depreciated and will
899 be removed soon. Do not use them in new installations</P
901 ></P
902 ><UL
903 ><LI
905 ><TT
906 CLASS="PARAMETER"
908 >printer driver file (G)</I
909 ></TT
912 ></LI
913 ><LI
915 ><TT
916 CLASS="PARAMETER"
918 >printer driver (S)</I
919 ></TT
922 ></LI
923 ><LI
925 ><TT
926 CLASS="PARAMETER"
928 >printer driver location (S)</I
929 ></TT
932 ></LI
933 ></UL
934 ></TD
935 ></TR
936 ></TABLE
937 ></DIV
939 >Here are the possible scenarios for supporting migration:</P
941 ></P
942 ><UL
943 ><LI
945 >If you do not desire the new Windows NT
946 print driver support, nothing needs to be done.
947 All existing parameters work the same.</P
948 ></LI
949 ><LI
951 >If you want to take advantage of NT printer
952 driver support but do not want to migrate the
953 9x drivers to the new setup, the leave the existing
954 printers.def file. When smbd attempts to locate a
955 9x driver for the printer in the TDB and fails it
956 will drop down to using the printers.def (and all
957 associated parameters). The <B
958 CLASS="COMMAND"
959 >make_printerdef</B
961 tool will also remain for backwards compatibility but will
962 be moved to the "this tool is the old way of doing it"
963 pile.</P
964 ></LI
965 ><LI
967 >If you install a Windows 9x driver for a printer
968 on your Samba host (in the printing TDB), this information will
969 take precedence and the three old printing parameters
970 will be ignored (including print driver location).</P
971 ></LI
972 ><LI
974 >If you want to migrate an existing <TT
975 CLASS="FILENAME"
976 >printers.def</TT
978 file into the new setup, the current only solution is to use the Windows
979 NT APW to install the NT drivers and the 9x drivers. This can be scripted
980 using <B
981 CLASS="COMMAND"
982 >smbclient</B
983 > and <B
984 CLASS="COMMAND"
985 >rpcclient</B
986 >. See the
987 Imprints installation client at <A
988 HREF="http://imprints.sourceforge.net/"
989 TARGET="_top"
990 >http://imprints.sourceforge.net/</A
992 for an example.
994 ></LI
995 ></UL
996 ></DIV
997 ></DIV
998 ></BODY
999 ></HTML