This section describes how to customize Windows 98 to use Novell’s Novell Client for Windows 95/98 and to detect NetWare components and TSRs during Setup.
This section describes how to customize your Windows 98 installation to use Novell’s Novell Client for Windows 95/98. For more information on configuring Novell NetWare clients, including the Novell Client for Windows 95/98, see Chapter 17, "Windows 98 on Third-Party Networks."
To automate a Windows 98 installation with the Novell Client for Windows 95/98
Novell provides special setup files for automating Windows installations using an Msbatch.inf custom setup script. You must use these files for your customized installation to work properly.
\\Server1\Windows98
For the following Batch.exe option | Do the following |
---|---|
Protocols tab in Network Options | Select the IPX/SPX-compatible Protocol |
Additional Clients tab in Network Options | In Other Clients, under: Protocols, type NovellIPX32 Clients, type Novell32 |
\\Server1\Windows98\Msbatch.inf
Nwclient.infNwtrans.inf
Click Yes when Infinst.exe warns you about overwriting an existing Nwtrans.inf file.
Setup.exe Msbatch.inf at the command prompt.
– Or –
\\Server1\Windows98\Setup.exe Msbatch.inf in the Run dialog box from the Start menu.
This section describes the format of Netdet.ini, which is used to detect NetWare components and TSRs during Windows 98 Setup. You can use this information to add custom entries for detecting components on NetWare networks and defining actions to be taken during Setup based on detection results.
Note
If you do not need to modify the default detection behavior for setting up Windows 98 on NetWare networks, you can skip this section.
The Netdet.ini and related Netos.dll files are stored in the Precopy2.cab file on the Windows 98 floppy disks or compact disc. The version used by Windows 98 Setup is stored in the %WinDir% directory (Windows 98 installation directory) on the local computer. If you modify this file, you can place the revised version of Netdet.ini in the share on the server that contains the Windows 98 source files.
Each component section in Netdet.ini consists of one or more detection entries, and one or more event entries. A detection entry has the following format:
detectionN=method1[,method2...]
Alternate detection entries can be used to define different actions to be taken, depending on how a component is detected. For example, a TSR detected in memory but not in a batch file might require different actions from the actions required when an entry for the TSR is found in Autoexec.bat. For example:
detection0=mcb
detection1=autoexec.bat
full_install0=migrate
full_install1=prevent
Each method# parameter in the detection statement defines a detection method, as listed in Table 3.12. Setup assumes that the component has been detected if one method detects it.
Table 3.12 Detection methods
Detection method | Meaning |
---|---|
assumed | Always detected; used to force an action unconditionally |
autoexec.bat | Detected in an uncommented line in Autoexec.bat |
config.sys | Detected in an uncommented line in Config.sys |
custom_dll | Detected by calling external dynamic-link library (DLL) detection code |
mcb | Detected by checking the list of TSRs maintained by MS-DOS in the memory control blocks (MCBs) |
mcb_nobat | Detected in the MCB chain but not in Autoexec.bat |
system.ini | Detected in an uncommented line in System.ini |
The special detection method custom_dll requires two additional entries: detection_dll, which contains the file name of the DLL to be loaded, and detection_call, which contains the name of the entry point consistent with the following typedef:
typedef BOOL (WINAPI *LPDCALL)(LPSTR)
Adding custom entries based on this detection method requires that you have sufficient programmatic understanding of the calls made in the relevant DLLs. For an example of required entries for custom_dll, see the example entry for VLM later in this section.
The Netdet.ini file includes one or more event entries grouped by numerical suffixes that match the suffixes in detection entries (that is, N must be 0 or 1). Each event entry contains a list of actions to be performed if the associated detection action was successful. The following shows the form of event entries:
eventN=action1[(parameter)][,action2[(parameter)]...]
The event name is the name of the Setup code for handling installation of components related to the detected TSR or NetWare component. The following list shows the defined events.
Event | Meaning |
---|---|
Protstack_installN | The protected-mode protocol will be installed. |
Nwredir_installN | The protected-mode network client will be installed. |
Full_installN | The protected-mode protocol and network client will be installed. |
Table 3.13 lists the defined action codes related to events in Netdet.ini.
Table 3.13 Netdet.ini action codes
Action code | Meaning |
---|---|
None | Do not do anything (NOP). |
Prevent | Recommend against using during recommendation phase. |
Remove | Comment out using REM in Autoexec.bat or a batch file called from Autoexec.bat. |
Unremove | Remove REM comment from Autoexec.bat or a batch file called from Autoexec.bat. |
Migrate | Comment out using REM in Autoexec.bat, and add to Winstart.bat. |
Unmigrate | Remove REM comment in Autoexec.bat, and remove from Winstart.bat. |
Install_devnode(devnode) | Cause specified device node to be installed. |
Uninstall_devnode(devnode) | Cause specified device node to be removed . |
Gen_install(section) | Cause action in an Install section to run (see the example for Source Routing for NetWare later in this section). |
Notice that the event named prevent is a special case that is used during the recommendation phase when Setup is determining which new Windows 98 components can be installed without interfering with TSR dependencies defined in Netdet.ini. If a component is detected by the defined method and the prevent action is associated with the related event, then Setup will recommend against the usual Setup action for the event.
The following shows some examples of entries in Netdet.ini:
;;;;;; NOVELL Directory Services VLM 4.x ;;;;;;;;
; Prevents installation of Client for NetWare Networks
; if Novell NDS is used.
[VLM]
detection0=custom_dll
detection_dll=NETOS.DLL
detection_call=NW_IsNDSinUse
full_install0=prevent
;;;;;; IPX MONO Detection ;;;;;;;;
[IPXMONO]
detection0=custom_dll
detection_dll=NETDI.DLL
detection_call=NW_IsIpxMonoOnlyCard
full_install0=prevent
;;;;;;;;;; SOURCE ROUTING FOR NETWARE ;;;;;;;;;
; Adds cache size for Source Routing.
[ROUTE]
detection0=mcb
full_install0=remove,gen_install(NWSRCR)
[NWSRCR]
AddReg=NWSRCR.reg
UpdateInis=NWSRCR_INI
[NWSRCR.reg]
HKLM,System\CurrentControlSet\Services\VxD\NWLINK,cachesize,,"16"
HKLM,System\CurrentControlSet\Services\VxD\NWLINK\Ndi\params\cachesize,"",,"16"
[NWSRCR_INI]
%26%\protocol.ini,NWLINK$,,"cachesize=16"
;;;;;;; NOVELL Named-Pipes Support ;;;;;;;;;;;;;;;
[DOSNP.EXE]
detection0=mcb,mcb_nobat
protstack_install0=prevent
detection1=mcb_nobat
full_install1=prevent
;;;;;; NOVELL NETBIOS ;;;;;;;;;;;;;;;;;;
; Installs NETBIOS over IPX if Novell NETBIOS is present.
[NETBIOS]
detection0=mcb
full_install0=remove,install_devnode(NWNBLINK)
;;;;;; Btrieve ;;;;;;;;;;
[Brequest.exe]
detection0=mcb,mcb_nobat
full_install0=migrate
detection1=mcb_nobat
full_install1=prevent