Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1322 lines
40 KiB

  1. ;***********************************************************************
  2. ;
  3. ; OEMNADN2.INF
  4. ;
  5. ; NE2000 network card and driver SETUP INF file.
  6. ;
  7. ; History:
  8. ; davidhov 00-Feb-1992 Created
  9. ; terryk 27-Feb-1992 Reorganize section location
  10. ; added comment
  11. ; terryk 03-Mar-1992 Changed to Elink II setup
  12. ; terryk 02-Apr-1992 Code review changed
  13. ; davidhov 03-Apr-1992 Enhanced to use new INF section
  14. ; structure from SunilP, et al.
  15. ; terryk 24-Aug-1992 Change it to oemnadn2.inf
  16. ;
  17. ;***********************************************************************
  18. ;-----------------------------------------------------------------------
  19. ; OPTION TYPE
  20. ; -----------
  21. ; This identifies the Option type we are dealing with. The different
  22. ; possible types are:
  23. ;
  24. ; COMPUTER, DISPLAY, MOUSE, KEYBOARD, LAYOUT, SCSI, PRINTER, ...
  25. ;
  26. ; Types specific to networking:
  27. ;
  28. ; NetAdapter, a netcard / adapter combination or just a netcard
  29. ; NetDriver, just a netcard driver
  30. ; NetTransport, a complete NDIS-compliant TDI transport stack
  31. ; NetService, an NT networking service
  32. ; NetWork, a complete network ensemble.
  33. ; NetProvider a complete network which supports NT MPR protocol
  34. ;-----------------------------------------------------------------------
  35. [Identification]
  36. OptionType = NetAdapter
  37. ;-----------------------------------------------------------------------
  38. ; PlatformsSupported
  39. ; ------------------
  40. ; This identifies the platforms supported by the adapter card.
  41. ; Possible types are:
  42. ;
  43. ; ISA, EISA and MCA
  44. ;-----------------------------------------------------------------------
  45. [PlatformsSupported]
  46. PCMCIA
  47. ;-----------------------------------------------------------------------
  48. ; OPTION LIST
  49. ; -----------
  50. ; This section lists the OEM Option key names. These keys are locale
  51. ; independent and used to represent the option in a locale independent
  52. ; manner.
  53. ;
  54. ;-----------------------------------------------------------------------
  55. [Options]
  56. NE2000IBMCOMPAT
  57. NE4000PCMCIA
  58. MICRODYNEPCMCIA
  59. ;***********************************************************************
  60. ; CONSTANTS FOR USING DIALOGS
  61. ;***********************************************************************
  62. [FileConstants]
  63. ;
  64. ; File names, etc.
  65. ;
  66. UtilityInf = "UTILITY.INF"
  67. ParamInf = "NCPARAM.INF"
  68. subroutineinf = "SUBROUTN.INF"
  69. SoftwareType = "driver"
  70. Exit_Code = 0
  71. ;ShellCode = 0
  72. ;
  73. ; EventLog Message File
  74. ;
  75. NetEventDLL = "%SystemRoot%\System32\netevent.dll"
  76. IoLogMsgDLL = "%SystemRoot%\System32\IoLogMsg.dll"
  77. ; Product Info
  78. ;
  79. Manufacturer = "Microsoft"
  80. ProductMajorVersion = "4"
  81. ProductMinorVersion = "0"
  82. ProductVersion = $(ProductMajorVersion)"."$(ProductMinorVersion)
  83. ;
  84. ; Software
  85. ;
  86. ProductSoftwareName = "NE2000"
  87. ProductSoftwareImagePath = "\SystemRoot\System32\drivers\ne2000.sys"
  88. NetRuleSoftwareType = "ne2000Sys ndisDriver ne2000Driver"
  89. NetRuleSoftwareUse = $(SoftwareType)
  90. NetRuleSoftwareBindForm = """Ne2000Sys"" yes no container"
  91. NetRuleSoftwareClass = {"ne2000Driver basic"}
  92. NetRuleSoftwareBindable = {"ne2000Driver ne2000Adapter non exclusive 100"} ;
  93. ; Hardware
  94. ;
  95. ProductHardwareName = "NE2000"
  96. NetRuleHardwareType = "ne2000 ne2000Adapter"
  97. NetRuleHardwareBindForm = " yes yes container"
  98. NetRuleHardwareClass = {"ne2000Adapter basic"}
  99. ProductOpSupport = 134 ; 0x0086 ; Display,Removable,Properties,Not Updatable
  100. ;
  101. ; Registry Key
  102. ;
  103. ProductKeyName = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion"
  104. ParamKeyName = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters"
  105. [GeneralConstants]
  106. ;
  107. ; Program flow control variables.
  108. ;
  109. from = ""
  110. to = ""
  111. ;
  112. ; Return codes; Exit_Code is set to one of these
  113. ;
  114. ExitCodeOk = 0
  115. ExitCodeCancel = 1
  116. ExitCodeFatal = 2
  117. KeyNull = ""
  118. MAXIMUM_ALLOWED = 33554432
  119. RegistryErrorIndex = NO_ERROR
  120. KeyProduct = ""
  121. KeyParameters = ""
  122. TRUE = 1
  123. FALSE = 0
  124. NoTitle = 0
  125. ExitState = "Active"
  126. OldVersionExisted = $(FALSE)
  127. DriverPath = $(!STF_NTPATH)\drivers
  128. [date]
  129. ; Now is a list which contains { Sec from 1-1-1970, Year, Month, Day, Hour,
  130. ; Minute, Second }
  131. Now = {} ? $(!LIBHANDLE) GetSystemDate
  132. ;---------------------------------------------------------------------------
  133. ; 1. Identify
  134. ;
  135. ; DESCRIPTION: To verify that this INF deals with the same type of options
  136. ; as we are choosing currently.
  137. ;
  138. ; INPUT: None
  139. ;
  140. ; OUTPUT: $($R0): STATUS: STATUS_SUCCESSFUL
  141. ; $($R1): Option Type (COMPUTER ...)
  142. ; $($R2): Diskette description
  143. ;---------------------------------------------------------------------------
  144. [Identify]
  145. ;
  146. ;
  147. read-syms Identification
  148. set Status = STATUS_SUCCESSFUL
  149. set Identifier = $(OptionType)
  150. set Media = #("Source Media Descriptions", 1, 1)
  151. Return $(Status) $(Identifier) $(Media)
  152. ;------------------------------------------------------------------------
  153. ; 2. ReturnOptions:
  154. ;
  155. ; DESCRIPTION: To return the option list supported by this INF and the
  156. ; localised text list representing the options.
  157. ;
  158. ;
  159. ; INPUT: $($0): Language used. ( ENG | FRN | ... )
  160. ;
  161. ; OUTPUT: $($R0): STATUS: STATUS_SUCCESSFUL |
  162. ; STATUS_NOLANGUAGE
  163. ; STATUS_FAILED
  164. ; STATUS_NOTSUPPORTED
  165. ;
  166. ; $($R1): Option List
  167. ; $($R2): Option Text List
  168. ;------------------------------------------------------------------------
  169. [ReturnOptions]
  170. ;
  171. ;
  172. set Status = STATUS_FAILED
  173. set OptionList = {}
  174. set OptionTextList = {}
  175. ;
  176. ; Check if the language requested is supported
  177. ;
  178. set LanguageList = ^(LanguagesSupported, 1)
  179. Ifcontains(i) $($0) in $(LanguageList)
  180. ;
  181. ; Check if the platforms requested is supported
  182. ;
  183. ifstr(i) $($1) == ""
  184. goto returnoptions
  185. endif
  186. set PlatformList = ^(PlatformsSupported, 1)
  187. Ifcontains(i) $($1) in $(PlatformList)
  188. goto returnoptions
  189. else
  190. set Status = STATUS_NOTSUPPORTED
  191. goto finish_ReturnOptions
  192. endif
  193. else
  194. set Status = STATUS_NOLANGUAGE
  195. goto finish_ReturnOptions
  196. endif
  197. ;
  198. ; form a list of all the options and another of the text representing
  199. ;
  200. returnoptions = +
  201. set OptionList = ^(Options, 1)
  202. set OptionTextList = ^(OptionsText$($0), 1)
  203. set Status = STATUS_SUCCESSFUL
  204. finish_ReturnOptions = +
  205. Return $(Status) $(OptionList) $(OptionTextList)
  206. ;----------InstallOption-------------------------------------------------
  207. ;
  208. ; InstallOption:
  209. ;
  210. ; This section is shelled to by main installation processing
  211. ; or by NCPASHEL.INF during reconfig, removal, update, etc.
  212. ;
  213. ;
  214. ; FUNCTION: To copy files representing Options
  215. ; To configure the installed option
  216. ; To update the registry for the installed option
  217. ;
  218. ; INPUT: $($0): Language to use
  219. ; $($1): OptionID to install
  220. ; $($2): SourceDirectory
  221. ; $($3): AddCopy (YES | NO)
  222. ; $($4): DoCopy (YES | NO)
  223. ; $($5): DoConfig (YES | NO)
  224. ;
  225. ; OUTPUT: $($R0): STATUS: STATUS_SUCCESSFUL |
  226. ; STATUS_NOLANGUAGE |
  227. ; STATUS_USERCANCEL |
  228. ; STATUS_FAILED
  229. ;
  230. ;------------------------------------------------------------------------
  231. [InstallOption]
  232. ;
  233. ; extract parameters
  234. ;
  235. set Option = $($1)
  236. set SrcDir = $($2)
  237. set AddCopy = $($3)
  238. set DoCopy = $($4)
  239. set DoConfig = $($5)
  240. ;
  241. ; Check if the language requested is supported
  242. ;
  243. set LanguageList = ^(LanguagesSupported, 1)
  244. Ifcontains(i) $($0) NOT-IN $(LanguageList)
  245. Return STATUS_NOLANGUAGE
  246. endif
  247. ; define all the constants
  248. set-subst LF = "\n"
  249. read-syms GeneralConstants
  250. read-syms FileConstants
  251. read-syms DialogConstants$(!STF_LANGUAGE)
  252. ifstr(i) $(!NTN_Origination) == "NCPA"
  253. set Continue = $(OK)
  254. endif
  255. read-syms FileConstants$(!STF_LANGUAGE)
  256. detect date
  257. set-title $(FunctionTitle)
  258. set to = Begin
  259. set from = Begin
  260. ;
  261. ; Assume all is well.
  262. ;
  263. set CommonStatus = STATUS_SUCCESSFUL
  264. EndWait
  265. ;
  266. ; Set up the operation-mode-based variables and gaily welcome
  267. ; the user. If the "install mode" variable is improperly set,
  268. ; assume this is a new installation.
  269. ;
  270. Begin = +
  271. set ActivateDetection = FALSE
  272. Ifstr(i) $(!NTN_InstallMode) == deinstall
  273. set StartLabel = removeadapter
  274. else-Ifstr(i) $(!NTN_InstallMode) == Update
  275. set StartLabel = UpgradeSoftware
  276. else-Ifstr(i) $(!NTN_InstallMode) == bind
  277. set StartLabel = bindingadapter
  278. else-Ifstr(i) $(!NTN_InstallMode) == configure
  279. set CommonStatus = STATUS_REBOOT
  280. set ActivateDetection = TRUE
  281. set StartLabel = configureadapter
  282. ;
  283. ; You cannot config the software component
  284. ;
  285. Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  286. Debug-Output "Cannot configure the Novell 2000 driver software."
  287. Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
  288. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  289. Debug-Output "ShellCode error: cannot get an error string."
  290. goto ShellCodeError
  291. endif
  292. set Error = $($R0)
  293. set from = end
  294. set to = end
  295. goto nonfatalinfo
  296. endif
  297. else
  298. set StartLabel = installadapter
  299. set OEM_ABANDON_OPTIONS = {}
  300. set OEM_ABANDON_SOFTWARE = FALSE
  301. set OEM_ABANDON_ON = TRUE
  302. set ActivateDetection = TRUE
  303. endif
  304. ;===================================================
  305. ; Netcard Detection logic
  306. ;
  307. ; Initialize use of netcard detection;
  308. ;
  309. ; BUGBUG: is this OK? Should NCPASHEL.INF turn it on?
  310. ; No, I think the NCPA should turn it on,
  311. ; in NCPDINST.CXX.
  312. ;
  313. ; Construct require global parameter variables
  314. ;
  315. Debug-Output "OEMNADN2.INF: =================================================="
  316. Debug-Output "OEMNADN2.INF: STF_CWDIR is: "$(!STF_CWDIR)
  317. Debug-Output "OEMNADN2.INF: STF_LANGUAGE is: "$(!STF_LANGUAGE)
  318. Debug-Output "OEMNADN2.INF: Option is: "$(Option)
  319. Debug-Output "OEMNADN2.INF: !STF_NCDETECT is: "$(!STF_NCDETECT)
  320. Debug-Output "OEMNADN2.INF: !STF_NCOPTION is: "$(!STF_NCOPTION)
  321. Debug-Output "OEMNADN2.INF: !STF_NCDETCARD is: "$(!STF_NCDETCARD)
  322. Debug-Output "OEMNADN2.INF: !STF_NCDETINFO is: "$(!STF_NCDETINFO)
  323. Debug-Output "OEMNADN2.INF: =================================================="
  324. Set DetectedCard = FALSE
  325. set PCMCIA = 1
  326. set CardType = 1
  327. Ifstr(i) $(ActivateDetection) != TRUE
  328. Goto skipdetection
  329. Endif
  330. ;
  331. ; Set !STF_NC_PARAMS and !STF_NC_PNAMES by calling
  332. ; PARAM.INF!Param_BuildTypeLists.
  333. ; Pass it a list of the form:
  334. ;
  335. ; { { <param name>,
  336. ; <name of choice list var>,
  337. ; <name of default var> },
  338. ; ...
  339. ; }
  340. ;
  341. ; PCCARDATTRIBUTEMEMLENGTH
  342. ;
  343. Set TypeList = {{IRQ,IRQList,IRQValue},+
  344. {PCMCIA, PCMCIAList, PCMCIA},+
  345. {CARDTYPE, CardTypeList, CardType},+
  346. {PCCARDATTRIBUTEMEM, PcCardAddressDecList, PcCardBaseValue},+
  347. ; {MEMADDR, WinBaseAddressDecList, WinBaseValue},+
  348. {IOADDR, IOBaseAddrDecList, IOBaseAddrValue}}
  349. Debug-Output "OEMNADN2.INF: Calling Param_BuildTypeLists"
  350. Shell $(ParamInf) Param_BuildTypeLists NE2000IBMCOMPAT $(TypeList)
  351. Set Status = $($R0)
  352. ifstr(i) $(Status) != STATUS_SUCCESSFUL
  353. Goto fataldetect
  354. Endif
  355. Debug-Output "OEMNADN2.INF: Calling Param_SetDefaults"
  356. Shell $(ParamInf) Param_SetDefaults {}
  357. ; Establish presentation versions of choice lists.
  358. Shell $(ParamInf) HexListFromDecList $(IOBaseAddrDecList)
  359. Set IOBaseAddrHexList = $($R0)
  360. ;Shell $(ParamInf) HexListFromDecList $(WinBaseAddressDecList)
  361. ;Set WinBaseAddressHexList = $($R0)
  362. Shell $(ParamInf) HexListFromDecList $(PcCardAddressDecList)
  363. Set PcCardAddressHexList = $($R0)
  364. Shell $(UtilityInf) SortList $(IRQList) TRUE FALSE
  365. Set IRQList = $($R0)
  366. ; If this is a detected card, set the flag.
  367. Ifstr(i) $(!STF_NCDETECT) == YES
  368. Ifstr(i) $(!STF_NCOPTION) == "NE2000IBMCOMPAT"
  369. Set DetectedCard = TRUE
  370. Debug-Output "OEMNADN2.INF: Setting DetectedCard to TRUE"
  371. Endif
  372. Endif
  373. ;
  374. ; End Netcard Detection logic
  375. ;===================================================
  376. skipdetection =+
  377. set from = $(fatal)
  378. set to = $(fatal)
  379. goto $(StartLabel)
  380. ;-----------------------------------------------
  381. ; Installation Section
  382. ;-----------------------------------------------
  383. installadapter = +
  384. ;
  385. ; First, check whether the same version of the software exists
  386. ;
  387. OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  388. Ifstr $(KeyProduct) != $(KeyNull)
  389. ;
  390. ; Same version already existed in the local machine
  391. ; Popup the dialog and ask the user whether he wants to continue
  392. ;
  393. CloseRegKey $(KeyProduct)
  394. ifstr(i) !(NTN_RegBase) == $(ProductKeyName)
  395. ;
  396. ; Cannot Install the same software again
  397. ;
  398. Shell $(UtilityInf), VerExistedDlg, $(ProductSoftware$(Option)Title),+
  399. $(ProductVersion)
  400. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  401. Debug-Output "ShellCode error: cannot get an error string."
  402. goto ShellCodeError
  403. endif
  404. goto end
  405. else
  406. ;
  407. ; Add a new adapter card?
  408. ;
  409. Shell $(UtilityInf), CardExistedDlg
  410. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  411. Debug-Output "ShellCode error: cannot get an error string."
  412. goto ShellCodeError
  413. endif
  414. ifstr(i) $($R1) != "OK"
  415. set CommonStatus = STATUS_USERCANCEL
  416. goto end
  417. endif
  418. set OldVersionExisted = $(TRUE)
  419. endif
  420. endif
  421. ;===================================================
  422. ; Netcard Detection logic
  423. ;
  424. ; If this is a detected card, query its parameters
  425. ; and merge them into the default list.
  426. ;
  427. Ifstr(i) $(DetectedCard) != TRUE
  428. Goto adaptersetup
  429. Endif
  430. ;
  431. ; Get the detected parameters
  432. ;
  433. StartWait
  434. Shell $(ParamInf) Param_QueryCard $(!STF_NCDETCARD)
  435. EndWait
  436. Ifstr(i) $($R0) != STATUS_SUCCESSFUL
  437. Goto adaptersetup
  438. Endif
  439. ;
  440. ; Merge the detected values in.
  441. ;
  442. Set DetectedParams = $($R1)
  443. Debug-Output "OEMNADN2.INF: Calling Param_SetDefaults to merge detected params"
  444. Shell $(ParamInf) Param_SetDefaults $(DetectedParams)
  445. ;
  446. ; End Netcard Detection logic
  447. ;===================================================
  448. goto adaptersetup
  449. ;-----------------------------------------------
  450. ; Configuration Section
  451. ;-----------------------------------------------
  452. ;
  453. ; Get the current values of all the parameters
  454. ;
  455. configureadapter = +
  456. Ifstr $(KeyProduct) == $(KeyNull)
  457. OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) KeyProduct
  458. Ifstr $(KeyProduct) == $(KeyNull)
  459. set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  460. Debug-Output "Cannot find component product key"
  461. goto fatalregistry
  462. Endif
  463. Endif
  464. ;
  465. ; Get the other parameters; they're attached to the service parameters key
  466. ;
  467. Debug-Output "INF: Shelling to FindService"
  468. Shell $(UtilityInf) FindService, $(KeyProduct)
  469. Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  470. Debug-Output "INF: FindService shell failure"
  471. Goto ShellCodeError
  472. Endif
  473. Ifstr(i) $($R0) != NO_ERROR
  474. Debug-Output "INF: FindService Shell error: "$($R0)
  475. Goto fatalregistry
  476. endif
  477. set KeyParameters = $($R2)
  478. ;
  479. ; We don't need the services key, so close it.
  480. ;
  481. CloseRegKey $($R1)
  482. Ifstr $(KeyParameters) == $(KeyNull)
  483. set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  484. Debug-Output "Cannot find component service"
  485. goto fatalregistry
  486. endif
  487. set OldVersionExisted = $(TRUE)
  488. set ValueName = ""
  489. set ValueData = ""
  490. set ValueStr = ""
  491. set ValueList = {}
  492. ;
  493. ; Get the old values
  494. ;
  495. EnumRegValue $(KeyParameters) ValueList
  496. ForListDo $(ValueList)
  497. set ValueItem = $($)
  498. set ValueName = *($(ValueItem),1)
  499. set ValueData = *($(ValueItem),4)
  500. Ifstr(i) $(ValueName) == "InterruptNumber"
  501. set IRQValue = $(ValueData)
  502. ; else-Ifstr(i) $(ValueName) == "MemoryMappedBaseAddress"
  503. ; set WinBaseValue = $(ValueData)
  504. else-Ifstr(i) $(ValueName) == "PCCARDAttributeMemoryAddress"
  505. set PcCardBaseValue = $(ValueData)
  506. else-ifstr(i) $(ValueName) == "IoBaseAddress"
  507. set IOBaseAddrValue = $(ValueData)
  508. else-ifstr(i) $(ValueName) == "BusType"
  509. set BusInterfaceType = $(ValueData)
  510. else-ifstr(i) $(ValueName) == "PCMCIA"
  511. set PCMCIA = $(ValueData)
  512. else-ifstr(i) $(ValueName) == "BusNumber"
  513. set BusNumber = $(ValueData)
  514. endif
  515. EndForListDo
  516. ifstr(i) $(IRQValue) == ""
  517. set IRQValue = *($(IRQList), 2)
  518. endif
  519. ifstr(i) $(IOBaseAddrValue) == ""
  520. set IOBaseAddrValue = *($(IOBaseAddrDecList), 1)
  521. endif
  522. adaptersetup =+
  523. ;===================================================
  524. ; Netcard Detection logic
  525. ;
  526. ; Check that this card's parameters can be
  527. ; fully detected.
  528. ;
  529. Shell $(ParamInf) Param_ParameterConfidence
  530. Ifstr(i) $($R0) != STATUS_SUCCESSFUL
  531. Debug-Output "OEMNADE2.INF: parameter confidence too low to bypass configuration"
  532. Goto adapteroptions
  533. Endif
  534. ;
  535. ; If this is a detected card and we're in EXPRESS mode,
  536. ; see if the parameters as they currently exist are
  537. ; verifiably correct.
  538. ;
  539. Ifstr(i) $(DetectedCard) == TRUE
  540. Ifstr(i) $(!STF_INSTALL_MODE) != CUSTOM
  541. ; use the STF_NCDETINFO information
  542. set BusInterfaceType = *($(!STF_NCDETINFO),5)
  543. set BusNumber = *($(!STF_NCDETINFO),6)
  544. Goto adapterverify
  545. Endif
  546. Endif
  547. ;
  548. ; End Netcard Detection logic
  549. ;===================================================
  550. goto adapteroptions
  551. ;
  552. ; Let the user bang on the options until satisfied.
  553. ;
  554. adapteroptions = +
  555. set from = adapteroptions
  556. ifstr(i) $(!STF_GUI_UNATTENDED) == "YES"
  557. ifstr(i) $(!AutoNetInterfaceType) != ""
  558. set BusInterfaceType = $(!AutoNetInterfaceType)
  559. else
  560. set BusInterfaceType = 1 ;ISA
  561. endif
  562. ifstr(i) $(!AutoNetBusNumber) != ""
  563. set BusNumber = $(!AutoNetBusNumber)
  564. else
  565. set BusNumber = 0
  566. endif
  567. goto adapterverify
  568. endif
  569. set IOBaseAddress = *($(IOBaseAddrHexList), ~($(IOBaseAddrDecList),+
  570. $(IOBaseAddrValue)))
  571. ;set WinBaseAddress = *($(WinBaseAddressHexList), ~($(WinBaseAddressDecList),+
  572. ; $(WinBaseValue)))
  573. set PcCardBaseAddress = *($(PcCardAddressHexList), ~($(PcCardAddressDecList),+
  574. $(PcCardBaseValue)))
  575. read-syms FileDependentDlg$(!STF_LANGUAGE)
  576. ui start "InputDlg"
  577. ifstr(i) $(DLGEVENT) == "CONTINUE"
  578. set IRQValue = $(Combo1Out)
  579. set PcCardBaseAddress = $(Combo2Out)
  580. set IOBaseAddress = $(Combo3Out)
  581. ui pop 1
  582. else-ifstr(i) $(DLGEVENT) == "BACK"
  583. set CommonStatus = STATUS_USERCANCEL
  584. Debug-Output "Action: exit. Bye."
  585. ui pop 1
  586. goto end
  587. else
  588. ;
  589. ; Unknow command
  590. ;
  591. ui pop 1
  592. Debug-Output "Action: unknown. Bye."
  593. goto end
  594. endif
  595. ;set WinBaseValue = *($(WinBaseAddressDecList), ~($(WinBaseAddressHexList),+
  596. ; $(WinBaseAddress)))
  597. set PcCardBaseValue = *($(PcCardAddressDecList), ~($(PcCardAddressHexList),+
  598. $(PcCardBaseAddress)))
  599. set IOBaseAddrValue = *($(IOBaseAddrDecList), ~($(IOBaseAddrHexList),+
  600. $(IOBaseAddress)))
  601. ifstr(i) $(!STF_NCDETINFO) == {}
  602. ifint $(PCMCIA) != 1
  603. ; not detect. popup dialog.
  604. Shell $(UtilityInf),GetBusTypeDialog,$(ProductHardware$(Option)Description) $(BusInterfaceType) $(BusNumber)
  605. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  606. Debug-Output "ShellCode error."
  607. goto ShellCodeError
  608. endif
  609. set BusInterfaceType = $($R1)
  610. set BusNumber = $($R2)
  611. else
  612. set BusInterfaceType = 1
  613. set BusNumber = 0
  614. endif
  615. else
  616. ; use the STF_NCDETINFO information
  617. set BusInterfaceType = *($(!STF_NCDETINFO),5)
  618. set BusNumber = *($(!STF_NCDETINFO),6)
  619. endif
  620. adapterverify =+
  621. ;===================================================
  622. ; Netcard Detection logic
  623. ;
  624. ; If this is a detected card, attempt to validate the options
  625. ;
  626. Ifstr(i) $(DetectedCard) != TRUE
  627. Goto skipoptions
  628. Endif
  629. Debug-Output "OEMNADN2.INF: Calling Param_VerifyCard"
  630. Shell $(ParamInf) Param_VerifyCard $(!STF_NCDETCARD)
  631. Ifstr(i) $($R0) == STATUS_SUCCESSFUL
  632. Debug-Output "OEMNADN2.INF: Param_VerifyCard succeeded"
  633. Goto skipoptions
  634. Endif
  635. ;
  636. ; Give the user a chance to retry or force the options given.
  637. ;
  638. Set from = adapteroptions
  639. Set to = skipoptions
  640. Shell $(UtilityInf),RegistryErrorString,VERIFY_WARNING
  641. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  642. Debug-Output "ShellCode error: cannot get an error string."
  643. goto ShellCodeError
  644. endif
  645. set Error = $($R0)
  646. Goto Warning
  647. ;
  648. ; End Netcard Detection logic
  649. ;===================================================
  650. skipoptions =+
  651. ;
  652. ; If installing, go create the necessary keys;
  653. ; if configuring, they're already open.
  654. ;
  655. ifint $(OldVersionExisted) == $(TRUE)
  656. ifstr(i) $(!NTN_InstallMode) == configure
  657. goto writeparameters
  658. endif
  659. endif
  660. StartWait
  661. ;
  662. ; Add Software Component
  663. ;
  664. ifint $(OldVersionExisted) == $(FALSE)
  665. ifstr(i) $(!NTN_InstallMode) == "install"
  666. Ifstr(i) $(DoCopy) == "YES"
  667. Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES
  668. Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  669. Goto ShellCodeError
  670. Else-Ifstr(i) $($R0) == STATUS_FAILED
  671. Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
  672. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  673. goto ShellCodeError
  674. endif
  675. set Error = $($R0)
  676. Goto fatal
  677. Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
  678. Goto successful
  679. Endif
  680. Set SrcDir = $($R1)
  681. Endif
  682. install "Install-Option"
  683. ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  684. Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE"
  685. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  686. goto ShellCodeError
  687. endif
  688. set Error = $($R0)
  689. goto fatal
  690. endif
  691. endif
  692. Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), +
  693. $(ProductSoftwareName), +
  694. $(ProductSoftwareName), +
  695. $(ProductSoftware$(Option)Title), $(STF_CONTEXTINFNAME), +
  696. $(ProductSoftwareImagePath), "kernel", "NDIS", {}, "",+
  697. $(NetEventDLL)
  698. Set OEM_ABANDON_SOFTWARE = TRUE
  699. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  700. Debug-Output "ShellCode error"
  701. goto ShellCodeError
  702. endif
  703. ;
  704. ; At this point:
  705. ; $R1 contains the product version key handle;
  706. ; $R2 contains the NetRules subkey handle;
  707. ; $R3 contains the new Services key handle; and
  708. ; $R4 contains the Parameters key
  709. ; $R5 contains the Linkage Key
  710. ;
  711. set RegistryErrorIndex = $($R0)
  712. set KeyProduct = $($R1)
  713. Set SoftNetRulesKey = $($R2)
  714. CloseRegKey $($R3)
  715. CloseRegKey $($R4)
  716. CloseRegKey $($R5)
  717. Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  718. EndWait
  719. Debug-Output "Registry error: add software components"
  720. CloseRegKey $(KeyProduct)
  721. CloseRegKey $(SoftNetRulesKey)
  722. goto fatalregistry
  723. endif
  724. set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
  725. {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)},+
  726. {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)},+
  727. {Title,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftware$(Option)Title)},+
  728. {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftware$(Option)Description)},+
  729. {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareName)},+
  730. {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  731. Shell $(UtilityInf), AddValueList, $(KeyProduct), $(NewValueList)
  732. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  733. Debug-Output "ShellCode error."
  734. goto ShellCodeError
  735. endif
  736. set RegistryErrorIndex = $($R0)
  737. Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  738. EndWait
  739. Debug-Output "Registry error: add value list."
  740. CloseRegKey $(KeyProduct)
  741. CloseRegKey $(SoftNetRulesKey)
  742. goto fatalregistry
  743. endif
  744. set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareType)},+
  745. {use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareUse)}, +
  746. {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareBindForm)}, +
  747. {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareClass)}, +
  748. {bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareBindable)}, +
  749. {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  750. Shell $(UtilityInf), AddValueList, $(SoftNetRulesKey), $(NewValueList)
  751. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  752. Debug-Output "ShellCode error."
  753. goto ShellCodeError
  754. endif
  755. set RegistryErrorIndex = $($R0)
  756. CloseRegKey $(KeyProduct)
  757. CloseRegKey $(SoftNetRulesKey)
  758. Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  759. EndWait
  760. Debug-Output "Resgitry error: add value list."
  761. goto fatalregistry
  762. endif
  763. endif
  764. ;
  765. ; Create the HARDWARE\Netcard region and its corresponding service
  766. ;
  767. Shell $(UtilityInf), AddHardwareComponent, $(ProductHardwareName),$(STF_CONTEXTINFNAME),$(ProductKeyName)
  768. ifint $($R4) != -1
  769. Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4))
  770. endif
  771. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  772. Debug-Output "Cannot add hardware component"
  773. goto ShellCodeError
  774. endif
  775. set RegistryErrorIndex = $($R0)
  776. Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  777. EndWait
  778. Debug-Output "Registry error: add hardware component"
  779. CloseRegKey $($R1)
  780. CloseRegKey $($R2)
  781. CloseRegKey $($R3)
  782. goto fatalregistry
  783. endif
  784. ;
  785. ; At this point:
  786. ; $R1 Registry key variable for HARDWARE\Netcard\(n)
  787. ; $R2 Registry key variable for HARDWARE\Netcard\(n)\\NetRules
  788. ; $R3 Registry key handle for <service>\Parameters key
  789. ; $R4 Adapter number assigned to adapter
  790. ; $R5 Service name generated by combining svc name with adapter number
  791. ;
  792. set KeyParameters = $($R3)
  793. set KeyAdapterRules = $($R2)
  794. set AdapterNumber = $($R4)
  795. set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+
  796. {Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardware$(Option)Title)},+
  797. {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardware$(Option)Description)},+
  798. {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+
  799. {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
  800. {OperationsSupport,$(NoTitle),$(!REG_VT_DWORD),$(ProductOpSupport)},+
  801. {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  802. Shell $(UtilityInf), AddValueList, $($R1), $(NewValueList)
  803. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  804. Debug-Output "ShellCode error"
  805. goto ShellCodeError
  806. endif
  807. CloseRegKey $($R1)
  808. set TempProdName = """"$(ProductHardwareName)$(AdapterNumber)""""
  809. set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
  810. set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardwareType)},+
  811. {bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, +
  812. {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardwareClass)}, +
  813. {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  814. Shell $(UtilityInf), AddValueList, $(KeyAdapterRules), $(NewValueList)
  815. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  816. Debug-Output "ShellCode error."
  817. goto ShellCodeError
  818. endif
  819. set RegistryErrorIndex = $($R0)
  820. Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  821. EndWait
  822. Debug-Output "Resgitry error: add value list."
  823. CloseRegKey $(KeyParameters)
  824. CloseRegKey $(KeyAdapterRules)
  825. goto fatalregistry
  826. endif
  827. CloseRegKey $(KeyAdapterRules)
  828. goto writeparameters
  829. ;
  830. ; REQUIRED: $(KeyParameters) contains service Parameters key handle
  831. ;
  832. writeparameters = +
  833. ;
  834. ; Hack for PCMCIA. Need to remove for Plug and Play
  835. ;
  836. ifint $(BusInterfaceType) == 8
  837. ; set it to ISA
  838. set PCMCIA = 1
  839. set BusInterfaceType = 1
  840. endif
  841. ;
  842. ; Add the rest of the parameters to the Services area
  843. ;
  844. ;
  845. ; do not set the MemoryMappedBaseAddress value for this card
  846. ;
  847. set NewValueList = {{InterruptNumber,$(NoTitle),$(!REG_VT_DWORD),$(IRQValue)},+
  848. {BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusInterfaceType)},+
  849. {BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNumber)},+
  850. {MediaType,$(NoTitle),$(!REG_VT_DWORD),1},+
  851. {CardType,$(NoTitle),$(!REG_VT_DWORD),1},+
  852. {PCCARDAttributeMemoryAddress,$(NoTitle),$(!REG_VT_DWORD),$(PcCardBaseValue)},+
  853. {PCCARDAttributeMemorySize,$(NoTitle),$(!REG_VT_DWORD),4096},+
  854. {IoBaseAddress,$(NoTitle),$(!REG_VT_DWORD),$(IOBaseAddrValue)}}
  855. Shell $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList)
  856. ifint $(PCMCIA) == 1
  857. set NewValueList = {{Pcmcia,$(NoTitle),$(!REG_VT_DWORD),1}}
  858. Shell $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList)
  859. else
  860. DeleteRegValue $(KeyParameters) "Pcmcia"
  861. endif
  862. ifstr(i) $(!STF_GUI_UNATTENDED) == "YES"
  863. Shell $(UtilityInf),AddDefaultNetCardParameters,$(KeyParameters)
  864. endif
  865. CloseRegKey $(KeyParameters)
  866. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  867. Debug-Output "ShellCode error."
  868. goto ShellCodeError
  869. endif
  870. set RegistryErrorIndex = $($R0)
  871. Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  872. Debug-Output "Registry error: Add value list"
  873. goto fatalregistry
  874. endif
  875. EndWait
  876. goto successful
  877. ;-----------------------------------------------
  878. ; Binding section
  879. ;-----------------------------------------------
  880. bindingadapter =+
  881. set Error = "Binding: Sorry, not yet implemented."
  882. goto fatal
  883. ;-----------------------------------------------
  884. ; Removeadapter section
  885. ;-----------------------------------------------
  886. removeadapter = +
  887. Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  888. ; Remove Software Component
  889. Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  890. $(ProductSoftwareName)
  891. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  892. Debug-Output "ShellCode error"
  893. goto ShellCodeError
  894. endif
  895. set RegistryErrorIndex = $($R0)
  896. Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  897. goto fatalregistry
  898. endif
  899. else
  900. Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  901. $(ProductSoftwareName), $(!NTN_RegBase)
  902. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  903. Debug-Output "ShellCode error"
  904. goto ShellCodeError
  905. endif
  906. set RegistryErrorIndex = $($R0)
  907. Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  908. goto fatalregistry
  909. endif
  910. endif
  911. goto end
  912. ;-----------------------------------------------
  913. ; Upgrade Software section
  914. ;-----------------------------------------------
  915. UpgradeSoftware = +
  916. ; Upgrade software component
  917. ;
  918. OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  919. Ifstr $(KeyProduct) != $(KeyNull)
  920. install "Install-Update"
  921. ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  922. goto fatal
  923. endif
  924. ; Upgrade the version number
  925. ;
  926. SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)}
  927. SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)}
  928. ;
  929. ; do nothing for update
  930. ;
  931. CloseRegKey $(KeyProduct)
  932. else
  933. ;
  934. ; Cannot Open software key, goto ERROR
  935. ;
  936. goto fatalregistry
  937. endif
  938. ;
  939. ; Enumerate all netcards installed of this type and update them
  940. ;
  941. set iSearch = 1
  942. nextnetcard = +
  943. Shell $(UtilityInf), FindNextNetworkCard, $(ProductHardwareName), $(iSearch)
  944. set KeyNetcard = $($R0)
  945. set iSearch = $($R1)
  946. Debug-Output "OemNadEp.Inf: FindNextNetworkCard "$(KeyNetcard)","$(iSearch)
  947. Ifstr $(KeyNetcard) != $(KeyNull)
  948. Debug-Output "OemNadEp.Inf: Setting OperationsSupport value"
  949. SetRegValue $(KeyNetcard) {OperationsSupport,$(NoTitle),$(!REG_VT_DWORD),$(ProductOpSupport)}
  950. CloseRegKey $(KeyNetcard)
  951. goto nextnetcard
  952. Endif
  953. goto end
  954. ;
  955. ; End of Upgrade Software
  956. ;
  957. ;
  958. ; Escape hatches
  959. ;
  960. successful = +
  961. goto end
  962. abandon = +
  963. ForListDo $(OEM_ABANDON_OPTIONS)
  964. Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  965. $(ProductSoftwareName), $($)
  966. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  967. Debug-Output "ShellCode error"
  968. goto ShellCodeError
  969. endif
  970. set RegistryErrorIndex = $($R0)
  971. Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  972. goto fatalregistry
  973. endif
  974. EndForListDo
  975. Ifstr(i) $(OEM_ABANDON_SOFTWARE) == TRUE
  976. ; Remove Software Component
  977. Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  978. $(ProductSoftwareName), FALSE
  979. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  980. Debug-Output "ShellCode error"
  981. goto ShellCodeError
  982. endif
  983. set RegistryErrorIndex = $($R0)
  984. Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  985. goto fatalregistry
  986. endif
  987. endif
  988. goto end
  989. ;
  990. ; warning display
  991. ;
  992. warning = +
  993. Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
  994. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  995. goto ShellCodeError
  996. endif
  997. ifstr(i) $($R1) == "OK"
  998. goto $(to)
  999. else-ifstr(i) $($R1) == "CANCEL"
  1000. goto $(from)
  1001. else
  1002. ; Debug-Msg "Error Error Bad DLGEVENT"
  1003. goto "end"
  1004. endif
  1005. ;
  1006. ; non fatal error display
  1007. ;
  1008. nonfatalinfo = +
  1009. Set CommonStatus = STATUS_USERCANCEL
  1010. Set Severity = STATUS
  1011. goto nonfatalmsg
  1012. nonfatal = +
  1013. Set Severity = NONFATAL
  1014. goto nonfatalmsg
  1015. nonfatalmsg = +
  1016. ifstr(i) $(Error) == ""
  1017. Set Severity = NONFATAL
  1018. Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  1019. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1020. goto ShellCodeError
  1021. endif
  1022. set Error = $($R0)
  1023. endif
  1024. Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
  1025. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1026. goto ShellCodeError
  1027. endif
  1028. ifstr(i) $($R1) == "OK"
  1029. goto $(from)
  1030. else
  1031. goto "end"
  1032. endif
  1033. ;
  1034. ; Registry is broken
  1035. ;
  1036. fatalregistry = +
  1037. Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
  1038. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1039. goto ShellCodeError
  1040. endif
  1041. set Error = $($R0)
  1042. goto fatal
  1043. fataldetect = +
  1044. Shell $(UtilityInf),RegistryErrorString,CANNOT_DETECT
  1045. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1046. Debug-Output "ShellCode error: cannot get an error string."
  1047. goto ShellCodeError
  1048. endif
  1049. set Error = $($R0)
  1050. Goto fatal
  1051. ;
  1052. ; fatal error display
  1053. ;
  1054. fatal = +
  1055. ifstr(i) $(Error) == ""
  1056. Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  1057. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1058. goto ShellCodeError
  1059. endif
  1060. set Error = $($R0)
  1061. endif
  1062. Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
  1063. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1064. goto ShellCodeError
  1065. endif
  1066. goto setfailed
  1067. ;
  1068. ; Shelling error
  1069. ;
  1070. ShellCodeError = +
  1071. set DlgType = "MessageBox"
  1072. set STF_MB_TITLE = $(ShellCodeErrorTitle)
  1073. set STF_MB_TEXT = $(ShellCodeErrorText)
  1074. set STF_MB_TYPE = 1
  1075. set STF_MB_ICON = 3
  1076. set STF_MB_DEF = 1
  1077. ui start "Error Message"
  1078. goto setfailed
  1079. setfailed = +
  1080. set CommonStatus = STATUS_FAILED
  1081. ;
  1082. ; if OEM_ABANDON_ON == TRUE, then remove the registry entries
  1083. ;
  1084. ifstr(i) $(OEM_ABANDON_ON) == TRUE
  1085. set OEM_ABANDON_ON = FALSE
  1086. goto abandon
  1087. endif
  1088. goto end
  1089. end = +
  1090. goto term
  1091. term = +
  1092. Return $(CommonStatus)
  1093. ;***************************************************************
  1094. ; INSTALL SECTIONS
  1095. ;***************************************************************
  1096. [Install-Option]
  1097. set STF_VITAL = ""
  1098. ifstr(i) $(AddCopy) == "YES"
  1099. ;
  1100. ; Add the files to the copy list
  1101. ;
  1102. ; BUGBUG: eliminate the "nt2" in the next line when Sunil fixes
  1103. ; the other INF files
  1104. ;
  1105. AddSectionFilesToCopyList Files-NE2000IBMCOMPAT $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  1106. endif
  1107. ifstr(i) $(DoCopy) == "YES"
  1108. ;
  1109. ; Copy files in the copy list
  1110. ;
  1111. set !STF_NCPA_FLUSH_COPYLIST = TRUE
  1112. CopyFilesInCopyList
  1113. endif
  1114. ifstr(i) $(DoConfig) == "YES"
  1115. ;
  1116. ; Add product to registry
  1117. ;
  1118. ;
  1119. ; Finish up
  1120. endif
  1121. Exit
  1122. [Install-Update]
  1123. set STF_VITAL = ""
  1124. set STF_OVERWRITE = "VERIFYSOURCEOLDER"
  1125. ;set STF_VERSION = "YES"
  1126. AddSectionFilesToCopyList Files-NE2000IBMCOMPAT $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  1127. exit