home *** CD-ROM | disk | FTP | other *** search
/ Network Support Encyclopedia 96-1 / novell-nsepro-1996-1-cd2.iso / download / netware / ntws1.exe / NTCLI / NTCLNT_1.350 / OEMSETUP.INF < prev    next >
INI File  |  1995-05-19  |  111KB  |  3,353 lines

  1. ;***********************************************************************
  2. ;
  3. ; OEMSETUP.INF
  4. ;
  5. ;    Novell NetWare base installation INF
  6. ;
  7. ;
  8. ;***********************************************************************
  9.  
  10. ;-----------------------------------------------------------------------
  11. ; OPTION TYPE
  12. ; -----------
  13. ; This identifies the Option type we are dealing with.  The different
  14. ; possible types are:
  15. ;
  16. ; COMPUTER, DISPLAY, MOUSE, KEYBOARD, LAYOUT, SCSI, PRINTER, ...
  17. ;
  18. ;  Types specific to networking:
  19. ;
  20. ; NetAdapter,     a netcard / adapter combination or just a netcard
  21. ; NetDriver,      just a netcard driver
  22. ; NetTransport,    a complete NDIS-compliant TDI transport stack
  23. ; NetService,     an NT networking service
  24. ; NetWork,        a complete network ensemble.
  25. ; NetProvider     a complete network which supports NT MPR protocol
  26. ;-----------------------------------------------------------------------
  27.  
  28. [Identification]
  29.     OptionType = NetProvider
  30.  
  31. ;-----------------------------------------------------------------------
  32. ; OPTION LIST
  33. ; -----------
  34. ; This section lists the OEM Option key names.  These keys are locale
  35. ; independent and used to represent the option in a locale independent
  36. ; manner.
  37. ;
  38. ;-----------------------------------------------------------------------
  39.  
  40. [Options]
  41.     NWFS
  42.  
  43. ;-----------------------------------------------------------------------
  44. ; LANGUAGES SUPPORTED
  45. ; -------------------
  46. ;
  47. ; The languages supported by the OEM INF, For every language supported
  48. ; we need to have a separate text section for every displayable text
  49. ; section.
  50. ;
  51. ;-----------------------------------------------------------------------
  52.  
  53. [LanguagesSupported]
  54.     ENG, ENGLISH
  55.  
  56. ;-----------------------------------------------------------------------
  57. ; OPTION TEXT SECTION
  58. ; -------------------
  59. ; These are text strings used to identify the option to the user.  There
  60. ; are separate sections for each language supported.  The format of the
  61. ; section name is "OptionsText" concatenated with the Language represented
  62. ; by the section.
  63. ;
  64. ;-----------------------------------------------------------------------
  65.  
  66. [OptionsTextENG]
  67.     NETWARE    = "Novell NetWare Client Services"
  68.  
  69. ;***********************************************************************
  70. ; Language-Dependent Dialog Constants
  71. ;***********************************************************************
  72. [FileConstantsENG]
  73. ;
  74. ;  Variables to support thermometer gauge and error dialogs
  75. ;
  76. ProCaption    = "Novell NetWare Client Services Setup"
  77. ProCancel    = "Cancel"
  78. ProCancelMsg = "The Novell NetWare Client Services is not correctly installed.  "+
  79.          "Are you sure you want to cancel copying files?"
  80.  
  81. ProCancelCap = "Network Setup Message"
  82. ProText1    = "Copying:"
  83. ProText2    = "To:"
  84.  
  85.  
  86. ;
  87. ; Product Info
  88. ;
  89. FunctionTitle    = "NetWare Services Setup"
  90.  
  91. ;
  92. ; Used by GetInfFileNameFromRegistry
  93. ;
  94. [InitBaseVars]
  95.  
  96. KeyNull        = ""
  97. MAXIMUM_ALLOWED    = 33554432
  98. KeyInfo        = {}
  99. RegistryErrorIndex = NO_ERROR
  100. NoTitle        = 0
  101.  
  102. CurrentControlSet  = "SYSTEM\CurrentControlSet"
  103. ServicesBaseName    = $(CurrentControlSet)"\Services"
  104.  
  105. [OdiNSupVars]
  106.      OdiNSupServiceName    = "ODINSUP"
  107.      OdiNSupParameters    = $(!NTN_ServiceBase)"\"$(OdiNSupServiceName)"\Parameters"
  108.      OdiNSupLinkage        = $(!NTN_ServiceBase)"\"$(OdiNSupServiceName)"\Linkage"
  109.      OdiNSupCardName        = "Bind"
  110.      OdiNSupCardInstance = "BoardInstance"
  111.  
  112. [OdiVars]
  113.      OdiLoadDriverName     = "OdiLoad"
  114.      OdiModules     = "ODI_Modules"
  115.      OdiLinkName    = "OdiLoadName"
  116.      OdiModuleName = $(!NTN_ServiceBase)"\"$(OdiLoadDriverName)"\"$(OdiModules)
  117.      NetworkCardsKeyName = $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards"
  118.  
  119. ;-----------------------------------------------
  120. ; Input DIALOGS
  121. ;-----------------------------------------------
  122. [FileDependentDlgENG]
  123. ;
  124. ; No UI yet for NetWare Services
  125. ;
  126.  
  127.  
  128. ;***********************************************************************
  129. ; CONSTANTS FOR USING DIALOGS
  130. ;***********************************************************************
  131.  
  132. [FileConstants]
  133. ;
  134. ;  File names, etc.
  135. ;
  136. UtilityInf    = "UTILITY.INF"
  137. subroutineinf    = "SUBROUTN.INF"
  138. NwSubsInf    = "NWSUBS.INF"
  139. NwSetupDll    = "nwsetup.dll"
  140. SoftwareType    = "service"
  141. Exit_Code    = 0
  142. ;ShellCode    = 0
  143.  
  144. ; Product Info
  145. ;
  146. Manufacturer    = "Novell"
  147. ProductMajorVersion    = "1"
  148. ProductMinorVersion    = "01"
  149. ProductVersion  = $(ProductMajorVersion)"."$(ProductMinorVersion)
  150. UserModeRoot    = "%SystemRoot%"
  151. System32Root    = $(UserModeRoot)"\System32\"
  152. SoftwareBinHome = $(System32Root)"NetWare\"
  153. DriverBinHome    = $(System32Root)"Drivers\"
  154. NetWareEventFile= $(System32Root)"nwevents.dll"
  155.  
  156.  
  157. ;
  158. ; Services
  159. ;
  160.  
  161. ; MUP: if not already installed
  162.  
  163. ProductMUPControl    = service
  164. ProductMUPHidden     = 0
  165. ProductMUPInstrumentation    = FALSE
  166. ProductMUPName      = "Mup"
  167. ProductMUPDisplayName  = "Mup"
  168. ProductMUPTitle     = "Mup"
  169. ProductMUPImagePath    = "\SystemRoot\System32\drivers\mup.sys"
  170. ProductMUPSvcType    = "transport"
  171. ProductMUPGroup     = "Network"
  172. ProductMUPDependList    = {}
  173. ProductMUPEventFile    = ""
  174.  
  175. ; TDI: if not already installed
  176.  
  177. ProductTDIControl    = service
  178. ProductTDIHidden     = 0
  179. ProductTDIInstrumentation    = FALSE
  180. ProductTDIName      = "Tdi"
  181. ProductTDIDisplayName  = "Tdi"
  182. ProductTDITitle     = "Tdi"
  183. ProductTDIImagePath    = "\SystemRoot\System32\drivers\TDI.sys"
  184. ProductTDISvcType    = "kernelauto"
  185. ProductTDIGroup     = "Network"
  186. ProductTDIDependList    = {}
  187. ProductTDIEventFile    = ""
  188.  
  189. ; NwtDrv: Driver for Ipx Api's.
  190.  
  191. ProductNWTControl    = service
  192. ProductNWTHidden     = 0
  193. ProductNWTInstrumentation    = TRUE
  194. ProductNWTName      = "NwtDrv"
  195. ProductNWTDisplayName  = "NetWare Transport Interface"
  196. ProductNWTTitle     = "NetWare Transport Interface"
  197. ProductNWTImagePath    = $(SoftwareBinHome)nwtdrv.sys
  198. ProductNWTSvcType    = "kernelautostart"
  199. ProductNWTGroup     = ""
  200. ProductNWTDependList    = {"+TDI"}
  201. ProductNWTEventFile    = $(NetWareEventFile)
  202.  
  203. ; SpxApi: Driver for Spx Api's.
  204.  
  205. ProductSPXAPIControl    = service
  206. ProductSPXAPIHidden = 0
  207. ProductSPXAPIInstrumentation    = TRUE
  208. ProductSPXAPIName      = "SpxApi"
  209. ProductSPXAPIDisplayName  = "NetWare SPX Transport Interface"
  210. ProductSPXAPITitle     = "NetWare SPX Transport Interface"
  211. ProductSPXAPIImagePath    = $(SoftwareBinHome)spxapi.sys
  212. ProductSPXAPISvcType    = "systemauto"
  213. ProductSPXAPIGroup     = ""
  214. ProductSPXAPIDependList    = {"+TDI"}
  215. ProductSPXAPIEventFile    = $(NetWareEventFile)
  216.  
  217. ; IpxApi: Driver for Ipx Api's.
  218.  
  219. ProductIPXAPIControl    = service
  220. ProductIPXAPIHidden     = 0
  221. ProductIPXAPIInstrumentation    = TRUE
  222. ProductIPXAPIName      = "IpxApi"
  223. ProductIPXAPIDisplayName  = "NetWare IPX Transport Interface"
  224. ProductIPXAPITitle     = "NetWare IPX Transport Interface"
  225. ProductIPXAPIImagePath    = $(SoftwareBinHome)ipxapi.sys
  226. ProductIPXAPISvcType    = "systemauto"
  227. ProductIPXAPIGroup     = ""
  228. ProductIPXAPIDependList    = {"+TDI"}
  229. ProductIPXAPIEventFile    = $(NetWareEventFile)
  230.  
  231. ; Route: ODI Source Routing
  232.  
  233. ProductROUTEControl    = service
  234. ProductROUTEHidden     = 0
  235. ProductROUTEInstrumentation    = FALSE
  236. ProductROUTEName     = "OdiSourceRouting"
  237. ProductROUTEDisplayName = "NetWare ODI Source Routing Support"
  238. ProductROUTETitle    = "NetWare ODI Source Routing Support"
  239. ProductROUTEImagePath    = $(SoftwareBinHome)route.sys
  240. ProductROUTESvcType    = "kerneldisable"
  241. ProductROUTEGroup    = ""
  242. ProductROUTEDependList  = {"+ODI Drivers"}
  243. ProductROUTEEventFile    = $(NetWareEventFile)
  244.  
  245. ; NwFs: NetWare Workstation
  246.  
  247. ProductNWFSControl    = component
  248. ProductNWFSHidden     = 0
  249. ProductNWFSReviewBindings    = 1
  250. ProductNWFSInstrumentation    = TRUE
  251. ProductNWFSName     = "NetWareWorkstation"
  252. ProductNWFSDisplayName = "Novell NetWare Client Services"
  253. ProductNWFSTitle    = "Novell NetWare Client Services"
  254. ProductNWFSImagePath    = $(SoftwareBinHome)nwfs.sys
  255. ProductNWFSDescription = "Novell NetWare Client Services for Windows NT"
  256. ProductNWFSSvcType    = "systemauto"
  257. ProductNWFSSoftType    = "service"
  258. ProductNWFSGroup    = ""
  259. ProductNWFSDependList  = {"+TDI","+NetWare Services","Mup","IpxSpx"}
  260. ProductNWFSEventFile    = $(NetWareEventFile)
  261. ProductNWFSKeySoftware = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductNWFSName)"\CurrentVersion"
  262.  
  263.  
  264. NetRuleNWFSSoftwareType    = "nwfs nwFileSys"
  265. NetRuleNWFSSoftwareUse    = "service yes yes"
  266. NetRuleNWFSSoftwareBindForm = """Nwfs"" yes yes container"
  267. NetRuleNWFSSoftwareClass    = {"nwFileSys basic"}
  268. NetRuleNWFSSoftwareBindable = {"nwFileSys nwTransport non non 100"}
  269.  
  270. ; IpxSpx: Transport
  271.  
  272. ProductIPXSPXControl    = component
  273. ProductIPXSPXHidden     = 0
  274. ProductIPXSPXInstrumentation    = TRUE
  275. ProductIPXSPXName     = "IpxSpx"
  276. ProductIPXSPXDisplayName = "Novell NetWare IPX/SPX Transport"
  277. ProductIPXSPXTitle    = "Novell NetWare IPX/SPX Transport"
  278. ProductIPXSPXDescription = "Novell NetWare IPX/SPX Network Transport"
  279. ProductIPXSPXImagePath    = $(SoftwareBinHome)ipxspx.sys
  280. ProductIPXSPXSvcType    = "kernelautostart"
  281. ProductIPXSPXSoftType    = "transport"
  282. ProductIPXSPXGroup    = "TDI"
  283. ProductIPXSPXDependList  = {"+ODI Drivers"}
  284. ProductIPXSPXEventFile    = $(NetWareEventFile)
  285. ProductIPXSPXKeySoftware = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductIPXSPXName)"\CurrentVersion"
  286.  
  287.  
  288. NetRuleIPXSPXSoftwareType    = "ipxspx nwTransport"
  289. NetRuleIPXSPXSoftwareUse    = "transport yes yes"
  290. NetRuleIPXSPXSoftwareBindForm = """IpxSpx"" yes yes simple"
  291. NetRuleIPXSPXSoftwareClass    = {"nwTransport basic"}
  292. NetRuleIPXSPXSoftwareBindable = {"nwTransport nwOdiLoader non non 80", +
  293.                                             "nwTransport nwNwIPDriver non non 90", +
  294.                                             "nwTransport nwOdiVMIDDriver non non 70"}
  295.  
  296. ; OdiLoad: ODI Adapter Driver Loader.
  297.  
  298. ProductODILOADControl    = component
  299. ProductODILOADHidden     = 1
  300. ProductODILOADInstrumentation    = TRUE
  301. ProductODILOADName     = "OdiLoad"
  302. ProductODILOADDisplayName = "NetWare ODI MAC Driver Loader"
  303. ProductODILOADTitle    = "NetWare ODI MAC Driver Loader"
  304. ProductODILOADDescription = "NetWare ODI MAC Driver Controller"
  305. ProductODILOADImagePath    = $(SoftwareBinHome)odiload.sys
  306. ProductODILOADSvcType    = "kerneldisable"
  307. ProductODILOADSoftType    = "driver"
  308. ProductODILOADGroup    = "ODI Drivers"
  309. ProductODILOADDependList  = {"+ODI"}
  310. ProductODILOADEventFile    = $(NetWareEventFile)
  311. ProductODILOADKeySoftware = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductODILOADName)"\CurrentVersion"
  312.  
  313.  
  314. NetRuleODILOADSoftwareType    = "odiLoad nwOdiLoader"
  315. NetRuleODILOADSoftwareUse    = "driver yes yes"
  316. NetRuleODILOADSoftwareBindForm = """Odiload"" yes yes simple"
  317. NetRuleODILOADSoftwareClass    = {"nwOdiLoader basic","nwAdapter basic yes"}
  318. NetRuleODILOADSoftwareBindable = {"nwOdiLoader nwAdapter non exclusive 100"}
  319.  
  320. ; Lsl: Link Support Layer.
  321.  
  322. ProductLSLControl    = service
  323. ProductLSLHidden     = 1
  324. ProductLSLInstrumentation    = TRUE
  325. ProductLSLName     = "LSL"
  326. ProductLSLDisplayName = "NetWare LSL"
  327. ProductLSLTitle    = "NetWare LSL"
  328. ProductLSLImagePath    = $(SoftwareBinHome)lsl.sys
  329. ProductLSLSvcType    = "kernelautostart"
  330. ProductLSLGroup    = "ODI"
  331. ProductLSLDependList  = {"+NetWare Services"}
  332. ProductLSLEventFile    = $(NetWareEventFile)
  333.  
  334. ; ResMgr: NetWare Resource Manager
  335.  
  336. ProductRESMGRControl    = component
  337. ProductRESMGRHidden     = 1
  338. ProductRESMGRInstrumentation    = TRUE
  339. ProductRESMGRName     = "ResMgr"
  340. ProductRESMGRDisplayName = "NetWare Resource Manager"
  341. ProductRESMGRTitle    = "NetWare Resource Manager"
  342. ProductRESMGRDescription = "NetWare Resource Manager"
  343. ProductRESMGRImagePath    = $(SoftwareBinHome)resmgr.sys
  344. ProductRESMGRSvcType    = "kernelautostart"
  345. ProductRESMGRSoftType    = "service"
  346. ProductRESMGRGroup    = "NetWare Services"
  347. ProductRESMGRDependList  = {}
  348. ProductRESMGREventFile    = $(NetWareEventFile)
  349. ProductRESMGRKeySoftware = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductRESMGRName)"\CurrentVersion"
  350.  
  351. ; RECONNECT: Auto Reconnect service
  352.  
  353. ProductRECONNECTControl    = service
  354. ProductRECONNECTHidden     = 0
  355. ProductRECONNECTInstrumentation    = FALSE
  356. ProductRECONNECTName     = "NetWareAutoReconnect"
  357. ProductRECONNECTDisplayName = "NetWare Auto Reconnect Service"
  358. ProductRECONNECTTitle = "NetWare Auto Reconnect Service"
  359. ProductRECONNECTImagePath    = $(SoftwareBinHome)reconsvc.exe
  360. ProductRECONNECTSvcType    = "serviceauto"
  361. ProductRECONNECTGroup    = ""
  362. ProductRECONNECTDependList  = {"NetWareWorkstation"}
  363. ProductRECONNECTEventFile    = $(NetWareEventFile)
  364.  
  365. ; VMLID: Auto VMLID service
  366.  
  367. ProductVMLIDControl    = component
  368. ProductVMLIDHidden     = 1
  369. ProductVMLIDInstrumentation    = FALSE
  370. ProductVMLIDName     = "OdiVMLID"
  371. ProductVMLIDDisplayName = "ODI Virtual MLID"
  372. ProductVMLIDTitle = "ODI Virtual MLID"
  373. ProductVMLIDImagePath    = $(SoftwareBinHome)vmlid.sys
  374. ProductVMLIDDescription = "ODI Virtual MLID"
  375. ProductVMLIDSvcType    = "kernelautostart"
  376. ProductVMLIDSoftType    = "service"
  377. ProductVMLIDGroup    = "ODI Drivers"
  378. ProductVMLIDDependList  = {"+NDIS","+ODI"}
  379. ProductVMLIDEventFile    = $(NetWareEventFile)
  380. ProductVMLIDKeySoftware = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductVMLIDName)"\CurrentVersion"
  381.  
  382. NetRuleVMLIDSoftwareType    = "odivmlid nwOdiVMLIDDriver"
  383. NetRuleVMLIDSoftwareUse    = "service yes yes"
  384. NetRuleVMLIDSoftwareBindForm = """OdiVMLID"" yes yes container"
  385. NetRuleVMLIDSoftwareClass    = {"nwOdiVMLIDDriver basic"}
  386. NetRuleVMLIDSoftwareBindable = {"nwOdiVMLIDDriver ndisDriver non non 100"}
  387.  
  388. ; NWPOPUP: NWPOPUP message service
  389.  
  390. ProductNWPOPUPControl    = service
  391. ProductNWPOPUPHidden     = 0
  392. ProductNWPOPUPInstrumentation    = FALSE
  393. ProductNWPOPUPName     = "NWPopUp"
  394. ProductNWPOPUPDisplayName = "NetWare Message PopUp Service"
  395. ProductNWPOPUPTitle = "NetWare Message PopUp Service"
  396. ProductNWPOPUPImagePath    = $(SoftwareBinHome)nwmsgsvc.exe
  397. ProductNWPOPUPSvcType    = "serviceauto"
  398. ProductNWPOPUPGroup    = ""
  399. ProductNWPOPUPDependList  = {"NetWareWorkstation"}
  400. ProductNWPOPUPEventFile    = $(NetWareEventFile)
  401.  
  402.  
  403. ; ODINSUP: ODI over NDIS shim
  404.  
  405. ;ProductODINSUPControl    = component
  406. ;ProductODINSUPHidden     = 1
  407. ;ProductODINSUPInstrumentation    = TRUE
  408. ;ProductODINSUPName     = "Odinsup"
  409. ;ProductODINSUPDisplayName = "ODI Support for NDIS Protocols Driver"
  410. ;ProductODINSUPTitle    = "ODI Support for NDIS Protocols Driver"
  411. ;ProductODINSUPDescription = "ODI Support for NDIS Protocols Driver"
  412. ;ProductODINSUPImagePath    = "SystemRoot\system32\drivers\odinsup.sys"
  413. ;ProductODINSUPSvcType    = "Kerneldisable"
  414. ;ProductODINSUPSoftType    = "driver"
  415. ;ProductODINSUPGroup    = "NDIS"
  416. ;ProductODINSUPDependList  = {"+ODI Drivers"}
  417. ;ProductODINSUPEventFile    = $(NetWareEventFile)
  418. ;ProductODINSUPKeySoftware = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductODINSUPName)"\CurrentVersion"
  419. ;
  420. ;
  421. ;NetRuleODINSUPSoftwareType    = "odinsupSys ndisDriver odinsupDriver"
  422. ;NetRuleODINSUPSoftwareUse    = "driver"
  423. ;NetRuleODINSUPSoftwareBindForm = """OdinsupSys"" yes no container"
  424. ;NetRuleODINSUPSoftwareClass    =     {"odinsupDriver basic"}
  425. ;NetRuleODINSUPSoftwareBindable = {"odinsupDriver odinsupAdapter non exclusive 100"}
  426.  
  427.  
  428. ; Provider
  429.  
  430. ProductProviderName    = "NetWare Services"
  431. ProductProviderImagePath = "%SystemRoot%\System32\netware.dll"
  432. ProductProviderDevice    = "\Device\NetWareWorkstation"
  433. ProductProviderClass    = 3
  434.  
  435. ; Registry key names
  436.  
  437. ProductKeyName  = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductNWFSName)"\CurrentVersion"
  438. ParamKeyName    = $(!NTN_ServiceBase)"\"$(ProductNWFSName)"\Parameters"
  439.  
  440. ServiceNameList = ^(ServiceNames, 1)
  441. ExtendedFunctionList = ^(ExtendedFunctionNames,1)
  442.  
  443.  
  444. ; referenced by ServiceNameList
  445. [ServiceNames]
  446. SVC_1 = "NWFS"
  447. SVC_2 = "IPXSPX"
  448. SVC_3 = "LSL"
  449. SVC_4 = "RESMGR"
  450. SVC_5 = "ODILOAD"
  451. SVC_6 = "MUP"
  452. SVC_7 = "TDI"
  453. SVC_8 = "SPXAPI"
  454. SVC_9 = "IPXAPI"
  455. SVC_10 = "ROUTE"
  456. SVC_11 = "RECONNECT"
  457. SVC_12 = "VMLID"
  458. SVC_13 = "NWPOPUP"
  459. ;SVC_14 = "ODINSUP"
  460.  
  461. ; referenced by ExtendedFunctionList
  462. [ExtendedFunctionNames]
  463. EXFN_1 = "AuthenticationPackage"
  464. EXFN_2 = "NetworkProvider"
  465. ;EXFN_3 = "ServiceGroupOrder"
  466. EXFN_4 = "NetWarePrintServices"
  467.  
  468. [GeneralConstants]
  469. ;
  470. ;  Program flow control variables.
  471. ;
  472. from    = ""
  473. to     = ""
  474. ;
  475. ;  Return codes; Exit_Code is set to one of these
  476. ;
  477. ExitCodeOk    = 0
  478. ExitCodeCancel = 1
  479. ExitCodeFatal  = 2
  480.  
  481. KeyNull      = ""
  482. MAXIMUM_ALLOWED    = 33554432
  483. RegistryErrorIndex = NO_ERROR
  484. KeyProduct    = ""
  485. KeyParameters    = ""
  486.  
  487. TRUE        = 1
  488. FALSE        = 0
  489. NoTitle        = 0
  490.  
  491. ExitState    = "Active"
  492. OldVersionExisted = $(FALSE)
  493.  
  494. [ExtendedConstants]
  495.  
  496. SvcList = {"NetWare Services","ODI","ODI Drivers"}
  497. PkgName = "nwv1_0"
  498. ProviderName = "NetWareWorkstation"
  499. NetWarePrintProviderName = "NetWare Print Services"
  500. PrintProvider = "System\CurrentControlSet\Control\Print\Providers"
  501.  
  502. [IpxSpxConstants]
  503. FrameTypeName    = "Frame Type"
  504. CardTypeName    = "Card Name"
  505. CardName     = ""
  506. CardInstance    = "Card Instance"
  507. CardInstanceNum = ""
  508. BindValueName    = "bindings"
  509. IpxNtCardInstance = "Nt Card Instance"
  510.  
  511. [date]
  512.     ; Now is a list which contains { Sec from 1-1-1970, Year, Month, Day, Hour,
  513.     ; Minute, Second }
  514.     Now = {} ? $(!LIBHANDLE) GetSystemDate
  515.  
  516. [DetectSystemMemory]
  517.     SystemMemory    = "" ? $(!LIBHANDLE) GetMemorySize
  518.  
  519. [ProcessorDetect]
  520.     !STF_PROCESSOR = "" ? $(!LIBHANDLE) GetProcessor
  521.  
  522. ;---------------------------------------------------------------------------
  523. ; 1. Identify
  524. ;
  525. ; DESCRIPTION:    To verify that this INF deals with the same type of options
  526. ;          as we are choosing currently.
  527. ;
  528. ; INPUT:      None
  529. ;
  530. ; OUTPUT:     $($R0): STATUS: STATUS_SUCCESSFUL
  531. ;          $($R1): Option Type (COMPUTER ...)
  532. ;          $($R2): Diskette description
  533. ;---------------------------------------------------------------------------
  534.  
  535. [Identify]
  536.     ;
  537.     ;
  538.     read-syms Identification
  539.  
  540.     set Status    = STATUS_SUCCESSFUL
  541.     set Identifier = $(OptionType)
  542.     set Media    = #("Source Media Descriptions", 1, 1)
  543.  
  544.     Return $(Status) $(Identifier) $(Media)
  545.  
  546. ;------------------------------------------------------------------------
  547. ; 2. ReturnOptions:
  548. ;
  549. ; DESCRIPTION:    To return the option list supported by this INF and the
  550. ;          localised text list representing the options.
  551. ;
  552. ;
  553. ; INPUT:      $($0):  Language used. ( ENG | FRN | ... )
  554. ;
  555. ; OUTPUT:     $($R0): STATUS: STATUS_SUCCESSFUL |
  556. ;                    STATUS_NOLANGUAGE
  557. ;                    STATUS_FAILED
  558. ;
  559. ;          $($R1): Option List
  560. ;          $($R2): Option Text List
  561. ;------------------------------------------------------------------------
  562. [ReturnOptions]
  563.     ;
  564.     ;
  565.     set Status     = STATUS_FAILED
  566.     set OptionList    = {}
  567.     set OptionTextList = {}
  568.  
  569.     ;
  570.     ; Check if the language requested is supported
  571.     ;
  572.     set LanguageList = ^(LanguagesSupported, 1)
  573.     Ifcontains(i) $($0) in $(LanguageList)
  574.      goto returnoptions
  575.     else
  576.      set Status = STATUS_NOLANGUAGE
  577.      goto finish_ReturnOptions
  578.     endif
  579.  
  580.     ;
  581.     ; form a list of all the options and another of the text representing
  582.     ;
  583.  
  584. returnoptions = +
  585.     set OptionList    = ^(Options, 1)
  586.     set OptionTextList = ^(OptionsText$($0), 1)
  587.     set Status      = STATUS_SUCCESSFUL
  588.  
  589. finish_ReturnOptions = +
  590.     Return $(Status) $(OptionList) $(OptionTextList)
  591.  
  592. ;----------InstallOption-------------------------------------------------
  593. ;
  594. ; InstallOption:
  595. ;
  596. ;    This section is shelled to by main installation processing
  597. ;    or by NCPASHEL.INF during reconfig, removal, update, etc.
  598. ;
  599. ;
  600. ; FUNCTION:  To copy files representing Options
  601. ;        To configure the installed option
  602. ;        To update the registry for the installed option
  603. ;
  604. ; INPUT:    $($0):  Language to use
  605. ;        $($1):  OptionID to install
  606. ;        $($2):  SourceDirectory
  607. ;        $($3):  AddCopy  (YES | NO)
  608. ;        $($4):  DoCopy    (YES | NO)
  609. ;        $($5):  DoConfig (YES | NO)
  610. ;
  611. ; OUTPUT:    $($R0): STATUS: STATUS_SUCCESSFUL |
  612. ;                STATUS_NOLANGUAGE |
  613. ;                STATUS_USERCANCEL |
  614. ;                STATUS_FAILED
  615. ;
  616. ;------------------------------------------------------------------------
  617. [InstallOption]
  618.     ;
  619.     ; extract parameters
  620.     ;
  621.     set Option    = $($1)
  622.     set SrcDir    = $($2)
  623.     set AddCopy  = $($3)
  624.     set DoCopy    = $($4)
  625.     set DoConfig = $($5)
  626.  
  627.     set OriginalAddCopy = $($3)
  628.     set OriginalDoCopy = $($4)
  629.  
  630.  
  631.     ;
  632.     ;  For now,
  633.     ;
  634.  
  635.     ;
  636.     ; Check if the language requested is supported
  637.     ;
  638.     set LanguageList = ^(LanguagesSupported, 1)
  639.     Ifcontains(i) $($0) NOT-IN $(LanguageList)
  640.      Return STATUS_NOLANGUAGE
  641.     endif
  642.  
  643. ;    set LANGUAGE = *( ^(LanguagesSupported, 2), ~(LanguageList, $(!STF_LANGUAGE))
  644.  
  645.     Debug-Output "OEMNPRNW.INF: Language used: LANGUAGE = "$(LANGUAGE)
  646.     Debug-Output "1: STF_PLATFORM  = "$(!STF_PLATFORM)
  647.     Debug-Output "1: STF_PROCESSOR = "$(!STF_PROCESSOR)
  648.  
  649.     detect ProcessorDetect
  650.  
  651.     Debug-Output "2: STF_PROCESSOR = "$(!STF_PROCESSOR)
  652.  
  653.     ifstr(i) $(!STF_PROCESSOR) == "I386"
  654.      set !STF_PLATFORM = "I386"
  655.     else-ifstr(i) $(!STF_PROCESSOR) == "I486"
  656.      set !STF_PLATFORM = "I386"
  657.     else-ifstr(i) $(!STF_PROCESSOR) == "I586"
  658.      set !STF_PLATFORM = "I386"
  659.     else-ifstr(i) $(!STF_PROCESSOR) == "R4000"
  660.      set !STF_PLATFORM = "Mips"
  661.     else
  662.      set !STF_PLATFORM = "Alpha"
  663.     endif
  664.  
  665.     Debug-Output "2: STF_PLATFORM  = "$(!STF_PLATFORM)
  666.  
  667.     StartWait
  668.  
  669.     ; define all the constants
  670.  
  671.     set-subst LF = "\n"
  672.  
  673.     read-syms GeneralConstants
  674.     read-syms FileConstants
  675.  
  676.     read-syms DialogConstants$(!STF_LANGUAGE)
  677.     ifstr(i) $(!NTN_Origination) == "NCPA"
  678.      set Continue = "OK"
  679.     endif
  680.     read-syms FileConstants$(!STF_LANGUAGE)
  681.  
  682.     detect date
  683.  
  684.     set-title  $(FunctionTitle)
  685.  
  686.     set to    = Begin
  687.     set from = Begin
  688. ;
  689. ;  Assume all is well.
  690. ;
  691.     set CommonStatus = STATUS_SUCCESSFUL
  692.  
  693. Begin = +
  694.     Set OEM_ABANDON_SERVICES = {}
  695.     Set OEM_ABANDON_COMPONENTS = {}
  696.     Set DoReboot = "NO"
  697.  
  698.     Ifstr(i) $(!NTN_InstallMode) == deinstall
  699.  
  700.      set StartLabel = removenetware
  701.  
  702.     else-Ifstr(i) $(!NTN_InstallMode) == update
  703.      set StartLabel = upgradenetware
  704.     else-Ifstr(i) $(!NTN_InstallMode) == bind
  705.      set StartLabel = bindnetware
  706.     else-Ifstr(i) $(!NTN_InstallMode) == configure
  707.      Set StartLabel = configurenetware
  708.     else
  709.      set StartLabel = installnetware
  710.      ;
  711.      ;  Turn on all the options.
  712.      ;
  713.      ForListDo $(ServiceNameList)
  714.         Set Do$($) = TRUE
  715.      EndForListDo
  716.     endif
  717.  
  718.     set from = $(fatal)
  719.     set to = $(fatal)
  720.  
  721.     goto $(StartLabel)
  722.  
  723. ;-----------------------------------------------
  724. ; Installation Section
  725. ;-----------------------------------------------
  726.  
  727. installnetware = +
  728. ;
  729. ;    First, check whether the same version of the software exists
  730. ;
  731.     OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\NetWareWorkStation" $(MAXIMUM_ALLOWED) KeyProduct
  732.  
  733.     Ifstr $(KeyProduct) != $(KeyNull)
  734.      ;
  735.      ; Same version already existed in the local machine
  736.      ; Popup the dialog and ask the user whether he wants to continue
  737.      ;
  738.      CloseRegKey $(KeyProduct)
  739.  
  740.      Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", +
  741.         "The Novell NetWare Client Services is already installed. "+
  742.         "Please remove and then reboot before reinstalling it."
  743.  
  744.      ifint $($ShellCode) != $(!SHELL_CODE_OK)
  745.         goto ShellCodeError
  746.      endif
  747.  
  748.      set CommonStatus = STATUS_USERCANCEL
  749.      goto end
  750.     endif
  751.  
  752. ;
  753. ;    Second, check for Microsoft's redirector
  754. ;
  755.  
  756.     OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_SoftwareBase)"\Microsoft\NWCWorkstation\CurrentVersion" $(MAXIMUM_ALLOWED) KeyProduct
  757.  
  758.     Ifstr $(KeyProduct) != $(KeyNull)
  759.         ;
  760.     ; Microsoft redirector found
  761.     ; Tell user to remove it first and reboot
  762.     ;
  763.     Debug-Output "Found Microsoft Redirector."
  764.      CloseRegKey $(KeyProduct)
  765.  
  766.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", +
  767.         "The Microsoft NetWare Compatible Workstation is installed."$(LF)+
  768.         "Please remove it and then reboot the system to install the"$(LF)+
  769.         "            Novell NetWare Workstation."
  770.  
  771.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  772.         goto ShellCodeError
  773.     endif
  774.  
  775.     set CommonStatus = STATUS_USERCANCEL
  776.     goto end
  777.     Endif
  778.  
  779.     LibraryProcedure Status1, $(!LIBHANDLE), CheckFileExistance, $(!STF_WINDOWSSYSPATH)"\netware.drv"
  780.     ifstr(i) $(Status1) == "YES"
  781.        LibraryProcedure Status1, $(!LIBHANDLE), DelFile, $(!STF_WINDOWSSYSPATH)"\netware.drv"
  782.     endif
  783.  
  784.     EndWait
  785.  
  786.     Ifstr(i) $(DoCopy) == "YES"
  787.     ;
  788.     ;  Get source location
  789.     ;
  790.     ;    Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES
  791.         Shell "", DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES
  792.     
  793.         Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  794.             Goto ShellCodeError
  795.         Else-Ifstr(i) $($R0) == STATUS_FAILED
  796.             Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
  797.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  798.              goto ShellCodeError
  799.             endif
  800.             set Error = $($R0)
  801.             Goto fatal
  802.         Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
  803.             Goto successful
  804.         Endif
  805.     
  806.         Set SrcDir = $($R1)
  807.     
  808.         LibraryProcedure STATUS, $(!LIBHANDLE), AppendBackSlash $(SrcDir)
  809.     
  810.         ifstr(i) $(STATUS) != "ERROR"
  811.             set SrcDir = $(STATUS)
  812.         Endif
  813.     
  814.     Endif
  815.  
  816.     StartWait
  817.  
  818.     install "Install-NetWare-Dir"
  819.     install "Install-Option"
  820.     ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  821.         Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE"
  822.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  823.             goto ShellCodeError
  824.         endif
  825.         set Error = $($R0)
  826.         goto fatal
  827.     endif
  828.  
  829.     set OEM_ABANDON_ON  = TRUE
  830.  
  831.     ;
  832.     ;  Install all enabled services mentioned in the ServiceNameList
  833.     ;
  834.  
  835.     ForListDo  $(ServiceNameList)
  836.         Set SvcOpt = $($)
  837.         ; Check to see if the product to be installed is already installed
  838.         ;
  839.         Set TempProductKeyName = $(!NTN_ServiceBase)"\"$(Product$(SvcOpt)Name)
  840.         OpenRegKey $(!REG_H_LOCAL) "" $(TempProductKeyName) $(MAXIMUM_ALLOWED) TempKey
  841.         ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
  842.             Debug-Output "OMENPRNW.INF: "$(SvcOpt)" is already installed"
  843.             Set Do$(SvcOpt) = FALSE
  844.         Endif
  845.     
  846.         Ifstr(i) $(Do$(SvcOpt)) == TRUE
  847.             Ifstr(i) $(Product$(SvcOpt)Control) == component
  848.                 Debug-Output "OEMNPRNW.INF: install component: "$(SvcOpt)
  849.                 Shell $(UtilityInf), AddSoftwareComponent +
  850.                     $(Manufacturer), +
  851.                     $(Product$(SvcOpt)Name), +
  852.                     $(Product$(SvcOpt)Name), +
  853.                     $(Product$(SvcOpt)DisplayName), +
  854.                     $(STF_CONTEXTINFNAME), +
  855.                     $(Product$(SvcOpt)ImagePath), +
  856.                     $(Product$(SvcOpt)SvcType), +
  857.                     $(Product$(SvcOpt)Group), +
  858.                     $(Product$(SvcOpt)DependList), "" +
  859.                     $(Product$(SvcOpt)EventFile), "", "", 1
  860.     
  861.                 Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  862.                     Debug-Output "OEMNPRNW.INF: AddSoftwareComponent ShellCode error "$($ShellCode)" installing "$(SvcOpt)
  863.                     EndWait
  864.                     goto ShellCodeError
  865.                 Endif
  866.                 StartWait
  867.     
  868.                 Set RegistryErrorIndex = $($R0)
  869.     
  870.                 Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  871.                     EndWait
  872.                     CloseRegKey $($R1)
  873.                     CloseRegKey $($R2)
  874.                     CloseRegKey $($R3)
  875.                     Debug-Output "OEMNPRNW.INF: Registry error "$(RegistryErrorIndex)" installing "$(SvcOpt)
  876.                     EndWait
  877.                     goto fatalregistry
  878.                 Endif
  879.     
  880.                 Set SvcVersion  = $($R1)
  881.                 Set SvcNetRules = $($R2)
  882.                 Set SvcSvcKey    = $($R3)
  883.                 Set SvcParamKey = $($R4)
  884.                 Set SvcLinkKey  = $($R5)
  885.  
  886.                 ifint $(Product$(SvcOpt)ReviewBindings) == 1
  887.                     Set ReviewBindingsValue = 1
  888.                 else
  889.                     Set ReviewBindingsValue = 0
  890.                 Endif
  891.  
  892.                 Set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(Product$(SvcOpt)SoftType)},+
  893.                         {Hidden,$(NoTitle),$(!REG_VT_DWORD),$(Product$(SvcOpt)Hidden)},+
  894.                         {Review,$(NoTitle),$(!REG_VT_DWORD),$(ReviewBindingsValue)},+
  895.                         {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)},+
  896.                         {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)},+
  897.                         {Title,$(NoTitle),$(!REG_VT_SZ),$(Product$(SvcOpt)Title)},+
  898.                         {Description,$(NoTitle),$(!REG_VT_SZ),$(Product$(SvcOpt)Description)},+
  899.                         {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(Product$(SvcOpt)Name)},+
  900.                         {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  901.         
  902.                 Shell  $(UtilityInf), AddValueList, $(SvcVersion), $(NewValueList)
  903.                 StartWait
  904.                 Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  905.                     Debug-Output "OEMNPRNW.INF: ShellCode error: AddValueList for version info for "$(SvcOpt)
  906.                     EndWait
  907.                     goto ShellCodeError
  908.                 Endif
  909.     
  910.                 ;
  911.                 ;  Add the NetRules info
  912.                 ;
  913.                 Set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRule$(SvcOpt)SoftwareType)},+
  914.                         {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRule$(SvcOpt)SoftwareClass)}, +
  915.                         {bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRule$(SvcOpt)SoftwareBindable)}, +
  916.                         {use,$(NoTitle),$(!REG_VT_SZ),$(NetRule$(SvcOpt)SoftwareUse)}, +
  917.                         {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRule$(SvcOpt)SoftwareBindForm)}, +
  918.                         {InfOption,$(NoTitle),$(!REG_VT_SZ),$(SvcOpt)}}
  919.         
  920.                 Shell  $(UtilityInf), AddValueList, $(SvcNetRules), $(NewValueList)
  921.                 StartWait
  922.                 Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  923.                     Debug-Output "OEMNPRNW.INF: AddValueList ShellCode error = "$($ShellCode)
  924.                     EndWait
  925.                     Goto ShellCodeError
  926.                 Endif
  927.                 Set RegistryErrorIndex = $($R0)
  928.         
  929.                 Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  930.                     CloseRegKey $(SvcSvcKey)
  931.                     CloseRegKey $(SvcParamKey)
  932.                     CloseRegKey $(SvcLinkKey)
  933.                     CloseRegKey $(SvcVersion)
  934.                     CloseRegKey $(SvcNetRules)
  935.                     Debug-Output "OEMNPRNW.INF: Registry error adding NetRules to "$(SvcOpt)
  936.                     EndWait
  937.                     goto fatalregistry
  938.                 Endif
  939.     
  940.             Else
  941.                 Debug-Output "OEMNPRNW.INF: install service: "$(SvcOpt)
  942.     
  943.                 Shell $(UtilityInf), CreateService, +
  944.                     $(Product$(SvcOpt)Name), +
  945.                     $(Product$(SvcOpt)DisplayName), +
  946.                     $(Product$(SvcOpt)ImagePath), +
  947.                     $(Product$(SvcOpt)SvcType), +
  948.                     $(Product$(SvcOpt)Group), +
  949.                     $(Product$(SvcOpt)DependList), "" +
  950.                     $(Product$(SvcOpt)EventFile), "", "", 1
  951.         
  952.                 StartWait
  953.                 Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  954.                     Debug-Output "OEMNPRNW.INF: ShellCode error installing "$(SvcOpt)
  955.                     EndWait
  956.                     goto ShellCodeError
  957.                 Endif
  958.     
  959.                 Set RegistryErrorIndex = $($R0)
  960.         
  961.                 Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  962.                     CloseRegKey $($R1)
  963.                     CloseRegKey $($R2)
  964.                     CloseRegKey $($R3)
  965.                     Debug-Output "OEMNPRNW.INF: Registry error installing "$(SvcOpt)
  966.                     EndWait
  967.                     goto fatalregistry
  968.                 Endif
  969.         
  970.                 Set SvcVersion  = ""
  971.                 Set SvcNetRules = ""
  972.                 Set SvcSvcKey    = $($R1)
  973.                 Set SvcParamKey = $($R2)
  974.                 Set SvcLinkKey  = $($R3)
  975.             Endif
  976.     
  977.             ; Add the NetWare Instrumentation Level.
  978.     
  979.             Ifstr(i) $(Product$(SvcOpt)Instrumentation) == TRUE
  980.               SetRegValue $(SvcParamKey) {"Instrumentation Level",$(NoTitle),$(!REG_VT_SZ),"NONE"}
  981.             Endif
  982.             ;
  983.             ;  Call the service-specific installation section
  984.             ;
  985.             Shell "" FinishInstalling-$(SvcOpt) +
  986.                 $(SvcSvcKey) $(SvcParamKey) $(SvcLinkKey) +
  987.                 $(SvcVersion) $(SvcNetRules) $(TransportSelected)
  988.     
  989.             StartWait
  990.     
  991.             Ifstr(i) $(SvcVersion) != ""
  992.               CloseRegKey $(SvcVersion)
  993.             Endif
  994.             Ifstr(i) $(SvcNetRules) != ""
  995.               CloseRegKey $(SvcNetRules)
  996.             Endif
  997.     
  998.             CloseRegKey $(SvcSvcKey)
  999.             CloseRegKey $(SvcParamKey)
  1000.             CloseRegKey $(SvcLinkKey)
  1001.             ;
  1002.             ;  Add this service to the list of "undoable" things in case of failure
  1003.             ;
  1004.             Set OEM_ABANDON_SERVICES = >($(OEM_ABANDON_SERVICES), $(Product$(SvcOpt)Name))
  1005.         Endif
  1006.     EndForListDo
  1007.  
  1008. addextendedfunctions = +
  1009.  
  1010.     ; Set Version number
  1011.     OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_SoftwareBase)"\Novell" $(MAXIMUM_ALLOWED) SoftwareNovell
  1012.     Ifstr(i) $(SoftwareNovell) != ""
  1013.         SetRegValue $(SoftwareNovell) {"CurrentVersion",$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)$(ProductMinorVersion)}
  1014.         CloseRegKey $(SoftwareNovell)
  1015.     Endif
  1016.  
  1017.  
  1018.     ForListDo $(ExtendedFunctionList)
  1019.         Debug-Output "OEMNPRNW.INF: extended function: "$($)
  1020.         Shell "" InstallEx-$($)
  1021.         StartWait
  1022.     EndForListDo
  1023.  
  1024.     ;====================================================
  1025.     ;        VIPXVDD  Added
  1026.     ;====================================================
  1027. vipxsection = +
  1028.  
  1029.     set ValueName = "IRQ"
  1030.     set ValueData = "10"
  1031.     set KeyValueList = {$(ValueName),$(NoTitle),$(!REG_VT_DWORD),$(ValueData)}
  1032.     set ProductName = "VipxVDD"
  1033.     set ProductVersion = "CurrentVersion"
  1034.     set VIPXVDDManufactureBase = $(!NTN_SoftwareBase)"\"$(Manufacturer)
  1035.     set VIPXVDDProductBase = $(VIPXVDDManufactureBase)"\"$(ProductName)
  1036.     set VIPXVDDVersion = $(VIPXVDDProductBase)"\"$(ProductVersion)
  1037.     
  1038.  
  1039.     ;HKEY_LOCAL_MACHINE\SOFTWARE\Novell
  1040.     OpenRegKey $(!REG_H_LOCAL) "" $(VIPXVDDManufactureBase) $(!REG_KEY_ALL_ACCESS) MFBaseKey
  1041.     ifint $(RegLastError) != $(REG_ERROR_SUCCESS)
  1042.         Debug-Output "Creating Software Key '"$(VIPXVDDManufactureBase)
  1043.         ;HKEY_LOCAL_MACHINE\SOFTWARE
  1044.         OpenRegKey $(REG_H_LOCAL) "" $(NTN_SoftwareBase) $(REG_KEY_ALL_ACCESS) SFTBaseKey
  1045.         ifint $(RegLastError) != $(REG_ERROR_SUCCESS)
  1046.             Debug-Output "FATAL Registry Error:  Error Opening Key '"$(NTN_SoftwareBase)"'"
  1047.             goto fatalregistry
  1048.         endif
  1049.         ;HKEY_LOCAL_MACHINE\SOFTWARE\Novell
  1050.         CreateRegKey $(SFTBaseKey) {$(Manufacturer),$(NoTitle),GenericClass} "" $(REG_KEY_ALL_ACCESS) $(REG_OPT_NONVOL) MFBaseKey
  1051.         ifint $(RegLastError) != $(REG_ERROR_SUCCESS)
  1052.             Debug-Output "FATAL Registry Error:  Error Creating Key '"$(NTN_SoftwareBase)"'"
  1053.             goto fatalregistry
  1054.         endif
  1055.         CloseRegKey $(SFTBaseKey)
  1056.     endif
  1057.         
  1058.     ;HKEY_LOCAL_MACHINE\SOFTWARE\Novell\VipxVDD
  1059.     OpenRegKey $(!REG_H_LOCAL) "" $(VIPXVDDProductBase) $(!REG_KEY_ALL_ACCESS) ProdBaseKey
  1060.     ifint $(RegLastError) != $(REG_ERROR_SUCCESS)
  1061.         Debug-Output "Creating Software Key '"$(VIPXVDDProductBase)"'"
  1062.         ;HKEY_LOCAL_MACHINE\SOFTWARE\Novell\VipxVDD
  1063.         CreateRegKey $(MFBaseKey) {$(ProductName),$(NoTitle),GenericClass} "" $(REG_KEY_ALL_ACCESS) $(REG_OPT_NONVOL) ProdBaseKey
  1064.         ifint $(RegLastError) != $(REG_ERROR_SUCCESS)
  1065.             Debug-Output "FATAL Registry Error:  Error Creating Key '"$(VIPXVDDProductBase)"'"
  1066.             goto fatalregistry
  1067.         endif
  1068.     endif
  1069.     CloseRegKey $(MFBaseKey)
  1070.     
  1071.     ;HKEY_LOCAL_MACHINE\SOFTWARE\Novell\VipxVDD\[CurrentVersion]
  1072.     OpenRegKey $(!REG_H_LOCAL) "" $(VIPXVDDVersion) $(!REG_KEY_ALL_ACCESS) VerBaseKey
  1073.     ifint $(RegLastError) != $(REG_ERROR_SUCCESS)
  1074.         Debug-Output "Creating Software Key '"$(VIPXVDDVersion)"'"
  1075.         ;HKEY_LOCAL_MACHINE\SOFTWARE\Novell\VipxVDD\['CurrentVersion']
  1076.         CreateRegKey $(ProdBaseKey) {$(ProductVersion),$(NoTitle),GenericClass} "" $(REG_KEY_ALL_ACCESS) $(REG_OPT_NONVOL) VerBaseKey
  1077.         ifint $(RegLastError) != $(REG_ERROR_SUCCESS)
  1078.             Debug-Output "FATAL Registry Error:  Error Creating Key '"$(VIPXVDDVersion)"'"
  1079.             goto fatalregistry
  1080.         endif
  1081.     endif
  1082.     CloseRegKey $(ProdBaseKey)
  1083.     CloseRegKey $(VerBaseKey)
  1084.     
  1085.     ;    The key opened by CreateRegKey does not have the rights that it should
  1086.     ;    That is why it has been closed and then reopened.  This appears to be a bug in
  1087.     ;    CreateRegKey stuff.
  1088.  
  1089.     OpenRegKey $(!REG_H_LOCAL) "" $(VIPXVDDVersion) $(!REG_KEY_ALL_ACCESS) VerBaseKey
  1090.     ifint $(RegLastError) != $(REG_ERROR_SUCCESS)
  1091.         Debug-Output "FATAL Registry Error:  Error Opening Key '"$(VIPXVDDVersion)"'"
  1092.         goto fatalregistry
  1093.     else
  1094.         Debug-Output "Writing '"$(VIPXVDDVersion)": "$(ValueName)" = "$(ValueData)"'"
  1095.         SetRegValue $(VerBaseKey) $(KeyValueList)
  1096.         ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  1097.             Debug-Output "ERROR Writing '"$(VIPXVDDVersion)": "$(ValueName)" = "$(ValueData)"'"
  1098.             Debug-Output "     'RegLastError' = "$(RegLastError)$(LF)
  1099.             goto fatalregistry
  1100.         endif
  1101.     CloseRegKey $(VerBaseKey)
  1102.     endif
  1103.  
  1104.     OpenRegKey $(!REG_H_LOCAL) "" "Software\Microsoft\Windows NT\CurrentVersion\NWCS" $(MAXIMUM_ALLOWED) KeyProduct
  1105.     Ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  1106.         Debug-Output "OEMNPRNW.INF: Can't open NWCS - Will create it"
  1107.         OpenRegKey $(!REG_H_LOCAL) "" "Software\Microsoft\Windows NT\CurrentVersion" $(MAXIMUM_ALLOWED) CurrentVersion
  1108.         Ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  1109.             Debug-Output "OEMNPRNW.INF: Can't open Software\Microsoft\Windows NT\CurrentVersion"
  1110.             goto fatalregistry
  1111.         Endif
  1112.         CreateRegKey $(CurrentVersion) {"NWCS",$(NoTitle),GenericClass} "" $(REG_KEY_ALL_ACCESS) $(REG_OPT_NONVOL) NewProduct
  1113.         ifint $(RegLastError) != $(REG_ERROR_SUCCESS)
  1114.             CloseRegKey $(CurrentVersion)
  1115.             Debug-Output "FATAL Registry Error:  Error Creating Key 'NWCS'"
  1116.             goto fatalregistry
  1117.         Else
  1118.             CloseRegKey $(CurrentVersion)
  1119.             CloseRegKey $(NewProduct)
  1120.             OpenRegKey $(!REG_H_LOCAL) "" "Software\Microsoft\Windows NT\CurrentVersion\NWCS" $(MAXIMUM_ALLOWED) KeyProduct
  1121.             Ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  1122.                 Debug-Output "OEMNPRNW.INF: Can't open NWCS after creating it- Problem"
  1123.                 goto fatalregistry
  1124.             Endif
  1125.         Endif
  1126.     Endif
  1127.  
  1128.     SetRegValue $(KeyProduct) {"NwcsInstalled",$(NoTitle),$(!REG_VT_SZ),"1"}
  1129.     CloseRegKey $(KeyProduct)
  1130.  
  1131.     OpenRegKey $(!REG_H_LOCAL) "" "System\CurrentControlSet\Control\WOW" $(MAXIMUM_ALLOWED) WowKey
  1132.     ifstr(i) $(WowKey) != ""
  1133.        GetRegValue $(WowKey),"KnownDLLS", KnownDLLsInfo
  1134.        Split-String *($(KnownDLLsInfo),4), " ", KnownDLLsList
  1135.        Ifcontains(i) "netware.drv" not-in $(KnownDLLsList)
  1136.            ifstr(i) *($(KnownDLLsInfo),4) == ""
  1137.                set KnownDLLs = "netware.drv"
  1138.            else
  1139.                set KnownDLLs = *($(KnownDLLsInfo),4)" netware.drv"
  1140.            endif
  1141.            SetRegValue $(WowKey) {"KnownDLLS",$(NoTitle),$(!REG_VT_SZ),$(KnownDLLs)}
  1142.        endif
  1143.        CloseRegKey $(WowKey)
  1144.     endif
  1145.     
  1146.  
  1147.     
  1148.     ;====================================================
  1149.     ;        VIPXVDD  -END
  1150.     ;====================================================
  1151.  
  1152.     ;====================================================
  1153.     ;        NLS  Added
  1154.     ;====================================================
  1155. nlssection = +
  1156.  
  1157.     set ValueName = "NWLanguage"
  1158.     set ValueData = "ENGLISH"
  1159.     set KeyValueList = {$(ValueName),$(NoTitle),$(REG_SZ),$(ValueData)}
  1160.     set NTN_UserSoftwareBase = "Software"
  1161.     set ProductName = "NetWare"
  1162.     set NLSProductBase = $(NTN_UserSoftwareBase)"\"$(ProductName)
  1163.     set NLSGroup = "Parameters"
  1164.     set NLSParameters = $(NLSProductBase)"\"$(NLSGroup)
  1165.  
  1166.     Debug-Output "NTN_UserSoftwareBase = "$(NTN_UserSoftwareBase)
  1167.     Debug-Output "ProductName = "$(ProductName)
  1168.     Debug-Output "NLSProductBase = "$(NLSProductBase)
  1169.     Debug-Output "NLSGroup = "$(NLSGroup)
  1170.     Debug-Output "NLSParameters = "$(NLSParameters)
  1171.     ;HKEY_CURRENT_USER\Software\NetWare
  1172.     OpenRegKey $(!REG_H_CUSER) "" $(NLSProductBase) $(!REG_KEY_ALL_ACCESS) NWBaseKey
  1173.     ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  1174.     Debug-Output $(RegLastError)
  1175.         Debug-Output "Opening Software Key '"$(NTN_UserSoftwareBase)"'"
  1176.         ;HKEY_CURRENT_USER\Software
  1177.         OpenRegKey $(!REG_H_CUSER) "" $(NTN_UserSoftwareBase) $(!REG_KEY_ALL_ACCESS) SFTBaseKey
  1178.         ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  1179.             Debug-Output "FATAL Registry Error("$(RegLastError)"):  Error Opening Key '"$(NTN_UserSoftwareBase)"'"
  1180.             goto fatalregistry
  1181.         endif
  1182.         ;HKEY_CURRENT_USER\Software\NetWare
  1183.     Debug-Output "Creating Software Key '"$(NLSProductBase)"'"
  1184.         Debug-Output "Product Name = '"$(ProductName)"'"
  1185.         CreateRegKey $(SFTBaseKey) {$(ProductName),$(NoTitle),GenericClass} "" $(!REG_KEY_ALL_ACCESS) $(!REG_OPT_NONVOL) NWBaseKey
  1186.         ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  1187.             Debug-Output "FATAL Registry Error("$(RegLastError)"):  Error Creating Key '"$(NLSProductBase)"'"
  1188.             goto fatalregistry
  1189.         endif
  1190.         CloseRegKey $(SFTBaseKey)
  1191.     endif
  1192.         
  1193.     ;HKEY_CURRENT_USER\Software\NetWare\Parameters
  1194.     OpenRegKey $(!REG_H_CUSER) "" $(NLSParameters) $(!REG_KEY_ALL_ACCESS) ParmBaseKey
  1195.     ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  1196.         Debug-Output "Creating Software Key '"$(NLSParameters)"'"
  1197.         ;HKEY_CURRENT_USER\Software\NetWare\Parameters
  1198.         CreateRegKey $(NWBaseKey) {$(NLSGroup),$(NoTitle),GenericClass} "" $(!REG_KEY_ALL_ACCESS) $(!REG_OPT_NONVOL) ParmBaseKey
  1199.         ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  1200.             Debug-Output "FATAL Registry Error:  Error Creating Key '"$(NLSCurrent)"'"
  1201.             goto fatalregistry
  1202.         endif
  1203.     endif
  1204.     CloseRegKey $(NWBaseKey)
  1205.     CloseRegKey $(ParmBaseKey)
  1206.     
  1207.  
  1208.     ;    The key opened by CreateRegKey does not have the rights that it should
  1209.     ;    That is why it has been closed and then reopened.  This appears to be a bug in
  1210.     ;    CreateRegKey stuff.
  1211.  
  1212.     OpenRegKey $(!REG_H_CUSER) "" $(NLSParameters) $(!REG_KEY_ALL_ACCESS) ParmBaseKey
  1213.     ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  1214.         Debug-Output "FATAL Registry Error:  Error Opening Key '"$(NLSParameters)"'"
  1215.         goto fatalregistry
  1216.     else
  1217.         Debug-Output "Writing '"$(NLSParameters)": "$(ValueName)" = "$(ValueData)"'"
  1218.         SetRegValue $(ParmBaseKey) $(KeyValueList)
  1219.         ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  1220.             Debug-Output "ERROR Writing '"$(NLSParameters)": "$(ValueName)" = "$(ValueData)"'"
  1221.             Debug-Output "     'RegLastError' = "$(RegLastError)$(LF)
  1222.             goto fatalregistry
  1223.         endif
  1224.     endif
  1225.     CloseRegKey $(ParmBaseKey)
  1226.  
  1227.     ;====================================================
  1228.     ;        NLS  -END
  1229.     ;====================================================
  1230. ;goto end
  1231.     ;====================================================
  1232.     ;        PERFORMANCE  Added
  1233.     ;====================================================
  1234. perfsection = +
  1235.  
  1236.     set ValueName1 = "Close"
  1237.     set ValueData1 = "NwPfCloseRedirPerformanceData"
  1238.     set ValueName2 = "Collect"
  1239.     set ValueData2 = "NwPfCollectRedirPerformanceData"
  1240.     set ValueName3 = "Open"
  1241.     set ValueData3 = "NwPfOpenRedirPerformanceData"
  1242.     set ValueName4 = "Library"
  1243.     set ValueData4 = "Nwpfctrs.dll"
  1244.  
  1245.     set NwProductName1 = "NetWareWorkstation"
  1246.     set NwProductName2 = "LSL"
  1247.     set NwProductName3 = "OdiLoad"
  1248.  
  1249.     set NwGroup = "Performance"
  1250.  
  1251.     set NwProductBase1 = $(!NTN_ServiceBase)"\"$(NwProductName1)
  1252.     set NwProductBase2 = $(!NTN_ServiceBase)"\"$(NwProductName2)
  1253.     set NwProductBase3 = $(!NTN_ServiceBase)"\"$(NwProductName3)
  1254.  
  1255.     set NwParameters1 = $(NwProductBase1)"\"$(NwGroup)
  1256.     set NwParameters2 = $(NwProductBase2)"\"$(NwGroup)
  1257.     set NwParameters3 = $(NwProductBase3)"\"$(NwGroup)
  1258.  
  1259.  
  1260.     ;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetWareWorkstation
  1261.     OpenRegKey $(!REG_H_LOCAL) "" $(NwProductBase1) $(!REG_KEY_ALL_ACCESS) NWBaseKey
  1262.     ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  1263.         Debug-Output "FATAL Registry Error:  Error Opening Key '"$(NwProductBase1)"'"
  1264.         goto fatalregistry
  1265.     endif
  1266.     
  1267.     ;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetWareWorkstation\Performance
  1268.     OpenRegKey $(!REG_H_LOCAL) "" $(NwParameters1) $(!REG_KEY_ALL_ACCESS) ParmBaseKey
  1269.     ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  1270.         Debug-Output "Creating Software Key '"$(NwParameters1)"'"
  1271.             ;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetWareWorkstation\Performance
  1272.         CreateRegKey $(NWBaseKey) {$(NwGroup),$(NoTitle),GenericClass} "" $(!REG_KEY_ALL_ACCESS) $(!REG_OPT_NONVOL) ParmBaseKey
  1273.         ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  1274.             Debug-Output "FATAL Registry Error:  Error Creating Key '"$(NwParameters1)"'"
  1275.             goto fatalregistry
  1276.         endif
  1277.     endif
  1278.     CloseRegKey $(NWBaseKey)
  1279.     CloseRegKey $(ParmBaseKey)
  1280.     
  1281.     ;    The key opened by CreateRegKey does not have the rights that it should
  1282.     ;    That is why it has been closed and then reopened.  This appears to be a bug in
  1283.     ;    CreateRegKey stuff.
  1284.     
  1285.     ;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetWareWorkstation\Performance
  1286.     OpenRegKey $(!REG_H_LOCAL) "" $(NwParameters1) $(!REG_KEY_ALL_ACCESS) ParmBaseKey
  1287.     ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  1288.         Debug-Output "FATAL Registry Error:  Error Opening Key '"$(NwParameters1)"'"
  1289.         goto fatalregistry
  1290.     else
  1291.         Debug-Output "Writing '"$(NwParameters1)": "$(ValueName1)" = "$(ValueData1)"'"
  1292.         SetRegValue $(ParmBaseKey) {$(ValueName1),$(NoTitle),$(!REG_VT_SZ),$(ValueData1)}
  1293.         ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  1294.             Debug-Output "ERROR Writing '"$(NwParameters1)": "$(ValueName1)" = "$(ValueData1)"'"
  1295.             Debug-Output "     'RegLastError' = "$(RegLastError)$(LF)
  1296.             goto fatalregistry
  1297.         endif
  1298.         Debug-Output "Writing '"$(NwParameters1)": "$(ValueName2)" = "$(ValueData2)"'"
  1299.         SetRegValue $(ParmBaseKey) {$(ValueName2),$(NoTitle),$(!REG_VT_SZ),$(ValueData2)}
  1300.         ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  1301.             Debug-Output "ERROR Writing '"$(NwParameters1)": "$(ValueName2)" = "$(ValueData2)"'"
  1302.             Debug-Output "     'RegLastError' = "$(RegLastError)$(LF)
  1303.             goto fatalregistry
  1304.         endif
  1305.         Debug-Output "Writing '"$(NwParameters1)": "$(ValueName3)" = "$(ValueData3)"'"
  1306.         SetRegValue $(ParmBaseKey) {$(ValueName3),$(NoTitle),$(!REG_VT_SZ),$(ValueData3)}
  1307.         ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  1308.             Debug-Output "ERROR Writing '"$(NwParameters1)": "$(ValueName3)" = "$(ValueData3)"'"
  1309.             Debug-Output "     'RegLastError' = "$(RegLastError)$(LF)
  1310.             goto fatalregistry
  1311.         endif
  1312.         Debug-Output "Writing '"$(NwParameters1)": "$(ValueName4)" = "$(ValueData4)"'"
  1313.         SetRegValue $(ParmBaseKey) {$(ValueName4),$(NoTitle),$(!REG_VT_SZ),$(ValueData4)}
  1314.         ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  1315.             Debug-Output "ERROR Writing '"$(NwParameters1)": "$(ValueName4)" = "$(ValueData4)"'"
  1316.             Debug-Output "     'RegLastError' = "$(RegLastError)$(LF)
  1317.             goto fatalregistry
  1318.         endif
  1319.     endif
  1320.     CloseRegKey $(ParmBaseKey)
  1321.     
  1322.     ;==================================================
  1323.     set ValueData1 = "NwPfCloseLSLPerformanceData"
  1324.     set ValueData2 = "NwPfCollectLSLPerformanceData"
  1325.     set ValueData3 = "NwPfOpenLSLPerformanceData"
  1326.     
  1327.     ;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LSL
  1328.     OpenRegKey $(!REG_H_LOCAL) "" $(NwProductBase2) $(!REG_KEY_ALL_ACCESS) NWBaseKey
  1329.     ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  1330.         Debug-Output "FATAL Registry Error:  Error Opening Key '"$(NwProductBase2)"'"
  1331.         goto fatalregistry
  1332.     endif
  1333.     
  1334.     ;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LSL\Performance
  1335.     OpenRegKey $(!REG_H_LOCAL) "" $(NwParameters2) $(!REG_KEY_ALL_ACCESS) ParmBaseKey
  1336.     ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  1337.         Debug-Output "Creating Software Key '"$(NwParameters2)"'"
  1338.             ;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LSL\Performance
  1339.         CreateRegKey $(NWBaseKey) {$(NwGroup),$(NoTitle),GenericClass} "" $(!REG_KEY_ALL_ACCESS) $(!REG_OPT_NONVOL) ParmBaseKey
  1340.         ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  1341.             Debug-Output "FATAL Registry Error:  Error Creating Key '"$(NwParameters2)"'"
  1342.             goto fatalregistry
  1343.         endif
  1344.     endif
  1345.     CloseRegKey $(NWBaseKey)
  1346.     CloseRegKey $(ParmBaseKey)
  1347.     
  1348.     ;    The key opened by CreateRegKey does not have the rights that it should
  1349.     ;    That is why it has been closed and then reopened.  This appears to be a bug in
  1350.     ;    CreateRegKey stuff.
  1351.     
  1352.     ;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LSL\Performance
  1353.     OpenRegKey $(!REG_H_LOCAL) "" $(NwParameters2) $(!REG_KEY_ALL_ACCESS) ParmBaseKey
  1354.     ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  1355.         Debug-Output "FATAL Registry Error:  Error Opening Key '"$(NwParameters2)"'"
  1356.         goto fatalregistry
  1357.     else
  1358.         Debug-Output "Writing '"$(NwParameters2)": "$(ValueName1)" = "$(ValueData1)"'"
  1359.         SetRegValue $(ParmBaseKey) {$(ValueName1),$(NoTitle),$(!REG_VT_SZ),$(ValueData1)}
  1360.         ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  1361.             Debug-Output "ERROR Writing '"$(NwParameters2)": "$(ValueName1)" = "$(ValueData1)"'"
  1362.             Debug-Output "     'RegLastError' = "$(RegLastError)$(LF)
  1363.             goto fatalregistry
  1364.         endif
  1365.         Debug-Output "Writing '"$(NwParameters2)": "$(ValueName2)" = "$(ValueData2)"'"
  1366.         SetRegValue $(ParmBaseKey) {$(ValueName2),$(NoTitle),$(!REG_VT_SZ),$(ValueData2)}
  1367.         ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  1368.             Debug-Output "ERROR Writing '"$(NwParameters2)": "$(ValueName2)" = "$(ValueData2)"'"
  1369.             Debug-Output "     'RegLastError' = "$(RegLastError)$(LF)
  1370.             goto fatalregistry
  1371.         endif
  1372.         Debug-Output "Writing '"$(NwParameters2)": "$(ValueName3)" = "$(ValueData3)"'"
  1373.         SetRegValue $(ParmBaseKey) {$(ValueName3),$(NoTitle),$(!REG_VT_SZ),$(ValueData3)}
  1374.         ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  1375.             Debug-Output "ERROR Writing '"$(NwParameters2)": "$(ValueName3)" = "$(ValueData3)"'"
  1376.             Debug-Output "     'RegLastError' = "$(RegLastError)$(LF)
  1377.             goto fatalregistry
  1378.         endif
  1379.         Debug-Output "Writing '"$(NwParameters2)": "$(ValueName4)" = "$(ValueData4)"'"
  1380.         SetRegValue $(ParmBaseKey) {$(ValueName4),$(NoTitle),$(!REG_VT_SZ),$(ValueData4)}
  1381.         ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  1382.             Debug-Output "ERROR Writing '"$(NwParameters2)": "$(ValueName4)" = "$(ValueData4)"'"
  1383.             Debug-Output "     'RegLastError' = "$(RegLastError)$(LF)
  1384.             goto fatalregistry
  1385.         endif
  1386.     endif
  1387.     CloseRegKey $(ParmBaseKey)
  1388.  
  1389.     ;==================================================
  1390.     set ValueData1 = "NwPfCloseODIPerformanceData"
  1391.     set ValueData2 = "NwPfCollectODIPerformanceData"
  1392.     set ValueData3 = "NwPfOpenODIPerformanceData"
  1393.     
  1394.     ;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OdiLoad
  1395.     OpenRegKey $(!REG_H_LOCAL) "" $(NwProductBase3) $(!REG_KEY_ALL_ACCESS) NWBaseKey
  1396.     ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  1397.         Debug-Output "FATAL Registry Error:  Error Opening Key '"$(NwProductBase3)"'"
  1398.         goto fatalregistry
  1399.     endif
  1400.     
  1401.     ;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OdiLoad\Performance
  1402.     OpenRegKey $(!REG_H_LOCAL) "" $(NwParameters3) $(!REG_KEY_ALL_ACCESS) ParmBaseKey
  1403.     ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  1404.         Debug-Output "Creating Software Key '"$(NwParameters3)"'"
  1405.             ;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OdiLoad\Performance
  1406.         CreateRegKey $(NWBaseKey) {$(NwGroup),$(NoTitle),GenericClass} "" $(!REG_KEY_ALL_ACCESS) $(!REG_OPT_NONVOL) ParmBaseKey
  1407.         ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  1408.             Debug-Output "FATAL Registry Error:  Error Creating Key '"$(NwParameters3)"'"
  1409.             goto fatalregistry
  1410.         endif
  1411.     endif
  1412.     CloseRegKey $(NWBaseKey)
  1413.     CloseRegKey $(ParmBaseKey)
  1414.     
  1415.     ;    The key opened by CreateRegKey does not have the rights that it should
  1416.     ;    That is why it has been closed and then reopened.  This appears to be a bug in
  1417.     ;    CreateRegKey stuff.
  1418.     
  1419.     ;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OdiLoad\Performance
  1420.     OpenRegKey $(!REG_H_LOCAL) "" $(NwParameters3) $(!REG_KEY_ALL_ACCESS) ParmBaseKey
  1421.     ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  1422.         Debug-Output "FATAL Registry Error:  Error Opening Key '"$(NwParameters3)"'"
  1423.         goto fatalregistry
  1424.     else
  1425.         Debug-Output "Writing '"$(NwParameters3)": "$(ValueName1)" = "$(ValueData1)"'"
  1426.         SetRegValue $(ParmBaseKey) {$(ValueName1),$(NoTitle),$(!REG_VT_SZ),$(ValueData1)}
  1427.         ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  1428.             Debug-Output "ERROR Writing '"$(NwParameters3)": "$(ValueName1)" = "$(ValueData1)"'"
  1429.             Debug-Output "     'RegLastError' = "$(RegLastError)$(LF)
  1430.             goto fatalregistry
  1431.         endif
  1432.         Debug-Output "Writing '"$(NwParameters3)": "$(ValueName2)" = "$(ValueData2)"'"
  1433.         SetRegValue $(ParmBaseKey) {$(ValueName2),$(NoTitle),$(!REG_VT_SZ),$(ValueData2)}
  1434.         ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  1435.             Debug-Output "ERROR Writing '"$(NwParameters3)": "$(ValueName2)" = "$(ValueData2)"'"
  1436.             Debug-Output "     'RegLastError' = "$(RegLastError)$(LF)
  1437.             goto fatalregistry
  1438.         endif
  1439.         Debug-Output "Writing '"$(NwParameters3)": "$(ValueName3)" = "$(ValueData3)"'"
  1440.         SetRegValue $(ParmBaseKey) {$(ValueName3),$(NoTitle),$(!REG_VT_SZ),$(ValueData3)}
  1441.         ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  1442.             Debug-Output "ERROR Writing '"$(NwParameters3)": "$(ValueName3)" = "$(ValueData3)"'"
  1443.             Debug-Output "     'RegLastError' = "$(RegLastError)$(LF)
  1444.             goto fatalregistry
  1445.         endif
  1446.         Debug-Output "Writing '"$(NwParameters3)": "$(ValueName4)" = "$(ValueData4)"'"
  1447.         SetRegValue $(ParmBaseKey) {$(ValueName4),$(NoTitle),$(!REG_VT_SZ),$(ValueData4)}
  1448.         ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  1449.             Debug-Output "ERROR Writing '"$(NwParameters3)": "$(ValueName4)" = "$(ValueData4)"'"
  1450.             Debug-Output "     'RegLastError' = "$(RegLastError)$(LF)
  1451.             goto fatalregistry
  1452.         endif
  1453.     endif
  1454.     CloseRegKey $(ParmBaseKey)
  1455.  
  1456.  
  1457. ; Replaced the next bunch of lines with a function call to the
  1458. ; Nwsetup.dll library
  1459.  
  1460. ;    RunProgram exitCode "" "" lodctr.exe lslstats.ini
  1461. ;    ifstr $(exitCode) == "ERROR"
  1462. ;        Debug-Output "Error running program 'lodctr.exe lslstats.ini'"
  1463. ;        goto fatalregistry
  1464. ;    endif
  1465. ;    RunProgram exitCode "" "" lodctr.exe rdrstats.ini
  1466. ;    ifstr $(exitCode) == "ERROR"
  1467. ;        Debug-Output "Error running program 'lodctr.exe rdrstats.ini'"
  1468. ;        goto fatalregistry
  1469. ;    endif
  1470. ;    RunProgram exitCode "" "" lodctr.exe odistats.ini
  1471. ;    ifstr $(exitCode) == "ERROR"
  1472. ;        Debug-Output "Error running program 'lodctr.exe odistats.ini'"
  1473. ;        goto fatalregistry
  1474. ;    endif
  1475.  
  1476.     StartWait
  1477.     LoadLibrary "NetWare for Windows NT" nwsetup.dll NwLibHandle
  1478.     LibraryProcedure GUIResult $(NwLibHandle) NWLoadPerformanceCounters
  1479.     FreeLibrary $(NwLibHandle)
  1480.     EndWait
  1481.  
  1482.  
  1483.     ;====================================================
  1484.     ;        PERFORMANCE  -END
  1485.     ;====================================================
  1486.  
  1487.     ;
  1488.     ;  Add ODINSUP hidden
  1489.     ;
  1490.  
  1491.     Set OldInstallMode = $(!NTN_InstallMode)
  1492.     Set !NTN_InstallMode = install
  1493.     Shell "ODINSUP.inf" InstallOption $(!STF_LANGUAGE) "ODINSUP" "" NO NO NO
  1494.     Set !NTN_InstallMode = $(OldInstallMode)
  1495.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1496.         goto ShellCodeError
  1497.     Endif
  1498.  
  1499.  
  1500.  
  1501. ;    set ProductHardwareName     = "ODINSUP"
  1502. ;    set Manufacturer    = "Novell"
  1503. ;    set ProductKeyName  = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductHardwareName)"\CurrentVersion"
  1504. ;
  1505. ;    ;  add ODINSUP at board two or later
  1506. ;    Shell "UTILITY.INF", AddHardwareComponent, $(ProductHardwareName),$(STF_CONTEXTINFNAME),$(ProductKeyName),"","","2"
  1507. ;   ifint $($R4) != -1
  1508. ;        Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4))
  1509. ;   endif
  1510. ;   ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1511. ;        Debug-Output "ODINSUP: AddHardwareComponent Shell error "$($ShellCode)
  1512. ;        goto ShellCodeError
  1513. ;   endif
  1514. ;   set RegistryErrorIndex = $($R0)
  1515. ;   Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1516. ;        EndWait
  1517. ;        Debug-Output "ODINSUP: AddHardwareComponent Registry error "$(RegistryErrorIndex)
  1518. ;        CloseRegKey $($R1)
  1519. ;        CloseRegKey $($R2)
  1520. ;        CloseRegKey $($R3)
  1521. ;        goto fatalregistry
  1522. ;   endif
  1523. ;   set KeyParameters = $($R3)
  1524. ;   set KeyAdapterRules = $($R2)
  1525. ;   set AdapterNumber = $($R4)
  1526. ;   set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+
  1527. ;           {Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardware$(Option)Title)},+
  1528. ;           {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardware$(Option)Description)},+
  1529. ;           {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+
  1530. ;           {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
  1531. ;           {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  1532. ;   Shell "UTILITY.INF", AddValueList, $($R1), $(NewValueList)
  1533. ;   ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1534. ;        Debug-Output "ODINSUP: AddValueList ShellCode error "$($ShellCode)
  1535. ;        goto ShellCodeError
  1536. ;   endif
  1537. ;   CloseRegKey $($R1)
  1538. ;   set TempProdName = """"$(ProductHardwareName)$(AdapterNumber)""""
  1539. ;   set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
  1540. ;   set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardwareType)},+
  1541. ;        {bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, +
  1542. ;        {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardwareClass)}, +
  1543. ;        {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}, +
  1544. ;        {Infname ,$(NoTitle),$(!REG_VT_SZ),$(STF_CONTEXTINFNAME)}}
  1545. ;   Shell  "UTILITY.INF", AddValueList, $(KeyAdapterRules), $(NewValueList)
  1546. ;   ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1547. ;        Debug-Output "ODINSUP: AddValueList ShellCode error "$($ShellCode)
  1548. ;        goto ShellCodeError
  1549. ;   endif
  1550. ;   set RegistryErrorIndex = $($R0)
  1551. ;   Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1552. ;        EndWait
  1553. ;        Debug-Output "ODINSUP: AddValueList Registry error "$(RegistryErrorIndex)
  1554. ;        CloseRegKey $(KeyParameters)
  1555. ;        CloseRegKey $(KeyAdapterRules)
  1556. ;        goto fatalregistry
  1557. ;   endif
  1558. ;
  1559. ;   CloseRegKey $(KeyAdapterRules)
  1560. ;
  1561. ;
  1562.  
  1563.  
  1564.     install "CreateNetWareGroup"
  1565.  
  1566. ;
  1567. ;  Try to detect the ndis driver that the lan man services are using
  1568. ;
  1569.     Shell "NWSUBS.INF" NwDetectNdisAdapter $(SrcDir)
  1570.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1571.         Debug-Output "OEMNPRNW.INF: NwDetectNdisAdapter ShellCode error "$($ShellCOde)
  1572.         goto ShellCodeError
  1573.     endif
  1574.  
  1575.     goto successful
  1576.  
  1577. ;-----------------------------------------------
  1578. ; Configure Browser section
  1579. ;-----------------------------------------------
  1580. configurenetware = +
  1581.     Debug-Output "OEMNPRNW.INF: Configure NetWare "$(!NTN_RegBase)
  1582.     set CommonStatus = STATUS_USERCANCEL
  1583.     LoadLibrary "NetWare for Windows NT" nwsetup.dll NwLibHandle
  1584.     SetHelpFile $(!STF_WINDOWSSYSPATH)"\nls\english\nwnthelp.hlp" $(!MinimumID) $(!MaximumID)
  1585.  
  1586.     Ifstr(i) $(!NTN_RegBase) == $(ProductNWFSKeySoftware)
  1587.     ; Configure the NetWare Workstation.
  1588.         Debug-Output "OEMNPRNW.INF: Configure NetWare Workstation"
  1589.             StartWait
  1590.             set HelpContext = $(IDH_NETWAREWRKSTATIONPARMS)
  1591.             LibraryProcedure LibResult $(NwLibHandle) NetWareWorkstationDialog
  1592.  
  1593.             Debug-Output "LibResult = "$(LibResult)
  1594.  
  1595.             ifstr(i) $(LibResult) == "CONTINUE"
  1596.                 Debug-Output "OK hit"
  1597.  
  1598.                 Set DoReboot = "YES"
  1599.                 Set CommonStatus = STATUS_REBOOT
  1600.             endif
  1601.  
  1602.     else-ifstr(i) $(!NTN_RegBase) == $(ProductIPXSPXKeySoftware)
  1603.     ; Configure Ipx/Spx.
  1604.  
  1605.         Shell "" ConfigureIpxSpx $(NwLibHandle) YES
  1606.  
  1607.         set CommonStatus = $($R0)
  1608.         set DoReboot = $($R1)
  1609.  
  1610.     else-ifstr(i) $(!NTN_RegBase) == $(ProductODILOADKeySoftware)
  1611.         ; Configure OdiLoad.
  1612.         Debug-Output "OEMNPRNW.INF: Configure OdiLoad"
  1613.  
  1614.     else-ifstr(i) $(!NTN_RegBase) == $(ProductRESMGRKeySoftware)
  1615.         ; Configure Resmgr.
  1616.         Debug-Output "OEMNPRNW.INF: Configure Resmgr"
  1617.         Set KeyName = "SYSTEM\CurrentControlSet\Services\"$(Product$(Option)Name)"\Parameters"
  1618.         OpenRegKey $(!REG_H_LOCAL) "" $(KeyName) $(MAXIMUM_ALLOWED) KeyParameters
  1619.         Ifstr(i) $(KeyParameters) != ""
  1620.             set KeyValueList = ""
  1621.             GetRegValue $(KeyParameters) "Communication Buffers" KeyValueList
  1622.             set CommunicationBuffers = *($(KeyValueList), 4)
  1623.  
  1624.             read-syms "ResMgrDlg"$(!STF_LANGUAGE)
  1625.             ui start "ResMgrDLG" $(NwLibHandle)
  1626.             StartWait
  1627.  
  1628.             ifstr(i) $(DLGEVENT) == "CONTINUE"
  1629.                 Debug-Output "OK hit"
  1630.                 set CommunicationBuffers = *($(EditTextOut), 1)
  1631.                 ifint $(CommunicationBuffers) < 1
  1632.                     set CommunicationBuffers = 1
  1633.                 else-ifint $(CommunicationBuffers) > 128
  1634.                     set CommunicationBuffers = 128
  1635.                 endif
  1636.                 set KeyValueList = {"Communication Buffers",$(NoTitle),$(!REG_VT_DWORD),$(CommunicationBuffers)}
  1637.                 SetRegValue $(KeyParameters) $(KeyValueList)
  1638.  
  1639.                 FlushRegKey $(KeyParameters)
  1640.                 Set DoReboot = "YES"
  1641.                 Set CommonStatus = STATUS_REBOOT
  1642.             endif
  1643.  
  1644.             CloseRegKey $(KeyParameters)
  1645.             ui pop 1
  1646.             EndWait
  1647.         endif
  1648.     Endif
  1649.  
  1650.     FreeLibrary $(NwLibHandle)
  1651.     goto successful
  1652.  
  1653. ;-----------------------------------------------
  1654. ; Binding section
  1655. ;-----------------------------------------------
  1656. bindnetware =+
  1657.     Debug-Output "OEMNPRNW.INF: Bind NetWare"
  1658.     LoadLibrary "NetWare for Windows NT" nwsetup.dll NwLibHandle
  1659.     SetHelpFile $(!STF_WINDOWSSYSPATH)"\nls\english\nwnthelp.hlp" $(!MinimumID) $(!MaximumID)
  1660.  
  1661.     ;
  1662.     ;  Check if NWIP installed
  1663.     ;
  1664.     OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\NWIP" $(MAXIMUM_ALLOWED) KeyProduct
  1665.     Ifstr $(KeyProduct) != $(KeyNull)
  1666.         GetRegValue $(KeyProduct) "DeleteFlag" DeleteFlagList
  1667.         Set DeleteFlag = *($(DeleteFlagList), 4)
  1668.         Debug-Output "DeleteFlag = "$(DeleteFlag)
  1669.         Ifint $(DeleteFlag) != 1
  1670.             Set NWIPInstalled = YES
  1671.             Debug-Output "OEMNPRNW.INF: bindnetware, NWIP is installed"
  1672.         Else
  1673.             Set NWIPInstalled = ""
  1674.             Debug-Output "OEMNPRNW.INF: bindnetware, NWIP NOT installed"
  1675.         Endif
  1676.         CloseRegKey $(KeyProduct)
  1677.     Endif
  1678.  
  1679.  
  1680.  
  1681.     Shell "NWSUBS.INF" GetTotalAdapterList
  1682.  
  1683.     Set OdiProductNameList    = $($R0)
  1684.     Set OdiTitleList            = $($R1)
  1685.     Set OdiCardList            = $($R2)
  1686.     Set NumberOdiAdapters    = $($R3)
  1687.     Set NdisProductNameList    = $($R4)
  1688.     Set NdisTitleList            = $($R5)
  1689.     Set NdisCardList            = $($R6)
  1690.     Set NumberNdisAdapters    = $($R7)
  1691.     Set ODINSUPCardNumber    = $($R8)
  1692.                                     
  1693.  
  1694.  
  1695.     Shell "" ConfigureIpxSpx $(NwLibHandle) NO
  1696.  
  1697.  
  1698.     Set GroupOrderToFollow = "file system"
  1699.  
  1700.     ;
  1701.     ; Is there a ODI driver installed?
  1702.     ;
  1703.     ifint $(NumberOdiAdapters) > 0
  1704.         Debug-Output "Found Odi Adapters"
  1705.         ;
  1706.         ; Turn on OdiLoad
  1707.         ;
  1708.         OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\OdiLoad" $(MAXIMUM_ALLOWED) KeyProduct
  1709.         Ifstr $(KeyProduct) != $(KeyNull)
  1710.             Set KeyValueList = {"Start",$(NoTitle),$(!REG_VT_DWORD),2}
  1711.             SetRegValue $(KeyProduct) $(KeyValueList)
  1712.             CloseRegKey $(KeyProduct)
  1713.         Endif
  1714.  
  1715.         ;
  1716.         ; Turn on ODINSUP
  1717.         ;
  1718.         OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\Odinsup" $(MAXIMUM_ALLOWED) KeyProduct
  1719.         Ifstr $(KeyProduct) != $(KeyNull)
  1720.             Set KeyValueList = {"Start",$(NoTitle),$(!REG_VT_DWORD),2}
  1721.             SetRegValue $(KeyProduct) $(KeyValueList)
  1722.             CloseRegKey $(KeyProduct)
  1723.         Endif
  1724.  
  1725.  
  1726.         ;
  1727.         ; Set the card for ODINSUP to bind to
  1728.         ;
  1729.         read-syms OdiNSupVars
  1730.         read-syms OdiVars
  1731.  
  1732.         OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\ODINSUP"$(ODINSUPCardNumber)"\Parameters" $(MAXIMUM_ALLOWED) KeyOdiNSupParameters
  1733.  
  1734.  
  1735.         Ifstr(i) $(KeyOdiNSupParameters) != ""
  1736.     
  1737.             Ifint $(NumberOdiAdapters) > 1
  1738.                 ;
  1739.                 ; More than one ODI adapter is installed so allow
  1740.                 ; the user to select which one to bind to.
  1741.                 ;
  1742.         
  1743.                 Ifstr(i) $(OdiCurBindCardName) != ""
  1744.                     Debug-Output "NWSUBS.INF: OdiCurBindCardName = "$(OdiCurBindCardName)
  1745.                     Set DefaultOdiTitle = *($(OdiTitleList), ~($(OdiCardList), $(OdiCurBindCardName)))
  1746.                 Endif
  1747.         
  1748.                 Ifstr(i) $(DefaultOdiTitle) == ""
  1749.                     Set DefaultOdiTitle = *($(OdiTitleList), 1)
  1750.                 Endif
  1751.         
  1752.                 Debug-Output "NWSUBS.INF: DefaultOdiTitle = "$(DefaultOdiTitle)
  1753.     
  1754.                 read-syms OdinsupDlg$(!STF_LANGUAGE)
  1755.                 ui start "ODINSUP" $(NwLibHandle)
  1756.                 ui pop 1
  1757.         
  1758.                 ifstr(i) $(DLGEVENT) == "BACK"
  1759.                     set AdapterSelected = ""
  1760.                 else
  1761.                     Set AdapterSelected = *($(DefaultOdiTitle), 1)
  1762.                 endif
  1763.     
  1764.                 Debug-Output "NWSUBS.INF: ODINSUP AdapterSelected = "$(AdapterSelected)
  1765.     
  1766.                 Ifstr(i) $(AdapterSelected) == ""
  1767.                     Debug-Output "NWSUBS.INF: Cancel Selected"
  1768.                     Set CardToBindTo = *($(OdiProductNameList), 1)
  1769.                     Set OdiCardInstance = 1
  1770.                 Else
  1771.                     Set CardToBindTo = *($(OdiProductNameList), ~($(OdiTitleList), $(AdapterSelected)))
  1772.                     Debug-Output "CardToBindTo = "$(CardToBindTo)
  1773.  
  1774.                     Set NtAdapterNumber = *($(OdiCardList), ~($(OdiTitleList), $(AdapterSelected)))
  1775.                     Debug-Output "NtAdapterNumber = "$(NtAdapterNumber)
  1776.         
  1777.                     Set NtAdapterKeyName = $(NetworkCardsKeyName)"\"$(NtAdapterNumber)
  1778.                     OpenRegKey $(!REG_H_LOCAL) "" $(NtAdapterKeyName) $(MAXIMUM_ALLOWED) KeyNtAdapter
  1779.                     Ifstr(i) $(KeyNtAdapter) != ""
  1780.         
  1781.                         GetRegValue $(KeyNtAdapter),"ServiceName", ServiceNameList
  1782.                         Set ServiceName = *($(ServiceNameList), 4)
  1783.                         CloseRegKey $(KeyNtAdapter)
  1784.         
  1785.         
  1786.                         ; Open the lan man card's service\Parameters.
  1787.                         ;
  1788.                         OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"$(ServiceName)"\Parameters" $(MAXIMUM_ALLOWED) KeyService
  1789.                         ifstr(i) $(KeyService) == ""
  1790.         
  1791.                             Debug-Output "NWSUBS.INF: NwSetIpxCard, Can't open "$(ServiceName)
  1792.         
  1793.                         Else
  1794.                             ; Get the OdiLoad link.
  1795.                             ;
  1796.                             GetRegValue $(KeyService) $(OdiLinkName) CardInstanceList
  1797.                             Set CardInstanceName = *($(CardInstanceList), 4)
  1798.                             CloseRegKey $(KeyService)
  1799.             
  1800.                             OpenRegKey $(!REG_H_LOCAL) "" $(OdiModuleName)"\"$(CardInstanceName) $(MAXIMUM_ALLOWED) KeyOdiCard
  1801.                             Ifstr(i) $(KeyOdiCard) != ""
  1802.                                 GetRegValue $(KeyOdiCard) "BoardInstance" BoardInstanceList
  1803.                                 Set OdiCardInstance = *($(BoardInstanceList), 4)
  1804.                                 Debug-Output "2: Selected OdiCardInstance = "$(OdiCardInstance)
  1805.                                 CloseRegKey $(KeyOdiCard)
  1806.                             Endif
  1807.                         Endif
  1808.                     Else
  1809.                         Debug-Output "Can't open "$(NtAdapterKeyName)
  1810.                     Endif
  1811.                 Endif
  1812.             Else
  1813.                 ;
  1814.                 ; only one ODI adapter so use it.
  1815.                 ;
  1816.                 Set CardToBindTo = *($(OdiProductNameList), 1)
  1817.                 Debug-Output "NWSUBS.INF: ODISUP bound to "$(CardToBindTo)
  1818.  
  1819.             Endif
  1820.     
  1821.     
  1822.             SetRegValue $(KeyOdiNSupParameters) {$(OdiNSupCardName),$(NoTitle),$(!REG_VT_SZ),$(CardToBindTo)}
  1823.             Ifstr(i) $(OdiCardInstance) == ""
  1824.                 Debug-Output "NWSUBS.INF: NwSetIpxCard, OdiCardInstance set to default."
  1825.                 Set OdiCardInstance = "1"
  1826.             Endif
  1827.             SetRegValue $(KeyOdiNSupParameters) {$(OdiNSupCardInstance),$(NoTitle),$(!REG_VT_DWORD),$(OdiCardInstance)}
  1828.     
  1829.             CloseRegKey $(KeyOdiNSupParameters)
  1830.         Endif
  1831.  
  1832.  
  1833.  
  1834.  
  1835.  
  1836.  
  1837.  
  1838.     Else
  1839.         ;
  1840.         ; Turn off OdiLoad
  1841.         ;
  1842.         OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\OdiLoad" $(MAXIMUM_ALLOWED) KeyProduct
  1843.         Ifstr $(KeyProduct) != $(KeyNull)
  1844.             Set KeyValueList = {"Start",$(NoTitle),$(!REG_VT_DWORD),4}
  1845.             SetRegValue $(KeyProduct) $(KeyValueList)
  1846.             CloseRegKey $(KeyProduct)
  1847.         Endif
  1848.  
  1849.         ;
  1850.         ; Turn off ODINSUP
  1851.         ;
  1852.         OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\Odinsup" $(MAXIMUM_ALLOWED) KeyProduct
  1853.         Ifstr $(KeyProduct) != $(KeyNull)
  1854.             Set KeyValueList = {"Start",$(NoTitle),$(!REG_VT_DWORD),4}
  1855.             SetRegValue $(KeyProduct) $(KeyValueList)
  1856.             CloseRegKey $(KeyProduct)
  1857.         Endif
  1858.  
  1859.     
  1860.     Endif
  1861.  
  1862.     Ifint $(NumberNdisAdapters) > 0
  1863.         ;
  1864.         ; Ndis drivers installed
  1865.         ;    
  1866.         Set GroupOrderToFollow = "NDIS"
  1867.  
  1868.     Endif
  1869.  
  1870.  
  1871.     ;
  1872.     ; Is NWIP installed
  1873.     ;
  1874.     Ifstr $(NWIPInstalled) == YES
  1875.         Set GroupOrderToFollow = "file system"
  1876.         ;
  1877.         ; Turn off VMLID
  1878.         ;
  1879.         OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\OdiVMLID" $(MAXIMUM_ALLOWED) KeyProduct
  1880.         Ifstr $(KeyProduct) != $(KeyNull)
  1881.             Set KeyValueList = {"Start",$(NoTitle),$(!REG_VT_DWORD),4}
  1882.             SetRegValue $(KeyProduct) $(KeyValueList)
  1883.             CloseRegKey $(KeyProduct)
  1884.         Endif
  1885.         ;
  1886.         ; Hide Ipx
  1887.         ;
  1888.  
  1889.         set IpxHidden = 1
  1890.  
  1891.         ;
  1892.         ; Check to see if DHCP is installed
  1893.         ;
  1894.         Debug-Output "OEMNPRNW.INF: Check to see if DHCP is installed"
  1895.  
  1896.         set DependOnList = {"Tcpip"}
  1897.  
  1898.         OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\DHCP" $(MAXIMUM_ALLOWED) KeyDHCP
  1899.         Ifstr $(KeyDHCP) != $(KeyNull)
  1900.             ;
  1901.             ; Check to see if the service is set to start
  1902.             ;
  1903.             GetRegValue $(KeyDHCP) "Start" StartList
  1904.             Ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
  1905.                 Set StartValue = *($(StartList), 4)
  1906.                 Ifint $(StartValue) < 4
  1907.                     ;
  1908.                     ; Make NWIP depend on the service DHCP
  1909.                     ;
  1910.                     Debug-Output "OEMNPRNW.INF: Make NWIP depend on DHCP service"
  1911.                     set DependOnList = {"DHCP"}
  1912.                 Endif
  1913.             Endif
  1914.  
  1915.             CloseRegKey $(KeyDHCP)
  1916.         Endif
  1917.  
  1918.         OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\NWIP" $(MAXIMUM_ALLOWED) KeyNWIP
  1919.         Ifstr $(KeyNWIP) != $(KeyNull)
  1920.             SetRegValue $(KeyNWIP) {"DependOnService",$(NoTitle),$(!REG_VT_MULTI_SZ),$(DependOnList)}
  1921.             CloseRegKey $(KeyNWIP)
  1922.         Endif
  1923.  
  1924.     Else
  1925.         ;
  1926.         ; Make sure Ipx is NOT hidden
  1927.         ;
  1928.         set IpxHidden = 0
  1929.  
  1930.     Endif
  1931.  
  1932.     OpenRegKey $(!REG_H_LOCAL) "" $(ProductIPXSPXKeySoftware) $(MAXIMUM_ALLOWED) KeyIpxSoftware
  1933.     Ifstr(i) $(KeyIpxSoftware) == ""
  1934.         Debug-Output "OEMNPRNW.INF: Error opening "$(ProductIPXSPXKeyName)
  1935.     Else
  1936.         SetRegValue $(KeyIpxSoftware) {"Hidden",$(NoTitle),$(!REG_VT_DWORD),$(IpxHidden)}
  1937.         CloseRegKey $(KeyIpxSoftware)
  1938.     Endif
  1939.  
  1940.  
  1941.     ;
  1942.     ; Set the group Order
  1943.     ;
  1944.     Shell "" InstallEx-ServiceGroupOrder $(GroupOrderToFollow)
  1945.     Ifstr(i) $($R0) != NO_ERROR
  1946.         set CommonStatus = STATUS_NO_EFFECT    
  1947.     Endif
  1948.  
  1949.     FreeLibrary $(NwLibHandle)
  1950.  
  1951.     goto end
  1952.  
  1953. ;-----------------------------------------------
  1954. ; Removenetware section
  1955. ;-----------------------------------------------
  1956. removenetware = +
  1957.  
  1958.     StartWait
  1959.  
  1960.     LoadLibrary "NetWare for Windows NT" nwsetup.dll NwLibHandle
  1961.     LibraryProcedure GUIResult $(NwLibHandle) NWCleanUpNetWare
  1962.     FreeLibrary $(NwLibHandle)
  1963.  
  1964.     StartWait
  1965.  
  1966.     goto end
  1967.  
  1968.  
  1969. ;-----------------------------------------------
  1970. ; Upgrade Software section
  1971. ;-----------------------------------------------
  1972.  
  1973. upgradenetware = +
  1974.  
  1975.     Set CanUpgrade = 0
  1976.  
  1977.     OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_SoftwareBase)"\Novell" $(MAXIMUM_ALLOWED) SoftwareNovell
  1978.     Ifstr(i) $(SoftwareNovell) != ""
  1979.         GetRegValue $(SoftwareNovell) "CurrentVersion" CurrentVersion
  1980.         Ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
  1981.             Set ProductVersion = *($(CurrentVersion), 4)
  1982.             ifint $(ProductVersion) > 100
  1983.                 set CanUpgrade = 1
  1984.             Endif
  1985.         Endif
  1986.         CloseRegKey $(SoftwareNovell)
  1987.     Endif
  1988.  
  1989.     ifint $(CanUpgrade) == 0
  1990.         Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", +
  1991.             "The Update button is not supported with previous beta versions.  "+
  1992.             "Please remove the NetWare Services for Windows NT and "+
  1993.             "then reboot before reinstalling it."
  1994.  
  1995.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1996.             goto ShellCodeError
  1997.         endif
  1998.         goto end
  1999.     endif
  2000.  
  2001.     LibraryProcedure STATUS, $(!LIBHANDLE), AppendBackSlash $(SrcDir)
  2002.     
  2003.     ifstr(i) $(STATUS) != "ERROR"
  2004.         set SrcDir = $(STATUS)
  2005.     Endif
  2006.  
  2007.     OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_SoftwareBase)"\Novell\"$(ProductNWFSName)"\CurrentVersion\NetRules" $(MAXIMUM_ALLOWED) SoftwareNovell
  2008.     Ifstr(i) $(SoftwareNovell) != ""
  2009.         GetRegValue $(SoftwareNovell) "InfName" CurrentName
  2010.         Ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
  2011.             set !UG_Filename = *($(CurrentName), 4)
  2012.         Endif
  2013.         CloseRegKey $(SoftwareNovell)
  2014.     Endif
  2015.  
  2016.     ; Novell.cpl changed to Nwcpl.cpl so delete old name.
  2017.        LibraryProcedure Status1, $(!LIBHANDLE), DelFile, $(!STF_WINDOWSSYSPATH)"\novell.cpl"
  2018.        LibraryProcedure Status1, $(!LIBHANDLE), DelFile, $(!STF_WINDOWSSYSPATH)"\nls\english\novellr.dll"
  2019.  
  2020.     Install "Install-Update"
  2021.     ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  2022.         goto fatal
  2023.     endif
  2024.  
  2025.     LoadLibrary "NetWare for Windows NT" nwsetup.dll NwLibHandle
  2026.     LibraryProcedure GUIResult $(NwLibHandle) RemoveFilefromAutoexec "%SystemRoot%\system32\autoexec.nt" "lh %SystemRoot%\system32\vipx.exe"
  2027.     LibraryProcedure GUIResult $(NwLibHandle) NWUnLoadPerformanceCounters
  2028.     LibraryProcedure GUIResult $(NwLibHandle) NWLoadPerformanceCounters
  2029.     FreeLibrary $(NwLibHandle)
  2030.  
  2031.     set DoReboot = "YES"
  2032. ;
  2033. ;  Escape hatches
  2034. ;
  2035.  
  2036. successful = +
  2037.     goto end
  2038.  
  2039. ;
  2040. ; warning display
  2041. ;
  2042. warning = +
  2043.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
  2044.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  2045.         goto ShellCodeError
  2046.     endif
  2047.     ifstr(i) $($R1) == "OK"
  2048.         goto $(to)
  2049.     else-ifstr(i) $($R1) == "CANCEL"
  2050.         goto $(from)
  2051.     else
  2052. ;        Debug-Msg "Error Error Bad DLGEVENT"
  2053.         goto end
  2054.     endif
  2055.  
  2056.  
  2057. ;
  2058. ; non fatal error display
  2059. ;
  2060. nonfatalinfo = +
  2061.     Set CommonStatus = STATUS_USERCANCEL
  2062.     Set Severity = STATUS
  2063.     goto nonfatalmsg
  2064. nonfatal = +
  2065.     Set Severity = NONFATAL
  2066.     goto nonfatalmsg
  2067. nonfatalmsg = +
  2068.     ifstr(i) $(Error) == ""
  2069.         Set Severity = NONFATAL
  2070.         Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  2071.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  2072.             goto ShellCodeError
  2073.         endif
  2074.         set Error = $($R0)
  2075.     endif
  2076.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
  2077.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  2078.         goto ShellCodeError
  2079.     endif
  2080.     ifstr(i) $($R1) == "OK"
  2081.         goto $(from)
  2082.     else
  2083.         goto "end"
  2084.     endif
  2085.  
  2086. ;
  2087. ;  Registry is broken
  2088. ;
  2089. fatalregistry = +
  2090.     Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
  2091.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  2092.         goto ShellCodeError
  2093.     endif
  2094.     set Error = $($R0)
  2095.     goto fatal
  2096. ;
  2097. ; fatal error display
  2098. ;
  2099. fatal = +
  2100.     ifstr(i) $(Error) == ""
  2101.         Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  2102.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  2103.             goto ShellCodeError
  2104.         endif
  2105.         set Error = $($R0)
  2106.     endif
  2107.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
  2108.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  2109.         goto ShellCodeError
  2110.     endif
  2111.  
  2112.     goto setfailed
  2113.  
  2114. ;
  2115. ;  Shelling error
  2116. ;
  2117. ShellCodeError = +
  2118.     set DlgType    = "MessageBox"
  2119.     set STF_MB_TITLE = "Error: "$(FunctionTitle)
  2120.     set STF_MB_TEXT  = "Shell Code Error "$(TWM_ShellErrorTitle)
  2121.     set STF_MB_TYPE  = 1
  2122.     set STF_MB_ICON  = 3
  2123.     set STF_MB_DEF    = 1
  2124.     ui start "Error Message"
  2125.     goto setfailed
  2126.  
  2127. setfailed = +
  2128.     set CommonStatus = STATUS_FAILED
  2129.     ;
  2130.     ; If OEM_ABANDON_ON, we need to clean up the registry
  2131.     ;
  2132.     ifstr(i) $(OEM_ABANDON_ON) == TRUE
  2133.         set OEM_ABANDON_ON = FALSE
  2134.         goto removenetware
  2135.     endif
  2136.     goto end
  2137.  
  2138. end = +
  2139.     ifstr(i) $(DoReboot) == "YES"
  2140.         shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "STATUS" +
  2141.         "The changes you have made will not take effect until the computer is restarted."
  2142.     endif
  2143.  
  2144.     EndWait
  2145.     goto term
  2146.  
  2147. term = +
  2148.  
  2149.     Return $(CommonStatus)
  2150.  
  2151. ;
  2152. ;  Subroutines
  2153. ;
  2154.  
  2155.  
  2156. ;*************************************************************************
  2157. ;
  2158. ;    SECTION:    ConfigureIpxSpx
  2159. ;
  2160. ;    PURPOSE:    configure Ipx / Spx
  2161. ;
  2162. ;    ARGUMENTS:    $0    handle the NetWare setup library
  2163. ;              $1 DoConfig (always display dialog ?)
  2164. ;
  2165. ;    RETURNS:    $R0    CommonStatus
  2166. ;           $R1   DoReboot
  2167. ;
  2168. ;  REFERENCES:
  2169. ;
  2170. ;    MODIFIES:    Registry bindings and parameters for ipx/spx
  2171. ;
  2172. ;
  2173. ;*************************************************************************
  2174.  
  2175. [ConfigureIpxSpx]
  2176.     set NwLibHandle = $($0)
  2177.     set DoConfig = $($1)
  2178.  
  2179.     Debug-Output "OEMNPRNW.INF: Configure IpxSpx"
  2180.  
  2181.     read-syms GeneralConstants
  2182.     read-syms FileConstants
  2183.     read-syms IpxSpxConstants
  2184.  
  2185.     read-syms DialogConstants$(!STF_LANGUAGE)
  2186.  
  2187.  
  2188.     set AutoDetect = "AUTO DETECT"
  2189.     set ETHERNETFrameList = {$(AutoDetect),"ETHERNET_802.2","ETHERNET_802.3","ETHERNET_II","ETHERNET_SNAP"}
  2190.     set TOKEN-RINGFrameList = {$(AutoDetect),"TOKEN-RING","TOKEN-RING_SNAP"}
  2191.     set FDDIFrameList = {$(AutoDetect),"FDDI_802.2","FDDI_SNAP"}
  2192.     set NWIPFrameList = {"ETHERNET_II"}
  2193.     set UNKNOWNFrameList = {$(AutoDetect)}
  2194.  
  2195.     Shell $(NwSubsInf) GetIpxCardList
  2196.     set NetworkCardList = $($R0)
  2197.     set MediaTypeList = $($R1)
  2198.     set DriverTypeList = $($R2)
  2199.     set NumberOfNetworkCards = $($R3)
  2200.     set ProductNameList = $($R4)
  2201.     set ServiceNameList = $($R5)
  2202.     set NWIPInstalled   = $($R6)
  2203.     set CardNumberList  = $($R7)
  2204.  
  2205.     Debug-Output "NetworkCardList      = "$(NetworkCardList)
  2206.     Debug-Output "MediaTypeList        = "$(MediaTypeList)
  2207.     Debug-Output "DriverTypeList       = "$(DriverTypeList)
  2208.     Debug-Output "NumberOfNetworkCards = "$(NumberOfNetworkCards)
  2209.     Debug-Output "ProductNameList      = "$(ProductNameList)
  2210.     Debug-Output "ServiceNameList      = "$(ServiceNameList)
  2211.     Debug-Output "NWIPInstalled        = "$(NWIPInstalled)
  2212.     Debug-Output "CardNumberList       = "$(CardNumberList)
  2213.  
  2214.     set InstanceNumberList = {}
  2215.     set CardDriverInstanceList = {}
  2216.  
  2217.     ForListDo $(ProductNameList)
  2218.         set ProductName = $($)
  2219.         set DriverType = *($(DriverTypeList), $(#))
  2220.         set CardDriverIndex = $(ProductName)$(DriverType)
  2221.         set-add $(CardDriverIndex) = $($(CardDriverIndex)), 1
  2222.         set InstanceNumberList = >($(InstanceNumberList), $($(CardDriverIndex)))
  2223.         set CardDriverInstance = $(ProductName)$(DriverType)$($(CardDriverIndex))
  2224.         set CardDriverInstanceList = >($(CardDriverInstanceList), $(CardDriverInstance))
  2225.     EndForListDo
  2226.  
  2227.     Debug-Output "InstanceNumberList = "$(InstanceNumberList)
  2228.     Debug-Output "CardDriverInstanceList = "$(CardDriverInstanceList)
  2229.  
  2230.     ifint $(NumberOfNetworkCards) < 1
  2231.         Debug-Output "OEMNPRNW.INF: No network cards installed"
  2232.         Set DlgType = "MessageBox"
  2233.         Set STF_MB_TITLE = "NetWare IPX/SPX Service Setup"
  2234.         Set STF_MB_TEXT  = "The NetWare IPX/SPX service can not be configured because no network adapters are installed."
  2235.         Set STF_MB_TYPE  = 1
  2236.         Set STF_MB_ICON  = 2
  2237.         Set STF_MB_DEF    = 1
  2238.         ui start "Error Message"
  2239.         set CommonStatus = STATUS_USERCANCEL
  2240.  
  2241.         goto ConfigureIpxSpxEXIT
  2242.     endif
  2243.  
  2244.     ;
  2245.     ; Get the card and frame Ipx is currently bound to
  2246.     ;
  2247.     set IpxParametersName = $(!NTN_ServiceBase)"\"$(ProductIPXSPXName)"\Parameters"
  2248.     OpenRegKey $(!REG_H_LOCAL) "" $(IpxParametersName) $(MAXIMUM_ALLOWED) KeyIpxParameters
  2249.     ifstr(i) $(KeyIpxParameters) != ""
  2250.         GetRegValue $(KeyIpxParameters) $(CardInstance) ValueList
  2251.         set IpxCardInstance = *($(ValueList), 4)
  2252.         Debug-Output "OEMNPRNW.INF: VMLID, IpxCardInstance = "$(IpxCardInstance)
  2253.  
  2254.         GetRegValue $(KeyIpxParameters) $(CardTypeName) ValueList
  2255.         set IpxCard = *($(ValueList), 4)
  2256.         ifstr(i) $(IpxCard) == "VMLID"
  2257.             ;
  2258.             ; Get the card name from the VMLID service
  2259.             ;
  2260.             set VMLIDServiceName = $(!NTN_ServiceBase)"\"$(ProductVMLIDName)
  2261.             OpenRegKey $(!REG_H_LOCAL) "" $(VMLIDServiceName) $(MAXIMUM_ALLOWED) KeyVMLIDService
  2262.             ifstr(i) $(KeyVMLIDService) != ""
  2263.                 GetRegValue $(KeyVMLIDService) "Bind" ValueList
  2264.                 set BindList = *($(ValueList), 4)
  2265.                 Split-String $(BindList) "\" BindListParts
  2266.                 Debug-Output "OEMNPRNW.INF: VMLID BindListParts = "$(BindListParts)
  2267.                 set NdisCardService = *($(BindListParts), 4)
  2268.                 Debug-Output "OEMNPRNW.INF: VMLID, NdisCardService = "$(NdisCardService)
  2269.                 set CardIndex = ~($(ServiceNameList), $(NdisCardService))
  2270.                 set IpxCard = *($(ProductNameList), $(CardIndex))
  2271.                 Debug-Output "OEMNPRNW.INF: VMLID, IpxCard = "$(IpxCard)
  2272.                 set CurrentIpxNetworkCard = *($(NetworkCardList), $(CardIndex))
  2273.                 Debug-Output "OEMNPRNW.INF: VMLID, CurrentIpxNetworkCard = "$(CurrentIpxNetworkCard)
  2274.                 set DriverType = "NDIS"
  2275.                 set CardDriverInstance = *($(CardDriverInstanceList), $(CardIndex))
  2276.                 Debug-Output "OEMNPRNW.INF: VMLID, CardDriverInstance = "$(CardDriverInstance)
  2277.                 set IpxCardNumber = *($(CardNumberList), $(CardIndex))
  2278.                 Debug-Output "OEMNPRNW.INF: VMLID, IpxCardNumber = "$(IpxCardNumber)
  2279.  
  2280.                 CloseRegKey $(KeyVMLIDService)
  2281.             endif
  2282.  
  2283.         else
  2284.             set DriverType = "ODI"
  2285.             set CardDriverInstance = $(IpxCard)$(DriverType)$(IpxCardInstance)
  2286.             Debug-Output "OEMNPRNW.INF: ODI, CardDriverInstance = "$(CardDriverInstance)
  2287.             set CardIndex = ~($(CardDriverInstanceList), $(CardDriverInstance))
  2288.             set CurrentIpxNetworkCard = *($(NetworkCardList), $(CardIndex))
  2289.             Debug-Output "OEMNPRNW.INF: ODI, CurrentIpxNetworkCard = "$(CurrentIpxNetworkCard)
  2290.  
  2291.             set IpxCardNumber = *($(CardNumberList), $(CardIndex))
  2292.             Debug-Output "OEMNPRNW.INF: ODI, IpxCardNumber = "$(IpxCardNumber)
  2293.         endif
  2294.         GetRegValue $(KeyIpxParameters) $(FrameTypeName) ValueList
  2295.         set IpxFrameType = *($(ValueList), 4)
  2296.         CloseRegKey $(KeyIpxParameters)
  2297.     else
  2298.         Debug-Output "Can't open IpxSpx parameters key "$(IpxServiceName)
  2299.     endif
  2300.  
  2301.     Debug-Output "OEMNPRNW.INF: ConfigureIpxSpx IpxCard      = "$(IpxCard)
  2302.     Debug-Output "OEMNPRNW.INF: ConfigureIpxSpx IpxFrameType = "$(IpxFrameType)
  2303.     Debug-Output "OEMNPRNW.INF: ConfigureIpxSpx IpxCardNumber = "$(IpxCardNumber)
  2304.  
  2305.     set ReConfigureIpx = ""
  2306.     set WriteParameters = ""
  2307.     set VMLIDCard = ""
  2308.  
  2309.  
  2310.     ifstr(i) $(NWIPInstalled) == YES
  2311.         set OldIpxCard = $(IpxCard)
  2312.         set IpxCard = "NWIP"
  2313.         set IpxFrameType = *($(NWIPFrameList), 1)
  2314.         set DriverType = "ODI"
  2315.         ifstr(i) $(DoConfig) != YES
  2316.             goto dowriteparameters
  2317.         else-ifstr(i) $(OldIpxCard) != $(IpxCard)
  2318.             set ReConfigureIpx = YES
  2319.         endif
  2320.         set CurrentIpxNetworkCard = *($(NetworkCardList), 1)
  2321.     
  2322.     endif
  2323.  
  2324.  
  2325. ;    Debug-Output "Find "$(IpxCard)" in "$(ProductNameList)
  2326. ;
  2327. ;    ForListDo $(ProductNameList)
  2328. ;        set ProductName = $($)
  2329. ;        ifstr(i) $(ProductName) == $(IpxCard)
  2330. ;            ;
  2331. ;            ; The product names are the same now check the driver type
  2332. ;            ;
  2333. ;            set ProductDriverType = *($(DriverTypeList), $(#))
  2334. ;
  2335. ;            ifstr(i) $(ProductDriverType) == $(DriverType)
  2336. ;                set CurrentIpxNetworkCard = *($(NetworkCardList), $(#))
  2337. ;            endif
  2338. ;        endif
  2339. ;    EndForListDo
  2340.  
  2341.  
  2342.     set CurrentIpxFrameType = $(IpxFrameType)
  2343.  
  2344.     Debug-Output "OEMNPRNW.INF: CurrentIpxNetworkCard = "$(CurrentIpxNetworkCard)
  2345.  
  2346. ;    Ifcontains(i) $(IpxCard) in $(ProductNameList)
  2347.  
  2348.     Ifcontains(i) $(CardDriverInstance) in $(CardDriverInstanceList)
  2349.         ;
  2350.         ; The card Ipx is currently bound to is okay exit if not doing configure.
  2351.         ;
  2352.         Ifstr(i) $(DoConfig) != "YES"
  2353.             goto ConfigureIpxSpxEXIT
  2354.         Endif
  2355.     Else-Ifstr(i) $(NWIPInstalled) != YES
  2356.         ;
  2357.         ; The card Ipx is bound to is invalid
  2358.         ;
  2359.         set ReConfigureIpx = YES
  2360.         set CurrentIpxFrameType = $(AutoDetect)
  2361.     Endif
  2362.  
  2363.  
  2364.     ifstr(i) $(CurrentIpxNetworkCard) == ""
  2365.         set CurrentIpxNetworkCard = *($(NetworkCardList), 1)
  2366.     endif
  2367.  
  2368.     ifstr(i) $(CurrentIpxFrameType) == ""
  2369.         set CurrentIpxFrameType = $(AutoDetect)
  2370.     endif
  2371.  
  2372.     set LastIpxNetworkCard = $(CurrentIpxNetworkCard)
  2373.  
  2374. dothedialog = +
  2375.     set CurrentMediaType = *($(MediaTypeList), ~($(NetworkCardList), $(CurrentIpxNetworkCard)))
  2376.     set FrameTypeList = $($(CurrentMediaType)FrameList)
  2377.     ifstr(i) $(CurrentIpxNetworkCard) != $(LastIpxNetworkCard)
  2378.         set CurrentIpxFrameType = *($(FrameTypeList), 1)
  2379.     endif
  2380.     set LastIpxNetworkCard = $(CurrentIpxNetworkCard)
  2381.  
  2382.     StartWait
  2383.     read-syms "IpxCardFrameDlg"$(!STF_LANGUAGE)
  2384.  
  2385.  
  2386.     set NotifyFields = {"YES","NO"}
  2387.     set ComboListItemsIn = {NetworkCardList,FrameTypeList}
  2388.     set ComboListItemsOut = {CurrentIpxNetworkCard,CurrentIpxFrameType}
  2389.  
  2390.     ui start "LANDriverParms" $(NwLibHandle)
  2391.  
  2392.     ifstr(i) $(DLGEVENT) == "NOTIFY"
  2393.  
  2394.         Debug-Output "NOTIFY"
  2395.         set ReInit = YES
  2396.         goto dothedialog
  2397.     else-ifstr(i) $(DLGEVENT) == "CONTINUE"
  2398.         Debug-Output "Continue hit"
  2399.         set WriteParameters = YES
  2400.         set ListIndex = ~($(NetworkCardList), $(CurrentIpxNetworkCard))
  2401.         set IpxCard = *($(ProductNameList), $(ListIndex))
  2402.         set IpxCardNumber = *($(CardNumberList), $(ListIndex))
  2403.         set DriverType = *($(DriverTypeList), $(ListIndex))
  2404.         ifstr(i) $(DriverType) == "NDIS"
  2405.             set VMLIDCard = $(IpxCard)
  2406.             set VMLIDService = *($(ServiceNameList), $(ListIndex))
  2407.             set IpxCard = "VMLID"
  2408.             set IpxCardInstance = 1
  2409.         else
  2410.             set IpxCardInstance = *($(InstanceNumberList), $(ListIndex))
  2411.         endif
  2412.         set IpxFrameType = $(CurrentIpxFrameType)
  2413.         set CommonStatus = STATUS_SUCCESSFUL
  2414.     else-ifstr(i) $(DLGEVENT) == "BACK"
  2415.         Debug-Output "Action: CANCEL. Bye."
  2416.         ifstr(i) $(ReConfigureIpx) == YES
  2417.             Debug-Output "OEMNPRNW.INF: Ipx needs a new home"
  2418.             set WriteParameters = YES
  2419.             set ListIndex = 1
  2420.             set IpxCard = *($(ProductNameList), $(ListIndex))
  2421.             set IpxCardNumber = *($(CardNumberList), $(ListIndex))
  2422.             set DriverType = *($(DriverTypeList), $(ListIndex))
  2423.             ifstr(i) $(DriverType) == "NDIS"
  2424.                 set VMLIDCard = $(IpxCard)
  2425.                 set VMLIDService = *($(ServiceNameList), $(ListIndex))
  2426.                 set IpxCard = "VMLID"
  2427.                 set IpxCardInstance = 1
  2428.             else
  2429.                 set IpxCardInstance = *($(InstanceNumberList), $(ListIndex))
  2430.             endif
  2431.         endif
  2432.         set CommonStatus = STATUS_USERCANCEL
  2433.     else-ifstr(i) $(DLGEVENT) == "EXIT"
  2434.         ;
  2435.         ; user selected the advanced button
  2436.         ;
  2437.  
  2438.  
  2439.         StartWait
  2440.         set HelpContext = $(IDH_IPXSPXPARMS)
  2441.         LibraryProcedure LibResult $(NwLibHandle) IPXSPXDialog
  2442.  
  2443.         Debug-Output "LibResult = "$(LibResult)
  2444.  
  2445.         ifstr(i) $(LibResult) == "CONTINUE"
  2446.             Debug-Output "OK hit"
  2447.  
  2448.             Set DoReboot = "YES"
  2449.             Set CommonStatus = STATUS_REBOOT
  2450.         endif
  2451.  
  2452.         goto dothedialog
  2453.  
  2454.     else
  2455.         Debug-Output "DLGEVENT = "$(DLGEVENT)
  2456.     endif
  2457.  
  2458.     ui pop 1
  2459.  
  2460. dowriteparameters = +
  2461.  
  2462.     ifstr(i) $(WriteParameters) == YES
  2463.         set IpxParametersName = $(!NTN_ServiceBase)"\"$(ProductIPXSPXName)"\Parameters"
  2464.         OpenRegKey $(!REG_H_LOCAL) "" $(IpxParametersName) $(MAXIMUM_ALLOWED) KeyIpxParameters
  2465.         ifstr(i) $(KeyIpxParameters) != ""
  2466.             SetRegValue $(KeyIpxParameters) {$(CardTypeName),$(NoTitle),$(!REG_VT_SZ),$(IpxCard)}
  2467.             SetRegValue $(KeyIpxParameters) {$(FrameTypeName),$(NoTitle),$(!REG_VT_SZ),$(IpxFrameType)}
  2468.             SetRegValue $(KeyIpxParameters) {$(CardInstance),$(NoTitle),$(!REG_VT_DWORD),$(IpxCardInstance)}
  2469.             SetRegValue $(KeyIpxParameters) {$(IpxNtCardInstance),$(NoTitle),$(!REG_VT_SZ),$(IpxCardNumber)}
  2470.  
  2471.             set VMLIDServiceName = $(!NTN_ServiceBase)"\"$(ProductVMLIDName)
  2472.             OpenRegKey $(!REG_H_LOCAL) "" $(VMLIDServiceName) $(MAXIMUM_ALLOWED) KeyVMLIDService
  2473.             ifstr(i) $(KeyVMLIDService) != ""
  2474.                 ifstr(i) $(VMLIDCard) != ""
  2475.                     ;
  2476.                     ; Turn on VMLID and set the card to bind to
  2477.                     ;
  2478.                     set BindValue = "\Device\"$(VMLIDService)
  2479.                     SetRegValue $(KeyVMLIDService) {"Bind",$(NoTitle),$(!REG_VT_SZ),$(BindValue)}
  2480.                     SetRegValue $(KeyVMLIDService) {"Start",$(NoTitle),$(!REG_VT_DWORD),2}
  2481.  
  2482.                     ;
  2483.                     ; We are bound to an NDIS adapter so check if source routing is needed
  2484.                     ;
  2485.                     Ifstr(i) $(CurrentMediaType) != "ETHERNET"
  2486.                         Shell $(NwSubsInf) NWConfigureSourceRouting "Novell"
  2487.                     Endif
  2488.  
  2489.                 else
  2490.                     ;
  2491.                     ; Turn off VMLID
  2492.                     ;
  2493.                     SetRegValue $(KeyVMLIDService) {"Start",$(NoTitle),$(!REG_VT_DWORD),4}
  2494.                 endif
  2495.                 CloseRegKey $(KeyVMLIDService)
  2496.             else
  2497.  
  2498.             endif
  2499.             CloseRegKey $(KeyIpxParameters)
  2500.         else
  2501.             Debug-Output "OEMNPRNW.INF: writeparameters can't open "$(IpxParametersName)
  2502.         endif
  2503.  
  2504.         ;
  2505.         ; set OdiLoad
  2506.         ;
  2507.         set OdiLoadServiceName = $(!NTN_ServiceBase)"\"$(ProductODILOADName)
  2508.         OpenRegKey $(!REG_H_LOCAL) "" $(OdiLoadServiceName) $(MAXIMUM_ALLOWED) KeyOdiLoadService
  2509.         ifstr(i) $(KeyOdiLoadService) != ""
  2510.             ifstr(i) $(VMLIDCard) != ""
  2511.                 ;
  2512.                 ; Turn off OdiLoad if Ipx is bound to an Ndis driver
  2513.                 ;
  2514.                 SetRegValue $(KeyOdiLoadService) {"Start",$(NoTitle),$(!REG_VT_DWORD),4}
  2515.  
  2516.             else-ifstr(i) $(NWIPInstalled) == YES
  2517.                 ;
  2518.                 ; If any Odi drivers are installed turn on OdiLoad otherwise
  2519.                 ; turn it off.
  2520.                 ;
  2521.                 Ifcontains(i) "ODI" in $(DriverTypeList)
  2522.                     SetRegValue $(KeyOdiLoadService) {"Start",$(NoTitle),$(!REG_VT_DWORD),2}
  2523.                 Else
  2524.                     SetRegValue $(KeyOdiLoadService) {"Start",$(NoTitle),$(!REG_VT_DWORD),4}
  2525.                 Endif
  2526.  
  2527.             else
  2528.                 ;
  2529.                 ; Turn on OdiLoad because we must be using an Odi driver
  2530.                 ;
  2531.                 SetRegValue $(KeyOdiLoadService) {"Start",$(NoTitle),$(!REG_VT_DWORD),2}
  2532.  
  2533.             endif
  2534.             CloseRegKey $(KeyOdiLoadService)
  2535.         else
  2536.             Debug-Output "OEMNPRNW.INF: can't open OdiLoad service "$(OdiLoadServiceName)
  2537.         endif
  2538.  
  2539.                 
  2540.     endif
  2541.  
  2542. ConfigureIpxSpxEXIT = +
  2543.  
  2544.     return $(CommonStatus) $(DoReboot)
  2545.  
  2546. ;*************************************************************************
  2547. ;
  2548. ;    SECTION:    GetInfFileNameFromRegistry
  2549. ;
  2550. ;    PURPOSE:    get the inf file name from the product' NetRules section.
  2551. ;
  2552. ;    ARGUMENTS:    $0    product key handle
  2553. ;              (ie, system\software\Microsoft\Lance\CurrentVersion)
  2554. ;
  2555. ;    RETURNS:    $R0    Inf file name.
  2556. ;
  2557. ;  REFERENCES:    Nothing
  2558. ;
  2559. ;    MODIFIES:    Nothing
  2560. ;
  2561. ;
  2562. ;*************************************************************************
  2563.  
  2564. [GetInfFileNameFromRegistry]
  2565.     read-syms InitBaseVars
  2566.     set KeyProduct = $($0)
  2567.     set InfName = ""
  2568.  
  2569.     OpenRegKey $(KeyProduct) "" "NetRules" $(!REG_KEY_READ) NetRuleKey
  2570.     Ifstr(i) $(NetRuleKey) != $(KeyNull)
  2571.         GetRegValue $(NetRuleKey) "InfName" NetRuleInfNameList
  2572.         set NetRuleInfName = *($(NetRuleInfNameList), 4)
  2573.         Split-String $(NetRuleInfName), "\", FilenameList
  2574.         QueryListSize ListSize $(FilenameList)
  2575.         set InfName = *($(FilenameList), $(ListSize))
  2576.         CloseRegKey $(NetRuleKey)
  2577.     endif
  2578.  
  2579.     return $(InfName)
  2580.  
  2581.  
  2582. ;
  2583. ;  Helper sections:  service-specific installation and removal functions
  2584. ;
  2585.  
  2586. [InstallEx-AuthenticationPackage]
  2587.     StartWait
  2588.     Read-syms GeneralConstants
  2589.     Read-syms ExtendedConstants
  2590.     Set ValueName = "Authentication Packages"
  2591.  
  2592.     OpenRegKey $(!REG_H_LOCAL) "" "System\CurrentControlSet\Control\Lsa" $(MAXIMUM_ALLOWED) KeyLsa
  2593.                         
  2594.     Ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  2595.         Debug-Output "OEMNPRNW.INF: Cant open LSA key for authentication package"
  2596.         Goto IEX_Auth_Return
  2597.     Endif
  2598.  
  2599.     GetRegValue $(KeyLsa) $(ValueName) AuthValueList
  2600.     Set AuthList = *($(AuthValueList),4)
  2601.  
  2602.     Set DoIt = 1
  2603.     ForListDo $(AuthList)
  2604.         Ifstr(i) $($) == $(PkgName)
  2605.             Set DoIt = 0
  2606.         Endif
  2607.     EndForListDo
  2608.  
  2609.     Ifint $(DoIt) == 1
  2610.         Set NewAuthList = >($(AuthList),$(PkgName))
  2611.         SetRegValue $(KeyLsa) {$(ValueName),$(NoTitle),$(!REG_VT_MULTI_SZ),$(NewAuthList)}
  2612.         Ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  2613.             Debug-Output "OEMNPRNW.INF: Cant update LSA value for authentication package"
  2614.         Endif
  2615.     Endif
  2616.  
  2617.     CloseRegKey $(KeyLsa)
  2618.  
  2619. IEX_Auth_Return = +
  2620.     Return
  2621.  
  2622. [InstallEx-NetworkProvider]
  2623.     StartWait
  2624.     Read-syms GeneralConstants
  2625.     Read-syms ExtendedConstants
  2626.     Set ValueName = "ProviderOrder"
  2627.  
  2628.     OpenRegKey $(!REG_H_LOCAL) "" "System\CurrentControlSet\Control\NetworkProvider\order" $(MAXIMUM_ALLOWED) KeyPro
  2629.  
  2630.     Ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  2631.         Debug-Output "OEMNPRNW.INF: Cant open NetworkProvder\order key"
  2632.         Goto IEX_Prov_Return
  2633.     Endif
  2634.  
  2635.     GetRegValue $(KeyPro) $(ValueName) ProValueList
  2636.     Set ProString = *($(ProValueList),4)
  2637.     Split-string $(ProString) "," ProPieces
  2638.     Debug-Output "OEMNPRNW.INF:  Provider list string is: "$(ProPieces)
  2639.  
  2640.     Set DoIt = 1
  2641.     ForListDo $(ProPieces)
  2642.         Ifstr(i) $($) != ","
  2643.             Ifstr(i) $($) == $(ProviderName)
  2644.                 Set DoIt = 0
  2645.                 Debug-Output "OEMNPRNW.INF:  Provider already present"
  2646.             Endif
  2647.         Endif
  2648.     EndForListDo
  2649.  
  2650.     Ifint $(DoIt) == 1
  2651.         Set NewPieces = ""
  2652.         Set NewPieces = >($(NewPieces),$(ProviderName))
  2653.     ;    Ifstr(i) *($(ProPieces),1) != $(KeyNull)
  2654.             Set NewPieces = >($(NewPieces),",")
  2655.     ;    Endif
  2656.  
  2657.         ForListDo $(ProPieces)
  2658.             Set NewPieces = >($(NewPieces),$($))
  2659.         EndForListDo
  2660.  
  2661. ;     Debug-Output "OEMNPRNW.INF:  New provider list string is: "$(NewPieces)
  2662.  
  2663.         Set NewString = ""
  2664.         ForListDo $(NewPieces)
  2665.             Set NewString = $(NewString)$($)
  2666.         EndForListDo
  2667.         Debug-Output "OEMNPRNW.INF:  New provider string is: "$(NewString)
  2668.  
  2669.         SetRegValue $(KeyPro) {$(ValueName),$(NoTitle),$(!REG_VT_SZ),$(NewString)}
  2670.         Ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  2671.             Debug-Output "OEMNPRNW.INF: Can't update ProviderOrder value"
  2672.         Endif
  2673.     Endif
  2674.  
  2675.     CloseRegKey $(KeyPro)
  2676.  
  2677.     OpenRegKey $(!REG_H_LOCAL) "" "Software\Microsoft\Windows NT\CurrentVersion\File Manager\AddOns" $(MAXIMUM_ALLOWED) KeyPro
  2678.  
  2679.     Ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  2680.         Debug-Output "OEMNPRNW.INF: Can't open File Manager\AddOns key"
  2681.         Goto IEX_Prov_Return
  2682.     Endif
  2683.  
  2684.     SetRegValue $(KeyPro) {"Novell NetWare Extension",$(NoTitle),$(!REG_VT_SZ),"nwfmext.dll"}
  2685.     CloseRegKey $(KeyPro)
  2686.  
  2687.  
  2688. IEX_Prov_Return = +
  2689.     Return
  2690.  
  2691. [InstallEx-ServiceGroupOrder]
  2692.    StartWait
  2693.     Read-syms GeneralConstants
  2694.     Read-syms ExtendedConstants
  2695.     Set ValueName = "List"
  2696.     Set Result = NO_ERROR
  2697.     Set Predecessor = $($0)
  2698.  
  2699.     OpenRegKey $(!REG_H_LOCAL) "" "System\CurrentControlSet\Control\ServiceGroupOrder" $(MAXIMUM_ALLOWED) KeySgo
  2700.  
  2701.     Ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  2702.         set Result = "OEMNPRNW.INF: Cant open ServiceGroupOrder key"
  2703.         Debug-Output $(Result)
  2704.         Goto IEX_Sgo_Return
  2705.     Endif
  2706.  
  2707.     GetRegValue $(KeySgo) $(ValueName) SgoValue
  2708.  
  2709.     Set SgoList = *($(SgoValue),4)
  2710.     Set NewList = {}
  2711.  
  2712.     ForListDo $(SgoList)
  2713.         Set Item = $($)
  2714.         Ifstr(i) $(Item) == $(Predecessor)
  2715.             Set NewList = >($(NewList),$(Item))
  2716.             Ifstr(i) $(Item) == $(Predecessor)
  2717.                 ; Add all NetWare names to the list here
  2718.                 ForListDo $(SvcList)
  2719.                     Set NewList = >($(NewList),$($))
  2720.                 EndForListDo
  2721.             Endif
  2722.         Else-Ifstr(i) $(Item) == *($(SvcList),1)
  2723.             ; Oops.  We're in the wrong place.  Don't copy us to the new list were making.
  2724.             ; Increment Trigger so the next item will be skipped over.
  2725.         Else-Ifstr(i) $(Item) == *($(SvcList),2)
  2726.             ; Oops.  We're in the wrong place.  Don't copy us to the new list were making.
  2727.             ; Increment Trigger so the next item will be skipped over.
  2728.         Else-Ifstr(i) $(Item) == *($(SvcList),3)
  2729.             ; Oops.  We're in the wrong place.  Don't copy us to the new list were making.
  2730.             ; Increment Trigger so the next item will be skipped over.
  2731.         Else
  2732.             Set NewList = >($(NewList),$(Item))
  2733.         Endif
  2734.     EndForListDo
  2735.  
  2736.     SetRegValue $(KeySgo) {$(ValueName),$(NoTitle),$(!REG_VT_MULTI_SZ),$(NewList)}
  2737.     Ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  2738.         set Result = "OEMNPRNW.INF: Cant update ServiceGroupOrder value"
  2739.         Debug-Output $(Result)
  2740.     Endif
  2741.  
  2742.     CloseRegKey $(KeySgo)
  2743.  
  2744. IEX_Sgo_Return = +
  2745.     Return $(Result)
  2746.  
  2747. ;
  2748. ; Install the NetWare print provider
  2749. ;
  2750. [InstallEx-NetWarePrintServices]
  2751.    StartWait
  2752.     Read-syms GeneralConstants
  2753.     Read-syms ExtendedConstants
  2754.     Set ValueName = "Name"
  2755.     Set OrderName = "Order"
  2756.  
  2757.     OpenRegKey $(!REG_H_LOCAL) "" $(PrintProvider) $(MAXIMUM_ALLOWED) KeyPrint
  2758.  
  2759.     Ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  2760.         Debug-Output "OEMNPRNW.INF: Cant open "$(PrintProvider)" key"
  2761.         Goto IEX_Nps_Return
  2762.     Endif
  2763.  
  2764.     CreateRegKey $(KeyPrint) {$(NetWarePrintProviderName),$(NoTitle),GenericClass} "" $(MAXIMUM_ALLOWED) "" KeyProvider
  2765.     Ifint $(RegLastError) != !(!REG_ERROR_SUCCESS)
  2766.         Debug-Output "OEMNPRNW.INF: NetWare Print Services already install."
  2767.         OpenRegKey $(KeyPrint) "" $(NetWarePrintProviderName) $(MAXIMUM_ALLOWED) KeyProvider
  2768.     Endif
  2769.  
  2770.  
  2771.     SetRegValue $(KeyProvider) {$(ValueName),$(NoTitle),$(!REG_VT_SZ),"nwspool.dll"}
  2772.     Ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  2773.         Debug-Output "OEMNPRNW.INF: Can't update NetWare Print Services value"
  2774.     Endif
  2775.  
  2776.     GetRegValue $(KeyPrint) $(OrderName) PrintProviderOrder
  2777.     Set ProviderOrderList = *($(PrintProviderOrder), 4)
  2778.  
  2779.     Set DoIt = 1
  2780.  
  2781.     ForListDo $(ProviderOrderList)
  2782.         Set Item = $($)
  2783.         Ifstr(i) $(Item) == $(NetWarePrintProviderName)
  2784.             ; We're already in the list
  2785.             Set DoIt = 0
  2786.         Endif
  2787.     EndForListDo
  2788.  
  2789.     Ifint $(DoIt) == 1
  2790.         Set ProviderOrderList = >($(ProviderOrderList), $(NetWarePrintProviderName))
  2791.         SetRegValue $(KeyPrint) {$(OrderName),$(NoTitle),$(!REG_VT_MULTI_SZ),$(ProviderOrderList)}
  2792.         Ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  2793.             Debug-Output "OEMNPRNW.INF: Cant update Print Providers Order value"
  2794.         Endif
  2795.     Endif
  2796.  
  2797.     CloseRegKey $(KeyProvider)
  2798.     CloseRegKey $(KeyPrint)
  2799.  
  2800. IEX_Nps_Return = +
  2801.     Return
  2802.  
  2803. [FinishInstalling-NWFS]
  2804.     read-syms GeneralConstants
  2805.     read-syms FileConstants
  2806.  
  2807.     Set WorkStationHandle = $($0)
  2808.     Set KeyParameters = $($1)
  2809.     Set KeyLinkage = $($2)
  2810.     Set TransportSelected = $($5)
  2811.  
  2812. ; Check for the pre-alpha nwfs key if it exists delete it we are now using
  2813. ; the key NetWareWorkStation
  2814. ;
  2815.     set NetWareFileSystem = "Nwfs"
  2816.     set PreAlphaWorkstation = $(!NTN_ServiceBase)"\"$(NetWareFileSystem)
  2817.  
  2818.     OpenRegKey $(!REG_H_LOCAL) "" $(PreAlphaWorkstation) $(MAXIMUM_ALLOWED) KeyWorkstation
  2819.     Ifstr(i) $(KeyWorkstation) != ""
  2820.         CloseRegKey $(KeyWorkstation)
  2821.         OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase) $(MAXIMUM_ALLOWED) KeyServices
  2822.         Ifstr(i) $(KeyServices) == ""
  2823.             Debug-Output "OEMNPRNW.INF: Delete Nwfs, Can't open "$(!NTN_ServiceBase)
  2824.         Else
  2825.             DeleteRegTree $(KeyServices) $(NetWareFileSystem)
  2826.             CloseRegKey $(KeyServices)
  2827.         Endif
  2828.     Endif
  2829.  
  2830.  
  2831.     SetRegValue $(KeyLinkage) {"OtherDependencies",$(NoTitle),$(!REG_VT_MULTI_SZ),{"Mup","+NetWare Services"}}
  2832.  
  2833.     CreateRegKey $(WorkStationHandle) {"NetworkProvider",$(NoTitle),GenericClass} "" $(MAXIMUM_ALLOWED) "" ProviderHandle
  2834.     Ifstr(i) $(ProviderHandle) == ""
  2835.         Debug-Output "OEMNPRNW.INF: Can't create NetWareWorkstation\NetworkProvider"
  2836.         OpenRegValue $(WorkStationHandle) "" "NetworkProvider" $(MAXIMUM_ALLOWED) ProviderHandle
  2837.         Ifstr(i) $(ProviderHandle) == ""
  2838.             goto FIN_NWWS_Return
  2839.         Endif
  2840.     Endif
  2841.  
  2842.     SetRegValue $(ProviderHandle) {"Class",$(NoTitle),$(!REG_VT_DWORD),"3"}
  2843.     SetRegValue $(ProviderHandle) {"Name",$(NoTitle),$(!REG_VT_SZ),"NetWare Services"}
  2844.     SetRegValue $(ProviderHandle) {"ProviderPath",$(NoTitle),$(!REG_VT_EXPAND_SZ),$(System32Root)"NETWARE.DLL"}
  2845.     SetRegValue $(ProviderHandle) {"DeviceName",$(NoTitle),$(!REG_VT_SZ),"\Device\NetWareWorkstation"}
  2846.  
  2847.     SetRegValue $(KeyParameters) {"Retry Count",$(NoTitle),$(!REG_VT_DWORD),16}
  2848.     SetRegValue $(KeyParameters) {"Burst Mode",$(NoTitle),$(!REG_VT_DWORD),1}
  2849.     SetRegValue $(KeyParameters) {"First Time Install",$(NoTitle),$(!REG_VT_DWORD),1}
  2850.  
  2851.     CloseRegKey $(ProviderHandle)
  2852.  
  2853.     Debug-Output "2: TransportSelected = "$(TransportSelected)
  2854.  
  2855.     Ifstr(i) $(TransportSelected) == "NWLINK"
  2856.         Debug-Output "Set registry for NWLINK, KeyParameters = "$(KeyParameters)
  2857.         SetRegValue $(KeyParameters) {"IPX TDI Provider",$(NoTitle),$(!REG_VT_SZ),"\Device\Streams\NWLINKIPX"}
  2858.     Endif
  2859.  
  2860.  
  2861. FIN_NWWS_Return = +
  2862.     Return
  2863.  
  2864. [FinishInstalling-IPXSPX]
  2865.     read-syms GeneralConstants
  2866.     read-syms FileConstants
  2867.     read-syms IpxSpxConstants
  2868.  
  2869.     set ParmKey = $($1)
  2870.     set LinkageKey = $($2)
  2871.  
  2872.     ;  set Parameters
  2873.  
  2874.     SetRegValue $(ParmKey) {$(CardTypeName),$(NoTitle),$(!REG_VT_SZ),$(CardName)}
  2875.     SetRegValue $(ParmKey) {$(CardInstance),$(NoTitle),$(!REG_VT_DWORD),$(CardInstanceNum)}
  2876.     SetRegValue $(ParmKey) {"Session Count",$(NoTitle),$(!REG_VT_DWORD),48}
  2877.     SetRegValue $(ParmKey) {"Window Size",$(NoTitle),$(!REG_VT_DWORD),3}
  2878.     SetRegValue $(ParmKey) {"Retry Count",$(NoTitle),$(!REG_VT_DWORD),10}
  2879.     SetRegValue $(ParmKey) {"Retry Delay Timeout",$(NoTitle),$(!REG_VT_DWORD),0}
  2880.     SetRegValue $(ParmKey) {"Watchdog Abort Timeout",$(NoTitle),$(!REG_VT_DWORD),30}
  2881.     SetRegValue $(ParmKey) {"Watchdog Listen Timeout",$(NoTitle),$(!REG_VT_DWORD),6}
  2882.     SetRegValue $(ParmKey) {"Watchdog Verify Timeout",$(NoTitle),$(!REG_VT_DWORD),3}
  2883.  
  2884.     ; set Linkage
  2885.  
  2886.     SetRegValue $(LinkageKey) {$(BindValueName),$(NoTitle),$(!REG_VT_SZ),"\DEVICE\IPXSPX"}
  2887.  
  2888.     Shell $(UtilityInf) AddWinsockInfo $(ProductIPXSPXName) "wshnw.dll" "14" "14"
  2889.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  2890.         Debug-Output "OEMNPRNW.INF: AddWinsockInfo ShellCode error "$($ShellCode)
  2891.     endif
  2892.  
  2893.  
  2894.  
  2895. ; Check for the pre-alpha Ipx service key if it exists delete it.  We are now
  2896. ; using the key IpxSpx
  2897. ;
  2898.     set PreAlphaIpxName    = "Ipx"
  2899.     set PreAlphaIpxService = $(!NTN_ServiceBase)"\"$(PreAlphaIpxName)
  2900.  
  2901.     OpenRegKey $(!REG_H_LOCAL) "" $(PreAlphaIpxService) $(MAXIMUM_ALLOWED) KeyIpx
  2902.     Ifstr(i) $(KeyIpx) != ""
  2903.         CloseRegKey $(KeyIpx)
  2904.         OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase) $(MAXIMUM_ALLOWED) KeyServices
  2905.         Ifstr(i) $(KeyServices) == ""
  2906.             Debug-Output "OEMNPRNW.INF: Delete Ipx, Can't open "$(!NTN_ServiceBase)
  2907.         Else
  2908.             DeleteRegTree $(KeyServices) $(PreAlphaIpxName)
  2909.             FlushRegKey $(KeyServices)
  2910.             CloseRegKey $(KeyServices)
  2911.         Endif
  2912.     Endif
  2913.  
  2914.     Return
  2915.  
  2916.  
  2917. [FinishInstalling-LSL]
  2918.     Return
  2919.  
  2920.  
  2921. [FinishInstalling-RESMGR]
  2922.     Return
  2923.  
  2924.  
  2925. [FinishInstalling-ODILOAD]
  2926.     Set KeyLinkage = $($2)
  2927.  
  2928.     SetRegValue $(KeyLinkage) {"OtherDependencies",$(NoTitle),$(!REG_VT_MULTI_SZ),{"+ODI"}}
  2929.  
  2930.     Return
  2931.  
  2932.  
  2933. [FinishInstalling-MUP]
  2934.     Return
  2935.  
  2936.  
  2937. [FinishInstalling-TDI]
  2938.     Return
  2939.  
  2940.  
  2941. [FinishInstalling-SPXAPI]
  2942.     Return
  2943.  
  2944. [FinishInstalling-IPXAPI]
  2945.     Return
  2946.  
  2947. [FinishInstalling-ROUTE]
  2948.     Return
  2949.  
  2950. [FinishInstalling-RECONNECT]
  2951.     Return
  2952.  
  2953. [FinishInstalling-VMLID]
  2954.     Return
  2955.  
  2956. [FinishInstalling-NWPOPUP]
  2957.     Debug-Output "FinishInstalling-NWPOPUP"
  2958.     set KeyNwPop = $($0)
  2959.  
  2960.     FlushRegKey $(KeyNwPop)
  2961. ;    OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)\NwPopUp $(MAXIMUM_ALLOWED) KeyNwPop
  2962.     Ifstr(i) $(KeyNwPop) != ""
  2963.         Debug-Output "Opened Key NWPOPUP"
  2964.         GetRegValue $(KeyNwPop) "Type" ValueTypeList
  2965.         Debug-Output "TypeList = "$(ValueTypeList)
  2966.         set ValueType = *($(ValueTypeList), 4)
  2967.         Debug-Output "Type = "$(ValueType)
  2968.         set-add ValueType = $(ValueType),256
  2969.         SetRegValue $(KeyNwPop) {"Type",$(NoTitle),$(!REG_VT_DWORD),$(ValueType)}
  2970. ;        CloseRegKey $(KeyNwPop)
  2971.         Endif
  2972.     Endif
  2973.     Return
  2974.  
  2975. [FinishInstalling-ODINSUP]
  2976.     Return
  2977.  
  2978. [ProgressCopyENG]
  2979.     !p:ProCaption    = "NetWare for Windows NT Setup"
  2980.     !p:ProCancel    = "Cancel"
  2981.     !p:ProCancelMsg = "NetWare for Windows NT is not correctly installed.  Are you sure you want "+
  2982.              "to cancel copying files?"
  2983.     !p:ProCancelCap = "Setup Message"
  2984.     !p:ProText1    = "Copying:"
  2985.     !p:ProText2    = "To:"
  2986.     !p:Error     = "Unable to determine proper source disk location; copy cannot be performed."
  2987.  
  2988. [DoAskSource]
  2989.     Set DAS_CWDDIR  = $($0)
  2990.     Set DAS_SRCDIR  = $($1)
  2991.     Set DAS_BUILTIN = $($2)
  2992.     Set DAS_Result  = STATUS_FAILED
  2993.     Ifstr(i) $(!STF_SRCDIR_OVERRIDE) != ""
  2994.         Set DAS_SRCDIR = $(!STF_SRCDIR_OVERRIDE)
  2995.         Set DAS_Result = STATUS_SUCCESSFUL
  2996.         Goto DAS_exit
  2997.     Endif
  2998.     Ifstr(i) $(DAS_BUILTIN) == YES
  2999.         Ifstr(i) $(!NTN_InstallPhase) == primary
  3000.             Ifstr(i) $(!STF_SRCDIR_WINNT) != ""
  3001.                 Set DAS_SRCDIR = $(!STF_SRCDIR_WINNT)
  3002.             Endif
  3003.             Set DAS_Result = STATUS_SUCCESSFUL
  3004.             Goto DAS_exit
  3005.         Endif
  3006.     Endif
  3007.     Debug-Output "OEMNPRNW.INF: [DoAskSource] STF_CWDDIR = "$(DAS_CWDDIR)" STF_SRCDIR = "$(DAS_SRCDIR)
  3008.     Ifstr(i) $(DAS_SRCDIR) == ""
  3009.         Set DAS_SRCDIR = "A:\"
  3010.     Endif
  3011.     Ifstr(i) $(DAS_SRCDIR) == $(!STF_SRCDIR_USED)
  3012.         Set DAS_SRCDIR = $(!STF_SRCDIR_KEYED)
  3013.     Endif
  3014.     Set NetWareDlgText = "Please enter the full path of the NetWare for Windows NT distribution "+
  3015.                 "files.  Then choose Continue."
  3016.     Shell "subroutn.inf" DoAskSourceEx $(DAS_SRCDIR) $(NetWareDlgText)
  3017.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  3018.         Debug-Output "UTILITY.INF: shelling SUBROUTN.INF [DoAskSource] failed"
  3019.         goto DAS_exit
  3020.     endif
  3021.     Set DAS_Result = $($R0)
  3022.     Set DAS_SRCDIR = $($R1)
  3023.     Set !STF_SRCDIR_USED = $($R1)
  3024.     Set !STF_SRCDIR_KEYED = $($R3)
  3025. DAS_exit =+
  3026.     Read-syms ProgressCopy$(!STF_LANGUAGE)
  3027.     Return $(DAS_Result) $(DAS_SRCDIR)
  3028.  
  3029. ;***************************************************************
  3030. ;  INSTALL SECTIONS
  3031. ;***************************************************************
  3032. [CreateNetWareGroup]
  3033.     set NetWareGroup = "NetWare"
  3034.     CreateCommonProgManGroup $(NetWareGroup) ""
  3035.     RemoveCommonProgManGroup $(NetWareGroup)
  3036.     CreateCommonProgManGroup $(NetWareGroup) ""
  3037.     ShowCommonProgManGroup $(NetWareGroup), 1
  3038.     CreateCommonProgmanItem "NetWare", "DOS Support" "%SystemRoot%\netware.pif" "%SystemRoot%\system32\nwsetup.dll" 1
  3039.     CreateCommonProgmanItem "NetWare", "Getting Started" "winhlp32 %SystemRoot%\system32\netware\readme.hlp" "" 0
  3040. ;
  3041. ;    Minimize the group
  3042. ;
  3043.     ShowCommonProgManGroup $(NetWareGroup), 6
  3044.     Exit
  3045.  
  3046. [Install-NetWare-Dir]
  3047.     CreateDir $(!STF_WINDOWSSYSPATH)\NetWare
  3048.     CreateDir $(!STF_WINDOWSSYSPATH)\NLS
  3049.     CreateDir $(!STF_WINDOWSSYSPATH)\NLS\English
  3050.     Exit
  3051.  
  3052. [Install-Option]
  3053.     set STF_VITAL     = ""
  3054.     set STF_OVERWRITE    = "VERIFYSOURCEOLDER"
  3055.  
  3056.     Debug-Output "OEMNPRNW.INF: Language directory to use: LANGUAGE = "$(LANGUAGE)
  3057.     Debug-Output "OEMNPRNW.INF: Install-FirstFiles: AddCopy = "$(AddCopy)
  3058.     Debug-Output "OEMNPRNW.INF: Install-FirstFiles: DoCopy  = "$(DoCopy)
  3059.     Debug-Output "OEMNPRNW.INF: STF_WINDOWSPATH = "$(!STF_WINDOWSPATH)
  3060.  
  3061.  
  3062.     Debug-Output "OEMNPRNW.INF: STF_NTPATH = "$(!STF_NTPATH)
  3063.  
  3064.     Ifstr(i) $(AddCopy) == "YES"
  3065.         ;
  3066.         ; Add the files to the copy list
  3067.         ;
  3068.         AddSectionFilesToCopyList Files-FirstFiles                            $(SrcDir)                            $(!STF_WINDOWSSYSPATH)
  3069.         AddSectionFilesToCopyList Files-Readme                                    $(SrcDir)                            $(!STF_WINDOWSSYSPATH)\netware
  3070.         AddSectionFilesToCopyList Files-NWSETUP                                $(SrcDir)$(!STF_PLATFORM)             $(!STF_WINDOWSSYSPATH)
  3071.         AddSectionFilesToCopyList Files-CLEAN                                    $(SrcDir)$(!STF_PLATFORM)             $(!STF_WINDOWSSYSPATH)\netware
  3072.         AddSectionFilesToCopyList Files-Help                                    $(SrcDir)$(!STF_PLATFORM)\nls\english    $(!STF_WINDOWSSYSPATH)\nls\english
  3073.         AddSectionFilesToCopyList Files-Messages                                $(SrcDir)$(!STF_PLATFORM)\nls\english    $(!STF_WINDOWSSYSPATH)
  3074.         AddSectionFilesToCopyList Files-16bitLibs                                $(SrcDir)I386\libs16                     $(!STF_WINDOWSSYSPATH)
  3075.         AddSectionFilesToCopyList Files-Unicode                                $(SrcDir)I386\nls                    $(!STF_WINDOWSSYSPATH)\nls
  3076.         AddSectionFilesToCopyList Files-System32-$(!STF_PLATFORM)        $(SrcDir)$(!STF_PLATFORM)\redir        $(!STF_WINDOWSSYSPATH)
  3077.     
  3078.         AddSectionFilesToCopyList Files-Inf-$(!STF_PLATFORM)                $(SrcDir)$(!STF_PLATFORM)            $(!STF_WINDOWSSYSPATH)
  3079.         AddSectionFilesToCopyList Files-NtRoot-$(!STF_PLATFORM)            $(SrcDir)$(!STF_PLATFORM)\redir        $(!STF_WINDOWSPATH)
  3080.         AddSectionFilesToCopyList Files-NetWare-$(!STF_PLATFORM)            $(SrcDir)$(!STF_PLATFORM)\redir        $(!STF_WINDOWSSYSPATH)\netware
  3081.         AddSectionFilesToCopyList Files-Drivers-$(!STF_PLATFORM)            $(SrcDir)$(!STF_PLATFORM)\redir        $(!STF_WINDOWSSYSPATH)\drivers
  3082.         AddSectionFilesToCopyList Files-Libs-$(!STF_PLATFORM)                $(SrcDir)$(!STF_PLATFORM)\libs32        $(!STF_WINDOWSSYSPATH)
  3083.     Endif
  3084.  
  3085.  
  3086.     Ifstr(i) $(DoCopy) == "YES"
  3087.     ;
  3088.     ; Copy files in the copy list
  3089.     ;
  3090.         set !STF_NCPA_FLUSH_COPYLIST = TRUE
  3091.         CopyFilesInCopyList
  3092.     Endif
  3093.  
  3094.     Exit
  3095.  
  3096. [Install-Update]
  3097.     set STF_VITAL        = ""
  3098.  
  3099.     AddSectionFilesToCopyList Files-Inf                                        $(SrcDir)                                $(!STF_WINDOWSSYSPATH)
  3100.  
  3101.     AddSectionFilesToCopyList Files-FirstFiles                            $(SrcDir)                                $(!STF_WINDOWSSYSPATH)
  3102.     AddSectionFilesToCopyList Files-Readme                                    $(SrcDir)                                $(!STF_WINDOWSSYSPATH)\netware
  3103.     AddSectionFilesToCopyList Files-NWSETUP                                $(SrcDir)$(!STF_PLATFORM)             $(!STF_WINDOWSSYSPATH)
  3104.     AddSectionFilesToCopyList Files-CLEAN                                    $(SrcDir)$(!STF_PLATFORM)             $(!STF_WINDOWSSYSPATH)\netware
  3105.     AddSectionFilesToCopyList Files-Help                                    $(SrcDir)$(!STF_PLATFORM)\nls\english        $(!STF_WINDOWSSYSPATH)\nls\english
  3106.     AddSectionFilesToCopyList Files-Messages                                $(SrcDir)$(!STF_PLATFORM)\nls\english        $(!STF_WINDOWSSYSPATH)
  3107.     AddSectionFilesToCopyList Files-16bitLibs                                $(SrcDir)I386\libs16                         $(!STF_WINDOWSSYSPATH)
  3108.     AddSectionFilesToCopyList Files-Unicode                                $(SrcDir)I386\nls                        $(!STF_WINDOWSSYSPATH)\nls
  3109.     AddSectionFilesToCopyList Files-System32-$(!STF_PLATFORM)        $(SrcDir)$(!STF_PLATFORM)\redir        $(!STF_WINDOWSSYSPATH)
  3110.  
  3111.     AddSectionFilesToCopyList Files-Inf-$(!STF_PLATFORM)                $(SrcDir)$(!STF_PLATFORM)            $(!STF_WINDOWSSYSPATH)
  3112.     AddSectionFilesToCopyList Files-NtRoot-$(!STF_PLATFORM)            $(SrcDir)$(!STF_PLATFORM)\redir        $(!STF_WINDOWSPATH)
  3113.     AddSectionFilesToCopyList Files-NetWare-$(!STF_PLATFORM)            $(SrcDir)$(!STF_PLATFORM)\redir        $(!STF_WINDOWSSYSPATH)\netware
  3114.     AddSectionFilesToCopyList Files-Drivers-$(!STF_PLATFORM)            $(SrcDir)$(!STF_PLATFORM)\redir        $(!STF_WINDOWSSYSPATH)\drivers
  3115.     AddSectionFilesToCopyList Files-Libs-$(!STF_PLATFORM)                $(SrcDir)$(!STF_PLATFORM)\libs32        $(!STF_WINDOWSSYSPATH)
  3116.  
  3117.     ;
  3118.     ; Copy files in the copy list
  3119.     ;
  3120.     set !STF_NCPA_FLUSH_COPYLIST = TRUE
  3121.     CopyFilesInCopyList
  3122.  
  3123.     Exit
  3124. [Install-CheckFileExists]
  3125.     Debug-Output "OEMNPRNW.INF: FiletoCheck = "$(FileToCheck)
  3126.     LibraryProcedure STATUS,$(!LIBHANDLE), CheckFileExistance $(FileToCheck)
  3127.     Debug-Output "OEMNPRNW.INF: CheckFileExists STATUS = "$(STATUS)
  3128.     exit
  3129.  
  3130. [DialogConstantsENG]
  3131. Help        = "&Help"
  3132. Exit        = "&Cancel"
  3133. OK          = "&OK"
  3134. HelpContext = ""
  3135. Continue        = "Con&tinue"
  3136. Cancel        = "&Cancel"
  3137. Advanced    = "&Advanced"
  3138. IDH_NETWAREWRKSTATIONPARMS =  901
  3139. IDH_NETWAREIPXBIND         =  902
  3140. IDH_IPXSPXPARMS            =  903
  3141. IDH_NETWORKPROTOCOL        =  904
  3142. IDH_NETWAREODISETTINGS     =  905
  3143. IDH_NETWARECLIENTINSTALL   =  906
  3144. IDH_NETWARENDISODI         =  907
  3145. IDH_NODEADDRESSOVERIDE     =  908
  3146. IDH_NWIP                            =  909
  3147. IDH_RESMGRCONFIG           =  951
  3148.  
  3149. [ResMgrDlgENG]
  3150. DlgType = "RadioCombination"
  3151. DlgTemplate = "RESMGR_CONFIG"
  3152. Caption = "Resource Manager Configuration"
  3153. CBOptionGreyed = {}
  3154. RadioOptionGreyed = {}
  3155. HelpContext = $(IDH_RESMGRCONFIG)
  3156. Label1 = "Communication Buffers"
  3157. ComboListItemsIn = {}
  3158. ComboListItemsOut = {}
  3159. NotifyFields = {}
  3160. EditTextIn = { $(CommunicationBuffers) }
  3161. EditTextLim = { 3 }
  3162.  
  3163.  
  3164. [IpxCardFrameDlgENG]
  3165. DlgType = "RadioCombination"
  3166. DlgTemplate = "NEW_IPXFRAME"
  3167. Caption = "IPX Configuration"
  3168. EditTextIn = ""
  3169. EditTextLim = ""
  3170. CBOptionsGreyed = {}
  3171. HelpContext = $(IDH_NETWAREIPXBIND)
  3172. Label1 = "Pick the frame type to bind IPX to"
  3173. Label2 = "Driver"
  3174. Label3 = "Frame"
  3175. ComboListItemsIn = {}
  3176. ComboListItemsOut = {}
  3177. NotifyFields = {"YES","NO"}
  3178.  
  3179.  
  3180. [NdisDlgENG]
  3181. IDH_NETWARENDISODI            =    907
  3182. Help        = "&Help"
  3183. OK            = "OK"
  3184. Continue    = "Continue"
  3185. Cancel        = "Cancel"
  3186.     DlgType = "RadioCombination"
  3187.     DlgTemplate = "ONELIST"
  3188.     Caption = "Choose the Driver to Bind with"
  3189.     Label1 = "Installed NDIS Adapters"
  3190.     EditTextIn = ""
  3191.     EditTextLim = ""
  3192.     CBOptionsGreyed = {}
  3193.     HelpContext = $(IDH_NETWARENDISODI)
  3194.     ComboListItemsIn = { NdisTitleList }
  3195.     ComboListItemsOut = { DefaultTitle }
  3196.     NotifyFields = { "NO" }
  3197.  
  3198.  
  3199. [VMLIDIPXDlgENG]
  3200.     DlgType = "RadioCombination"
  3201.     Label1 = "Enter the default frame type to bind to IPX"
  3202.     Label2 = "Board"
  3203.     Label3 = "Frame"
  3204.     DlgTemplate = "IPXFRAME"
  3205.     Caption = "IPX Bind Parameters"
  3206.     EditTextIn = ""
  3207.     EditTextLim = ""
  3208.     CBOptionsGreyed = {}
  3209.     RadioOptionsGreyed = {}
  3210.     HelpContext = $(IDH_NETWAREIPXBIND)
  3211.     ComboOut = $(FrameListDefault)
  3212.     ComboListItemsIn = { FrameList }
  3213.     ComboListItemsOut = { ComboOut }
  3214.     NotifyFields = { "NO" }
  3215.  
  3216.  
  3217. [OdinsupDlgENG]
  3218.     DlgType = "RadioCombination"
  3219.     DlgTemplate = "ONELIST"
  3220.     Caption = "NetWare NDIS over ODI (ODINSUP) Setup"
  3221.     Label1 = "Installed ODI Adapters"
  3222.     EditTextIn = ""
  3223.     EditTextLim = ""
  3224.     CBOptionsGreyed = {}
  3225.     HelpContext = $(IDH_NETWARENDISODI)
  3226.     ComboListItemsIn = { OdiTitleList }
  3227.     ComboListItemsOut = { DefaultOdiTitle }
  3228.     NotifyFields = { "NO" }
  3229.  
  3230. [Source Media Descriptions]
  3231.     1  = "NetWare Client for Windows NT Disk 1"  ,    TAGFILE = NTCLNT_1
  3232.     2  = "NetWare Client for Windows NT Disk 2"  ,    TAGFILE = NTCLNT_2
  3233.     3  = "NetWare Client for Windows NT MIPS Disk"  , TAGFILE = NTCLNT_3
  3234.     4  = "NetWare Client for Windows NT ALPHA Disk" , TAGFILE = NTCLNT_4
  3235.  
  3236. [Files-Inf]
  3237. 1, oemsetup.inf, SIZE=50000, RENAME=$(!UG_Filename)
  3238.  
  3239. [Files-Readme]
  3240. 1, readme.hlp, SIZE=30000
  3241.  
  3242. [Files-FirstFiles]
  3243. 1, nwsubs.inf, SIZE=30000, DECOMPRESS
  3244.  
  3245. [Files-CLEAN]
  3246. 1, clean.exe, SIZE=50000
  3247.  
  3248. [Files-NWSETUP]
  3249. 1, nwsetup.dll, SIZE=50000
  3250.  
  3251. [Files-Help]
  3252. 1, tokentsm.msg, SIZE=50000, DECOMPRESS
  3253. 1, ethertsm.msg, SIZE=50000, DECOMPRESS
  3254. 1, fdditsm.msg, SIZE=50000, DECOMPRESS
  3255. 1, nwnthelp.hlp, SIZE=30000, DECOMPRESS
  3256. 1, nwcpl.hlp, SIZE=30000, DECOMPRESS
  3257. 1, netwarer.dll, SIZE=50000, DECOMPRESS
  3258. 1, nwcplr.dll,  SIZE=50000, DECOMPRESS
  3259.  
  3260. [Files-Messages]
  3261. 1, vipx.msg, SIZE=50000, DECOMPRESS
  3262. 1, netx.msg, SIZE=50000, DECOMPRESS
  3263.  
  3264. [Files-16bitLibs]
  3265. 1, nwcalls.dll, SIZE=20000, DECOMPRESS
  3266. 1, nwnet.dll, SIZE=20000, DECOMPRESS
  3267. 1, nwlocale.dll, SIZE=20000, DECOMPRESS
  3268. 1, nwncp.dll, SIZE=20000, DECOMPRESS
  3269. 1, nwclient.dll, SIZE=20000, DECOMPRESS
  3270. 1, nwipxspx.dll, SIZE=50000, DECOMPRESS
  3271. 1, netware.drv, SIZE=20000, DECOMPRESS
  3272.  
  3273. [Files-Unicode]
  3274. 1, 1252_uni.001, SIZE=500, DECOMPRESS
  3275. 1, 437_uni.001, SIZE=500, DECOMPRESS
  3276. 1, uni_850.001, SIZE=3000, DECOMPRESS
  3277. 1, uni_mon.001, SIZE=5000, DECOMPRESS
  3278. 1, uni_437.001, SIZE=3000, DECOMPRESS
  3279. 1, uni_1252.001, SIZE=3000, DECOMPRESS
  3280. 1, uni_col.001, SIZE=5000, DECOMPRESS
  3281. 1, 850_uni.001, SIZE=500, DECOMPRESS
  3282.  
  3283. [Files-System32-I386]
  3284. 1, netware.dll, SIZE=50000, DECOMPRESS
  3285. 1, nwapi32.dll, SIZE=50000, DECOMPRESS
  3286. 1, nwfmext.dll, SIZE=50000, DECOMPRESS
  3287. 1, nwevents.dll, SIZE=20000, DECOMPRESS
  3288. 1, nwspool.dll, SIZE=30000, DECOMPRESS
  3289. 1, nwv1_0.dll, SIZE=20000, DECOMPRESS
  3290. 1, psapi32.dll, SIZE=20000, DECOMPRESS
  3291. 1, wshnw.dll, SIZE=20000, DECOMPRESS
  3292. 1, nwcpl.cpl, SIZE=20000, DECOMPRESS
  3293. 1, ipxapi.dll, SIZE=20000, DECOMPRESS
  3294. 1, spxapi.dll, SIZE=20000, DECOMPRESS
  3295. ;1, nwshell.exe, SIZE=2000, DECOMPRESS
  3296. 1, nwauto.nt, SIZE=1000, DECOMPRESS
  3297. 1, nwconfig.nt, SIZE=1000, DECOMPRESS
  3298. 1, vipx.exe, SIZE=50000, DECOMPRESS
  3299. 1, netx.exe, SIZE=50000, DECOMPRESS
  3300. 1, vipxvdd.dll, SIZE=50000, DECOMPRESS
  3301. 1, ipxspx32.dll, SIZE=50000, DECOMPRESS
  3302. 1, nwdrvvdd.dll, SIZE=50000, DECOMPRESS
  3303. 1, nwpfctrs.dll, SIZE=50000, DECOMPRESS
  3304. 1, lslstats.h,SIZE=50000, DECOMPRESS
  3305. 1, lslstats.ini,SIZE=50000, DECOMPRESS
  3306. 1, rdrstats.ini,SIZE=50000, DECOMPRESS
  3307. 1, rdrstats.h,SIZE=50000, DECOMPRESS
  3308. 1, odistats.ini,SIZE=50000, DECOMPRESS
  3309. 1, odistats.h,SIZE=50000, DECOMPRESS
  3310.  
  3311. [Files-Inf-I386]
  3312. 1, oemnadna.inf, SIZE=50000, DECOMPRESS
  3313. 1, oemnadnb.inf, SIZE=50000, DECOMPRESS
  3314. 1, oemnadnc.inf, SIZE=50000, DECOMPRESS
  3315. 1, oemnadnd.inf, SIZE=50000, DECOMPRESS
  3316. 1, odinsup.inf SIZE=30000, DECOMPRESS
  3317. 1, oemnsvip.inf, SIZE=50000, DECOMPRESS
  3318.  
  3319. [Files-NtRoot-I386]
  3320. 1, netware.pif, SIZE=10000, DECOMPRESS
  3321.  
  3322. [Files-NetWare-I386]
  3323. 1, resmgr.sys, SIZE=50000, DECOMPRESS
  3324. 1, nwfs.sys, SIZE=120000, DECOMPRESS
  3325. 1, ipxspx.sys, SIZE=100000, DECOMPRESS
  3326. 1, odiload.sys, SIZE=50000, DECOMPRESS
  3327. 1, lsl.sys, SIZE=50000, DECOMPRESS
  3328. 1, ethertsm.nlm, SIZE=20000, DECOMPRESS
  3329. 1, tokentsm.nlm, SIZE=20000, DECOMPRESS
  3330. 1, fdditsm.nlm, SIZE=20000, DECOMPRESS
  3331. 1, route.sys, SIZE=20000, DECOMPRESS
  3332. 1, spxapi.sys, SIZE=20000, DECOMPRESS
  3333. 1, ipxapi.sys, SIZE=20000, DECOMPRESS
  3334. 1, reconsvc.exe, SIZE=20000, DECOMPRESS
  3335. 1, vmlid.sys, SIZE=50000, DECOMPRESS
  3336. 1, nwip.sys, SIZE=50000, DECOMPRESS
  3337. 1, nwmsgsvc.exe, SIZE=50000, DECOMPRESS
  3338.  
  3339. [Files-Drivers-I386]
  3340. 1, odinsup.sys, SIZE=50000, DECOMPRESS
  3341.  
  3342. [Files-Libs-I386]
  3343. 2, nwcvdd.dll, SIZE=50000, DECOMPRESS
  3344. 2, calwin32.dll, SIZE=20000, DECOMPRESS
  3345. 2, netwin32.dll, SIZE=20000, DECOMPRESS
  3346. 2, locwin32.dll, SIZE=20000, DECOMPRESS
  3347. 2, ncpwin32.dll, SIZE=20000, DECOMPRESS
  3348. 2, clnwin32.dll, SIZE=20000, DECOMPRESS
  3349. 2, supwin32.dll, SIZE=20000, DECOMPRESS
  3350. 2, nwpsrv32.dll, SIZE=20000, DECOMPRESS
  3351.  
  3352.  
  3353.