> developer > cross-platform, network, & collaboration > drivers > print
Printer INF files and NDPS

  Where to find INF file format information published by Microsoft
  Good things to include in INF files
  Example of what plug and play ID looks like in the install section
  Language issues
  English driver entry in an INF file
  French driver entry in an INF file (suggestion)
  Don't do the following
  Common "questionable" syntax for Win95 INF files
  INF features not currently supported
  Misc. general printer driver notes

where to find INF file format information published by Microsoft
The best source we have found so far for inf file format specifications is on the Microsoft Developer Network CD. A good overview article is titled "Using the Printer-Specific Windows 95 INF File Extensions" (at least that was the title on one of the MSDN CD's). Other useful information can be obtained from the MSDN CD by looking up stuff on each of the subsection types in the INF file (ex: the CopyFiles Section, the Manufacturer Section, DataSection, SourceDiskFiles, SourceDiskNames, etc.).
good things to include in INF files
1) Plug and Play ID's - in a key identified under an install section title you can add a 24 character Plug and Play ID (on printers that have IEEE 1284 DID's). Since NDPS can use these ID's it is useful to us if you include them. We have seen many INF files that do not include them yet the printer is capable.
example of what plug and play ID looks like in the install section
[HPLaserPrinter]
"HP LaserJet 5/5M - Standard"= HPPCL5G.DRV,LPTENUM\HEWLETT-PACKARDHP_LAE238
language issues
For printer drivers of different languages it could be helpful to the Admin of NDPS to have a language identified in the name of the printer displayed from the INF file. We have seen some INF files that for different languages use the same "listable" name for the printer. For the currently released version of NDPS this causes some problems because we use that name to insure we don't have two duplicate drivers showing up in the list of available drivers in the RESDIR. Using the same printer names for all languages would result in only the last printer driver installed to the RESDIR being useful. In the NW5 release of NDPS we have fixed this problem by searching for duplictates and prompting for an additional identifier string to append to the printer name. See Examples below:
English driver entry in an INF file
[HPLaserPrinter]
"HP LaserJet 5/5M - Standard"= HPPCL5G.DRV,LPTENUM\HEWLETT-PACKARDHP_LAE238
French driver entry in an INF file (suggestion)
[HPLaserPrinter]
"HP LaserJet 5/5M - Standard (French)"= HPPCL5G.DRV,LPTENUM\HEWLETT-PACKARDHP_LAE238
don't do the following
Please don't do the following, it would result in three exact printer names to show up in the NDPS add printer driver list and the user will not know what one is which: [Manufacturer]
Brother(English)=English
Brother[Français]=French
Brother[Nederland]=Dutch

[English]
"Brother HL-1260 series"=Printer1
[French]
"Brother HL-1260 series"=Printer2
[Dutch]
"Brother HL-1260 series"=Printer3

common "questionable" syntax for Win95 INF files
Here are some examples of syntax we have seen in INF files that sometimes don't fit exactly the MS standard and just make the files confusing. We can handle most of these but you could avoid them.

Don't:
[Manufacturer]
MyCompany = MyCompany

Do:
[Manufacturer]
"MyCompany" = MyCompany
or
"MyCompany"
or
%SomeAlias% = MyCompany

Don't do in CopyFiles section (our parser will not handle this case):
[X4517PS2.drv]
x4517_rs.dll=
x4517.dll=
x4517.p2p=
...
or
[X4517PS2.drv]
x4517_rs.dll
x4517.dl_ <<mixing compressed file names with uncompressed names
x4517.p2p

Do:
[X4517PS2.drv]
x4517_rs.dll
x4517.dll
x4517.p2p
...
or
[X4517PS2.drv]
x4517_rs.dll = x4517_rs.dl_
x4517.dll = x4517.dl_
x4517.p2p = x4517.p2_
...
or
[X4517PS2.drv]
x4517_rs.dll, x4517_rs.dl_
x4517.dll , x4517.dl_
x4517.p2p , x4517.p2_
...
for more info. see the [CopyFiles] documentation on the MSDN CD

INF features not currently supported
1) Having relative path incorporated in the [CopyFiles] section. We currently expect the files referenced in the inf file to be in the same directory as the inf file. (NOT supported in NDPS 2.0 in Netware5 - GWG 5/15/98)

[X4517PS2.drv]
x4517_rs.dll, install\x4517_rs.dll
x4517.dll, install\x4517.dll
x4517.p2p, install\x4517.p2p
...

2) NDPS will not support the inf feature to run another driver setup executable after the driver has been installed into the system to preserve the "hands off" auto driver download feature. The .INF key that allow such behavior is called "VendorInstaller" and it is currently just ignored. If you can avoid the use of this keyname in your inf files, please do so.

Ending Note: we are continuously improving our parsing algorithm but if you stick closer to MS standard INF form we will have a better chance of processing you INF files.

misc. general printer driver notes
1) Please try to avoid characters in file names making up the driver that do not conform to the IS0 9660 standard (don't use @, &, etc.).

2) New fancy drivers are coming out for "multipurpose" devices (combined printer, scanner, toaster) that do something in the actual driver software that require a certain form of port name (i.e.: LPT1:, LPT2:, etc.). NDPS uses a unique port name for interfacing with our system (NDPS1:,NDPS2:, etc.) and since the fancy driver requires the old port name users can not easily use this for NDPS. That feature in your drivers may be necessary but it can't be fully supported by NDPS.

3) NDPS 2.0 does support a VendorSetup key in the .inf file and will attempt to run the specified exe but we do not support the VendorInstaller key.