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.

1316 lines
39 KiB

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