PROCESS OVERVIEW ? Modify the appropriate INF and SIF files. ? Copy the vendor supplied drivers to the I386 share point. ? Test the process. IMPORTANT FILES Filename Location Description DOSNET.INF I386 Defines which files to expand and copy to the workstation?s local drive during the first phase of the unattended setup. These files are copied to the temporary directory structure. TXTSETUP.SIF I386 Defines which files to copy and where to copy them to during the second phase of the unattended setup. These files are copied to their permanent directory structure. DISPLAY.INF I386 Information file which defines all the video adapters which NT can auto detect and the files and registry entries needed to successfully install them. ATI.INF, ATI.SYS, ATI.DLL, ATIMCD.DLL, SSDPMS.SCR, SSGPCDEF.RSC, SSGPCDEF.HLP Vendor supplied drivers and information file. PROCESS DETAILS DOSNET.INF 1. Open the ATI.INF file and determine all the files which need to be copied during the install. The following code from ATI.INF shows the section which gives us this information. [SourceDisksFiles] ati.sys = 1,ati ati.dll = 1,ati atimcd.dll = 1,ati ssdpms.scr = 1,ati ssgpcdef.rsc = 1,ati ssgpcdef.hlp = 1,ati 2. The files listed need to be added to the [Files] section of the DOSNET.INF file. Type these entries into DOSNET.INF or copy, paste and edit this code into the file. In our example the ATI.SYS and ATI.DLL file already exist in the DOSNET.INF file. The entries for ATI.DLL and ATI.SYS were moved to keep all the files for the ATI adapter together. The following code from DOSNET.INF shows the updated file. [Files] d1,_default.pif d1,31users.hlp d1,3dgarro.cur d1,3dgmove.cur . . . ;adding the lines to support the ATI 3D Rage Adapter d1,ati.dll d1,ati.sys d1,atimcd.dll d1,ssdpms.scr d1,ssgpcdef.rsc d1,ssgpcdef.hlp TXTSETUP.SIF 3. Edit the TXTSETUP.SIF file. There are several sections which define the files to copy and the destination directories. The first section lists common files. The next section list files for Exchange. Next are file sections for Alpha, MIPS, PPC and X86 hardware. Shown below are the lines necessary for the six ATI files. The syntax for these lines is copied from an existing entry. What is significant is the number shown in bold text, which indicates the destination directory. ;adding lines for ATI 3D Rage Pro Adapter ati.sys = 1,,,,,,,4,1 ati.dll = 1,,,,,,,2,1 atimcd.dll = 1,,,,,,,2,1 ssdpms.scr = 1,,,,,,,2,1 ssgpcdef.rsc = 1,,,,,,,2,1 ssgpcdef.hlp = 1,,,,,,,2,1 For consistency this new section was added to the bottom of each hardware platform (Alpha, MIPS, PPC and X86) section. The ATI.INF and TXTSETUP.SIF files must be referenced to determine the correct destination directories. 4. The code below is from the ATI.INF file and shows the destination directories for the four file sections. Three of the sections point to SYSTEM32 and one points to DRIVERS. [DestinationDirs] DefaultDestDir = 11 ati.Miniport = 12 ; drivers ati.Display = 11 ; system32 ati.OpenGL = 11 ; system32 ati.Scrnsave = 11 ; system32 5. The next piece of code is from TXTSETUP.SIF and shows the destination directories used during the unattended setup. The destination directory for each file must remain the same, but the number will need to change. The SYSTEM32 directory is referenced as ?11? in ATI.INF and ?2? in TXTSETUP.SIF. The DRIVERS directory is referenced at ?12? in ATI.INF and ?4? in TXTSETUP.SIF. [WinntDirectories] 1 = "\" 2 = system32 3 = system32\config 4 = system32\drivers 5 = system 6 = system32\os2 7 = system32\ras 8 = system32\os2\dll 9 = system32\spool 10 = system32\spool\drivers 11 = system32\spool\drivers\w32x86\2 12 = system32\spool\prtprocs 13 = system32\spool\prtprocs\w32x86 14 = system32\wins 15 = system32\dhcp 16 = repair 17 = system32\drivers\etc 18 = system32\spool\drivers\w32x86 19 = system32\viewers 20 = inf 21 = Help 22 = Fonts 23 = Config 24 = Profiles 25 = Cursors 26 = Media DISPLAY.INF 6. Edit the DISPLAY.INF file. This file gives the instructions necessary to install the detected video adapter. The instructions from the vendor supplied ATI.INF file, must be merged into DISPLAY.INF. 7. The [DestinationDirs] section was modified to include sections for ati.OpenGL and ati.Scrnsavr as shown below. [DestinationDirs] DefaultDestDir = 11 system32 ati.Miniport = 12 ati.Display = 11 cirrus.Display = 11 ;adding the lines for the ATI 3D Rage Pro Adapter ati.OpenGL = 11 ati.Scrnsave = 11 8.Next, the [ATI.MFG ] section was modified to include the name of the new video adapter as shown below. [Ati.Mfg] %Ati% %CompatAdap% = ati, ATI_COMPAT %Ati% 8514 ULTRA = ati %Ati% GRAPHICS PRO TURBO ISA = ati %Ati% GRAPHICS PRO TURBO PCI = ati %Ati% GRAPHICS PRO TURBO VLB = ati %Ati% GRAPHICS PRO TURBO 1600 PCI = ati %Ati% GRAPHICS ULTRA = ati %Ati% GRAPHICS ULTRA PLUS = ati %Ati% GRAPHICS ULTRA PRO ISA = ati %Ati% GRAPHICS ULTRA PRO EISA = ati %Ati% GRAPHICS ULTRA PRO MCA = ati %Ati% GRAPHICS ULTRA PRO PCI = ati %Ati% GRAPHICS ULTRA PRO VLB = ati %Ati% GRAPHICS VANTAGE = ati %Ati% GRAPHICS WONDER ISA = ati %Ati% GRAPHICS WONDER VLB = ati %Ati% GRAPHICS XPRESSION ISA = ati %Ati% GRAPHICS XPRESSION PCI = ati %Ati% GRAPHICS XPRESSION VLB = ati %Ati% mach 8 %CompatAdap% = ati %Ati% mach 32 %CompatAdap% = ati %Ati% mach 64 CT,CX,VT,GX %CompatAdap% = ati %Ati% VIDEO XPRESSION PCI = ati %Ati% Win Turbo PCI = ati %Ati% Win Turbo VLB = ati %Ati% Win Turbo ISA = ati %Ati% mach 64 CT,CX,VT,GX %CompatAdap% = ati %Ati% mach 64 CT,CX,VT,GX %CompatAdap% = ati ;adding the drivers for the ATI 3D Rage Pro %ATI% 3D RAGE PRO = ati 9. The [ATI] section was modified by adding ati.OpenGL and ati.Scrnsave to the CopyFiles keyword as shown below. The ati.Miniport and ati.Display sections already existed. ; ati Driver Section [ati] CopyFiles=ati.Miniport, ati.Display, ati.OpenGL, ati.Scrnsave 10. Since new sections were added to the [ATI] section in the previous step, the new sections must be added to the DISPLAY.INF file. The sections, ati.Miniport, ati.Display, ati.OpenGL and ati.Scrnsave define the files to copy. The DISPLAY.INF already contains two of these sections. The new sections are added below the miniport sections as shown below. Because the DISPLAY.INF contains instructions for many different adapters, the file is large and sections are spread out much more than in the ATI.INF file. ; Adding lines for ATI 3D Rage Adapter OpenGL pieces [ati.OpenGL] atimcd.dll [ati.Scrnsave] ssdpms.scr ssgpcdef.rsc ssgpcdef.hlp 11. Next, the [ati.Services] section of ATI.INF is checked. We see that all the sections and entries are already contained in DISPLAY.INF so no additions or changes are necessary. It should be noted that some of the section names are different, but the entries are exactly the same. In ATI.INF there is the [ati_Service_Inst] section, which is called [ati_Generic_Service_Inst] in DISPLAY.INF. 12. The next item to check is the [ati_SoftwareDeviceSettings] section. The original section in DISPLAY.INF only contains two entries, as shown below. [ati_SoftwareDeviceSettings] HKR,, InstalledDisplayDrivers, %REG_MULTI_SZ%, ati, 8514a HKR,, VgaCompatible, %REG_DWORD%, 0 The [ati_SoftwareDeviceSettings] section from ATI.INF contains ten entries. Two of these ten are exactly the same, so eight new entries (bold text) are added to the section in DISPLAY.INF as shown below. [ati_SoftwareDeviceSettings] HKR,, AllowedPixelDepth, %RE