http://www.microsoft.com/hwdev/ddk/ddk40.htm

http://www.microsoft.com/hwdev/devdes/printerinf.HTM

http://msdn.microsoft.com/library/default.asp?URL=/library/psdk/setupapi/setupapiovr_2qn9.htm

http://msdn.microsoft.com/library/default.asp?PP=/library/toc/win95ddk/win95ddk0-0-1-1-13.xml&tocPath=win95ddk0-0-1-1-13&URL=/library/ddkdoc/win95ddk/devinst_15yx.htm

http://msdn.microsoft.com/library/default.asp?URL=/library/psdk/shellcc/shell/shell_basics/autoplay_cmds.htm autorun

http://support.microsoft.com/support/kb/articles/Q166/8/39.ASP

WINDOWS NT 4.0 REGISTRY: A Professional Reference by Steven B. Thomas Chapter 15 Printer Entries

Con2prt.exe from the Windows Zero Administration Kit or ZAK:
http://www.microsoft.com/windows/zak/default.htm

  1. Get HKEY_Local_Machine\System\CurrentControlSet\Control\Print\Environments\Windows NT X86, Directory. This is where the driver needs to be installed relative to $$\system32\spool\drivers\. Normally this is w32x86. Aka %DriverDir%
  2. Get HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT x86\Print Processors\winprint, Driver. This should be winprint.dll
  3. There is a directory called 2 under the %DriverDir% directory, but I believe that the driver setup dll (hpblff0.dll for the LJ 4 driver) or the OS copies the printer driver files into that directory when the installation is complete.
  4. Make a new key using the name of the printer under HKEY_Local_Machine\System\CurrentControlSet\Control\Print\Environments\Windows NT X86\Drivers\Version-%DriverVersion%
  5. Define entries for the files and settings used by the driver. The path for driver files is assumed to be $$\system32\spool\drivers\%DriverDir%\%DriverVersion%
  6. Make HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors\%MonitorName%
  7. Define HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors\%MonitorName%, Driver = %MonitorFile%

1. I installed the driver and set up the printer manually using

Settings..Printer...Add Printer.


2. I then looked at
HKEY_Local_Machine\System\CurrentControlSet\Control\Print\Environments\W
indows NT x86\Drivers\Version-2\<driver-name>


3. This gave me the names of the driver files that had been installed in
\WINNT\System32\Spool\Drivers\w32x86


4. I then did an export of
HKEY_Local_Machine\System\CurrentControlSet\Control\Print\Environments\W
indows NT x86\Drivers\Version-2\<driver-name> using regedit


5. I also did an export of
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers\<prin
ter name> using regedit



Before testing the install I deleted all entries on my machine for the
printer and driver, following the instructions in Q135406, and rebooted
the machine.


So at this point the driver/printer were no longer installed.


I then rebooted the machine and copied the driver files(which I had
copied and deleted earlier) back into
\WINNT\System32\Spool\Drivers\w32x86 , ran the reg file created at 4.
above, then the one created at 5. above. I then rebooted and hey presto,
the driver was installed and the printer available.


I have not yet tried installing the driver this way on another machine,
however


Also although by editing the reg file created at 5. above, I was able to
amend the name of the printer entry, I was not able to amend the name of
the driver entry. If I did so I got an error about the driver not being
installed when I tried to access the Properties tab for the Printer,
although the registry entries seemed to tie together.




        License Agreement  
 
AutomateProject | AutomateProject.inf 

--------------------------------------------------------------------------------
 
 

[Version]
signature="$CHICAGO$"
AdvancedINF=2.0

[SourceDisksNames]
1="My Application Files",,1

[SourceDisksFiles]
calc.exe=1

[DefaultInstall]
Copyfiles=DestinationRoot
Copyfiles=Samples
Copyfiles=Images
CustomDestination=MyCustomDestination

[DestinationRoot]
"EventsExample.mpp"


[DestinationDirs]
DestinationRoot=49000

[MyCustomDestination]
49000=PackageDestination,1

[PackageDestination]
"","","","Choose a location to install the Microsoft Project 2000 document containing sample event code","C:\Program Files\Microsoft Project 2000 SDK\AutomateProject"


See: