home *** CD-ROM | disk | FTP | other *** search
/ Online Praxis 1997 March / OP2_97.BIN / cd-rom / treiber / itk / wnt / basicnt.exe / OEMSETUP.INF < prev    next >
INI File  |  1997-03-07  |  76KB  |  2,168 lines

  1. [Identification]
  2. OptionType = NetAdapter
  3. [PlatformsSupported]
  4. ISA
  5. EISA
  6. PCI
  7. PCMCIA
  8. [LanguagesSupported]
  9. ENG
  10. GER
  11. [PreferredLanguage]
  12. Language = ENG
  13. [PacketNames]
  14. 1 = ixactive       3     01
  15. 2 = ixmicro        2     20
  16. 3 = ixpico         2     20
  17. 4 = vinwm          0     9
  18. [DriverNames]
  19. 1 = ixcapi
  20. 2 = ixmicro
  21. 3 = ixpico
  22. [Options]
  23. 1  "ix1-basic-ISA V1.1"    0     1        2        1           2       
  24. 1  "ix1-basic-ISA V1.2"    0     2        2        1           2       
  25. 1  "ix1-basic-PCI V1.1"    4     1        2        1           2       
  26. 11  "ix1-octo"              1     0        8        4           2       
  27. 11  "primaryPCI"            5     0        30       1           30
  28. 11  "ix1-primary-EISA"      2     0        30       1           30      
  29. 11  "ix1-multimodem"        3     0        8        1           8        
  30. 2  "micro2x"            4096     2        2        1           2       
  31. 2  "micro3x"            4099     2        2        1           2        
  32. 3  "pico"               4098     2        2        1           2       
  33. 2  "ColumbusCard 2.1"   4096     2        2        1           2       
  34. 2  "ColumbusCard 3.0"   4099     2        2        1           2        
  35. [OptionsTextGER]
  36. "ix1-basic-ISA V1.1"  = "ITK ix1-basic ISA V1.1 ISDN Adapter (2 KanΣle)"               "ITK ix1-basic-ISA V1.1"  "ITK ix1-active"     "ix1basic"
  37. "ix1-basic-ISA V1.2"  = "ITK ix1-basic ISA V1.2 ISDN Adapter (2 KanΣle)"               "ITK ix1-basic-ISA V1.2"  "ITK ix1-active"     "ix1basic"
  38. "ix1-basic-PCI V1.1"  = "ITK ix1-basic PCI V1.x ISDN Adapter (2 KanΣle)"               "ITK ix1-basic-PCI V1.1"  "ITK ix1-active"     "ix1basic"
  39. "ix1-octo"            = "ITK ix1-octo ISDN Adapter (8 KanΣle)"                         "ITK ix1-octo"            "ITK ix1-active"     "ix1octo"
  40. "primaryPCI"          = "ITK ix1-primary PCI ISDN Adapter (30 KanΣle)"                 "ITK ix1-primary-PCI"     "ITK ix1-active"     "ix1primary"
  41. "ix1-primary-EISA"    = "ITK ix1-primary EISA ISDN Adapter (30 KanΣle)"                "ITK ix1-primary-EISA"    "ITK ix1-active"     "ix1primary"
  42. "ix1-multimodem"      = "ITK ix1-multimodem fⁿr MVIP"                                  "ITK ix1-multimodem"      "ITK ix1-active"     "ix1multimodem"
  43. "micro2x"             = "ITK ix1-micro ISA V2.x ISDN Adapter (2 KanΣle)"               "ITK ix1-micro-ISA V2.x"  "ITK ix1-micro"      "ix1micro"
  44. "micro3x"             = "ITK ix1-micro Plug & Play ISA V3.x ISDN Adapter (2 KanΣle)"   "ITK ix1-micro-ISA V3.x"  "ITK ix1-micro"      "ix1micro"
  45. "pico"                = "ITK ix1-pico PCMCIA ISDN Adapter (2 KanΣle)"                  "ITK ix1-pico-PCMCIA"     "ITK ix1-pico"       "ix1pico"
  46. "ColumbusCard 2.1"    = "ITK ColumbusCard V2.1 ISDN Adapter (2 KanΣle)"                "ITK ColumbusCard V2.1"     "ITK ColumbusCard" "ColumbusCard"
  47. "ColumbusCard 3.0"    = "ITK ColumbusCard V3.x ISA PnP ISDN Adapter (2 KanΣle)"        "ITK ColumbusCard V3.0 PnP" "ITK ColumbusCard" "ColumbusCard"
  48. [OptionsTextENG]
  49. "ix1-basic-ISA V1.1"  = "ITK ix1-basic ISA V1.1 ISDN Adapter (2 channels)"             "ITK ix1-basic-ISA V1.1"  "ITK ix1-active"     "ix1basic"     
  50. "ix1-basic-ISA V1.2"  = "ITK ix1-basic ISA V1.2 ISDN Adapter (2 channels)"             "ITK ix1-basic-ISA V1.2"  "ITK ix1-active"     "ix1basic"     
  51. "basicPCI"            = "ITK ix1-basic PCI V1.x ISDN Adapter (2 channels)"             "ITK ix1-basic-PCI V1.1"  "ITK ix1-active"     "ix1basic"     
  52. "ix1-octo"            = "ITK ix1-octo ISDN Adapter (8 channels)"                       "ITK ix1-octo"            "ITK ix1-active"     "ix1octo"      
  53. "primaryPCI"          = "ITK ix1-primary PCI ISDN Adapter (30 channels)"               "ITK ix1-primary-PCI"      "ITK ix1-active"     "ix1primary"   
  54. "ix1-primary-EISA"    = "ITK ix1-primary EISA ISDN Adapter (30 channels)"              "ITK ix1-primary-EISA"    "ITK ix1-active"     "ix1primary"   
  55. "ix1-multimodem"      = "ITK ix1-multimodem for MVIP"                                  "ITK ix1-multimodem"      "ITK ix1-active"     "ix1multimodem"
  56. "micro2x"             = "ITK ix1-micro ISA V2.x ISDN Adapter (2 channels)"             "ITK ix1-micro-ISA V2.x"  "ITK ix1-micro"      "ix1micro"     
  57. "micro3x"             = "ITK ix1-micro Plug & Play ISA V3.x ISDN Adapter (2 channels)" "ITK ix1-micro-ISA V3.x"  "ITK ix1-micro"      "ix1micro"     
  58. "pico"                = "ITK ix1-pico ISDN Adapter (2 channels)"                       "ITK ix1-pico-PCMCIA"     "ITK ix1-pico"       "ix1pico"      
  59. "ColumbusCard 2.1"    = "ITK ColumbusCard V2.1 ISDN Adapter (2 channels)"              "ITK ColumbusCard V2.1"     "ITK ColumbusCard" "ColumbusCard"
  60. "ColumbusCard 3.0"    = "ITK ColumbusCard V3.x ISA PnP ISDN Adapter (2 channels)"      "ITK ColumbusCard V3.0 PnP" "ITK ColumbusCard" "ColumbusCard"
  61. [Source Media Descriptions]
  62. 1 = "Windows NT CAPI Installation"
  63. [Files-Inf]
  64. 1, oemsetup.inf,  SIZE=63, RENAME=$(!UG_FILENAME)
  65. [Files-Driver1]
  66. 1, ixcapi.sys,    SIZE=243
  67. [Files-Driver2]
  68. 1, ixmicro.sys,   SIZE=243
  69. [Files-Driver3]
  70. 1, ixpico.sys,   SIZE=243
  71. [Files-CapiDll]
  72. 1, capi2032.dll,  SIZE=45
  73. [Files-Firm]
  74. 1, iconf.exe,     SIZE=200
  75. 1, iconf.hlp,     SIZE=9
  76. [Files-Util]
  77. 1, dcm.exe,       SIZE=208
  78. [Files-DiskCard1]
  79. 1, ix.bin,        SIZE=430
  80. 1, ixboot.scr,    SIZE=33
  81. [Files-DiskCard2]
  82. 1, ix.bin,        SIZE=430
  83. 1, ixboot.scr,    SIZE=33
  84. [Files-DiskCard3]
  85. 1, ix.bin,        SIZE=430
  86. 1, ixboot.scr,    SIZE=33
  87. [Files-DiskCard4]
  88. 1, ixo.bin,       SIZE=711
  89. 1, ixboot.scr,    SIZE=33
  90. [Files-DiskCard5]
  91. 1, ixpp.bin,       SIZE=430
  92. [Files-DiskCard6]
  93. 1, ixp.bin,       SIZE=430
  94. 1, ixpboot.scr,   SIZE=33
  95. [Files-DiskCard7]
  96. 1, ixm.bin,       SIZE=386
  97. 1, ixmboot.scr,   SIZE=33
  98. [Files-DiskWAN]
  99. 1, vinwm.sys, SIZE=217, RENAME=$(WanImageName)".sys"
  100. 1, vinwmhlp.sys, SIZE=13
  101. [FilesToRemove]
  102. RemoveNow1            = {}
  103. RemoveAtReboot1        = { {"drivers\"$(WanImageName)".sys","drivers\"$(WanImageName)".bak"} }                                                                   
  104. RemoveNowCommon1      = { $(!UG_FILENAME),$(FirmDir)"\"$(BinFileName),$(FirmDir)"\"$(BootFileName) }
  105. RemoveAtRebootCommon1 = { {"drivers\"$(DriverSysFileName),"drivers\"$(DriverBakFileName)} }
  106. RemoveNow2            = {}
  107. RemoveAtReboot2        = { {"drivers\"$(WanImageName)".sys","drivers\"$(WanImageName)".bak"} }
  108. RemoveNowCommon2      = { $(!UG_FILENAME) }
  109. RemoveAtRebootCommon2 = { {"drivers\"$(DriverSysFileName),"drivers\"$(DriverBakFileName)} }
  110. RemoveNow3            = {}
  111. RemoveAtReboot3        = { {"drivers\"$(WanImageName)".sys","drivers\"$(WanImageName)".bak"} }
  112. RemoveNowCommon3      = { $(!UG_FILENAME) }
  113. RemoveAtRebootCommon3 = { {"drivers\"$(DriverSysFileName),"drivers\"$(DriverBakFileName)} }
  114. RemoveNowCommon       = { $(FirmDir)"\"$(FirmUiExe),+
  115. $(FirmDir)"\"$(FirmUiHlp),+
  116. $(FirmDir)"\dcm.exe"+
  117. }
  118. RemoveAtRebootCommon  = { { "capi2032.dll","capi2032.bak"}, +
  119. { "drivers\"$(HlpDrvName)".sys","drivers\"$(HlpDrvName)".bak"} +
  120. }
  121. [ConfigurationDefaultsISA]
  122. IOBASE_Value   = 912
  123. ORDINAL_Value  = 1
  124. IRQ_Value      = 11
  125. [ConfigurationDefaultsEISA]
  126. IOBASE_Value   = 65535
  127. ORDINAL_Value  = 1
  128. IRQ_Value      = 10
  129. [ConfigurationDefaultsMCA]
  130. IOBASE_Value   = 65535
  131. ORDINAL_Value  = 65535
  132. IRQ_Value      = 65535
  133. [ConfigurationDefaultsPCI]
  134. IOBASE_Value   = 65535
  135. ORDINAL_Value  = 0
  136. IRQ_Value      = 65535
  137. [ConfigurationDefaultsPCMCIA]
  138. IOBASE_Value    = 912
  139. ORDINAL_Value   = 0
  140. IRQ_Value       = 11
  141. [FileConstantsGER]
  142. FunctionTitle          = $(Packet)" Treibereinrichtung"
  143. ShellCodeErrorTitle    = "Fehler: "$(FunctionTitle)
  144. ShellCodeErrorText     = "Shell-Codefehler"
  145. HardwareTitleWAN       = $(WanName)
  146. HardwareDescriptionWAN = $(WanName)
  147. [FileConstantsENG]
  148. FunctionTitle          = $(Packet)" Driver Setup"
  149. ShellCodeErrorTitle    = "Error: "$(FunctionTitle)
  150. ShellCodeErrorText     = "Shell-Code Error"
  151. HardwareTitleWAN       = $(WanName)
  152. HardwareDescriptionWAN = $(Wanname)
  153. [DialogConstantsGER]
  154. HelpContext          = ""
  155. Help                 = "&Hilfe"
  156. Continue             = "Fortsetzen"
  157. Exit                 = "Abbrechen"
  158. OK                   = "OK"
  159. ProCaption           = "Windows NT-Setup"
  160. ProCancel            = "Abbrechen"
  161. ProCancelMsg         = "Die Netzwerkunterstⁿtzung ist nicht korrekt installiert. Sind Sie sicher, da▀ Sie das Kopieren der Dateien abbrechen m÷chten?"
  162. ProCancelCap         = "Meldung zur Netzwerkeinrichtung"
  163. ProText1             = "Kopiert:"
  164. ProText2             = "Nach:"
  165. CantConfigSoftware   = "Die Software kann nicht konfiguriert werden"
  166. CantUpdateHardware   = "Die Hardware kann nicht aktualisiert werden"
  167. CantChangeBinding    = "Die Bindungsdaten k÷nnen nicht verΣndert werden"
  168. CantFindCard         = "Im Konfigurationsspeicher ist keine "$(Packet)" Karte eingetragen."
  169. CantFindMoreCards    = "Im Konfigurationsspeicher ist keine weitere "$(Packet)" Karte eingetragen."
  170. CantFindOldCard      = "Die Karte ist nicht mehr im Konfigurationsspeicher eingetragen."
  171. CantVerifySetting    = "Die eingestellten Werte k÷nnen zur Zeit nicht "+
  172. "auf Konflikte mit anderen Systemkomponenten "+
  173. "ⁿberprⁿft werden."$(!LF)+
  174. "Fehlerhafte Einstellungen k÷nnen zu Fehlern beim "+
  175. "Hochfahren des Systems fⁿhren."$(!LF)$(!LF)+
  176. "WΣhlen Sie OK, wenn die eingestellten Werte "+
  177. "benutzt werden sollen, anderenfalls wΣhlen Sie "+
  178. "Abbrechen um die Werte nochmals zu kontrollieren!"
  179. CantFindGroupOrder   = "Die Service Group Order List wurde nicht in der Registry gefunden. Die CAPI20 Service Group kann deshalb nicht eingetragen werden."
  180. BadGroupOrder        = "In der Service Group Order List in der Registry fehlt der NDIS Eintrag. Die CAPI20 Service Group deshalb nicht eingetragen werden."
  181. CantWriteGroupOrder  = "Beim Schreiben der aktualisierten Service Group Order List in die Registry trat ein Fehler auf."
  182. BadCapiDeviceConfig  = "Die CAPI20 Konfigurationsdaten in der Registry (SOFTWARE\CAPI20) sind teilweise fehlerhaft. Dies kann zu Fehlern beim Start von CAPI Applikationen fⁿhren."
  183. CantCreateCapiDevice = "Beim Schreiben der "$(Packet)" CAPI20 "+
  184. "Konfigurationsdaten "+
  185. "in die Registry (SOFTWARE\CAPI20) trat ein "+
  186. "Fehler auf. Dadurch k÷nnen CAPI Applikationen "+
  187. "nicht auf den Adapter zugreifen."
  188. ContinueAnyway       = $(!LF)$(!LF)"WΣhlen Sie OK, wenn Sie die Installation "+
  189. "des "$(Packet)" Adapters trotzdem "+
  190. "fortsetzen wollen, anderenfalls Abbrechen."
  191. CantRemoveCapiDevice = "Die CAPI20 Konfigurationsdaten des Adapters "+
  192. "k÷nnen nicht gel÷scht werden, da der "+
  193. "entsprechende Adapterparameter (CapiDevice) nicht "+
  194. "ermittelt werden konnte."
  195. CantRemoveDevice     = "Der Eintrag fⁿr den Adapter in den "$(Packet)+
  196. " Parametern kann nicht gel÷scht werden, da der "+
  197. "entsprechende Adapterparameter nicht "+
  198. "ermittelt werden konnte."
  199. AdapterSetupReady    = "Die "$(Packet)" Adaptereinrichtung ist abgeschlossen."
  200. AskForUpdateOld      = "Sind Sie sicher, da▀ Sie die installierte Version "
  201. AskForUpdateNew      = " durch die Version "
  202. AskForUpdateEnd      = " ersetzen wollen ?"$(!LF)$(!LF)+
  203. "WΣhlen Sie OK, wenn die Ersetzung ausgefⁿhrt "+
  204. "werden soll, anderenfalls Abbrechen."
  205. CantSeeInfFile       = "Der aktuelle Name der "$(Packet)" INF Datei kann nicht ermittelt werden"
  206. UpdateText           = "Der auf Ihrem System installierte Treiber kann nicht mit der Update-Funktion "+
  207. "aktualisiert werden. Deinstallieren Sie ihn und installieren Sie dann den "+
  208. "neuen Treiber."
  209. [DialogConstantsENG]
  210. HelpContext          = ""
  211. Help                 = "&Help"
  212. Continue             = "Continue"
  213. Exit                 = "Exit"
  214. OK                   = "OK"
  215. ProCaption           = "Windows NT-Setup"
  216. ProCancel            = "Cancel"
  217. ProCancelMsg         = "Network support is not correctly installed. "+
  218. "Are you sure that you want to cancel the copy operation?"
  219. ProCancelCap         = "Network Setup Message"
  220. ProText1             = "Copies:"
  221. ProText2             = "To:"
  222. CantConfigSoftware   = "Cannot configure the software component"
  223. CantUpdateHardware   = "Cannot update the hardware component"
  224. CantChangeBinding    = "Cannot change binding"
  225. CantFindCard         = "Cannot find any "$(Packet)" card in configuration memory."
  226. CantFindMoreCards    = "There are no further "$(Packet)" card entries in configuration memory."
  227. CantFindOldCard      = "There is no entry for this card in configuration memory."
  228. CantVerifySetting    = "Sorry, cannot check your configured values for "+
  229. "conflicts whith other system components."$(!LF)+
  230. "Conflicting values may result in errors when "+
  231. "the system is rebooted."$(!LF)$(!LF)+
  232. "Choose OK if the values should be used, otherwise "+
  233. "choose Cancel to check them once more!"
  234. CantFindGroupOrder   = "Could not find the Service Group Order List in registry and thus could not add the CAPI20 service up to this list."
  235. BadGroupOrder        = "Could not find the NDIS entry in the Service Group Order List in registry and thus could not add the 20 service group to this list."
  236. CantWriteGroupOrder  = "Failed to write the updated Service Group Order List to registry."
  237. BadCapiDeviceConfig  = "The CAPI20 configuration info in registry (SOFTWARE\Capi20) is partially incorrect. This may result in errors when executing CAPI applications."
  238. CantCreateCapiDevice = "Failed to write the "$(Packet)" CAPI20 configuration info to registry (SOFTWARE\CAPI20). CAPI applications will fail to access the adapter."
  239. ContinueAnyway       = $(!LF)$(!LF)"Choose OK to ignore the errors and to continue "$(Packet)" adapter setup, otherwise choose Cancel."
  240. CantRemoveCapiDevice = "Cannot remove the CAPI20 configuration info for the adapter cause the corresponding adapter parameter could not be found."
  241. CantRemoveDevice     = "Cannot remove the adapter link from the "$(Packet)" parameters key cause the corresponding adapter could not be found."
  242. AdapterSetupReady    = $(Packet)" Adapter installation is complete."
  243. AskForUpdateOld      = "Are you sure that you want to replace the installed version "
  244. AskForUpdateNew      = " by version "
  245. AskForUpdateEnd      = " ?"$(!LF)$(!LF)"Choose OK to replace, otherwise choose Cancel."
  246. CantSeeInfFile       = "Cannot determine the current name of the "$(Packet)" INF file"
  247. UpdateText           = "Your currently installed driver cannot be updated. "+
  248. "Please remove it and install the new one."
  249. [InvokeRasDlgENG]
  250. InvokeRasSetupMsg   = $(FirmText)" ISDN WAN Miniport Driver setup is complete. "+
  251. "Remote Access Services (RAS) must now be installed. "+
  252. "Please configure the "$(WanName)" ports in RAS "+
  253. "setup to enable you to use RAS over ISDN. "+
  254. "NOTE: Don't reboot before adding ISDN ports!"
  255. InvokeRasConfigMsg  = $(FirmText)" ISDN WAN Miniport Driver setup is complete. "+
  256. "Remote Access Services (RAS) setup must now be invoked. "+
  257. "Please configure the "$(WanName)" ports in RAS "+
  258. "setup to enable you to use RAS over ISDN. "+
  259. "NOTE: Don't reboot before adding ISDN ports!"
  260. InvokeRasError      = $(FirmText)" ISDN WAN Miniport Driver setup encountered an error "+
  261. "while invoking the RAS setup INF file (OEMNSVRA.INF). "+
  262. "Please make sure that the file is present in the "+
  263. "System32 directory and is the proper file."
  264. [InvokeRasDlgGER]
  265. InvokeRasSetupMsg   = $(FirmText)" ISDN WAN Miniport Driver setup ist beendet. "+
  266. "Installieren Sie nun den Remote Access Service (RAS). "+
  267. "Bitte konfigurieren Sie dabei die "$(WanName)" Ports im RAS "+
  268. "Setup, um RAS ⁿber ISDN nutzen zu k÷nnen. "+
  269. "WICHTIG: Booten Sie nicht, bevor die RAS-Ports konfiguriert sind."
  270. InvokeRasConfigMsg  = $(FirmText)" ISDN WAN Miniport Driver setup ist beendet. "+
  271. "Rufen Sie nun die Remote Access Service (RAS) Konfiguration auf. "+
  272. "und konfigurieren Sie dort die "$(WanName)" Ports, um RAS ⁿber ISDN "+
  273. "nutzen zu k÷nnen. "+
  274. "WICHTIG: Booten Sie nicht, bevor die RAS-Ports konfiguriert sind."
  275. InvokeRasError      = "Das "$(FirmText)" ISDN WAN Miniport Driver Setup hat einen Fehler "+
  276. "wΣhrend des Aufrufs der RAS Setup INF Datei festgestellt (OEMNSVRA.INF)."+
  277. "Sorgen Sie bitte dafⁿr, da▀ diese Datei in Ihrem System32-Verzeichnis"+
  278. "vorhanden ist."
  279. [GeneralConstants]
  280. CardFlag = 1
  281. HlpDrvName = "vinwmhlp"
  282. CMCString = "HSJ"
  283. Manufacturer   = "ITK AG"
  284. FirmText       = "ITK"
  285. FirmDir        = "ITK"
  286. FirmUiExe      = "iconf.exe"
  287. FirmUiHlp      = "iconf.hlp"
  288. pcmciaManufacturerString ="ITK ix1-pico"
  289. pcmciaDeviceString       ="ISDN-Adapter              "
  290. pcmciaOptionValue        ="ixpico"
  291. Packet               = #(PacketNames,$(CardFlag),1)
  292. MajorVersion         = #(PacketNames,$(CardFlag),2)
  293. MinorVersion         = #(PacketNames,$(CardFlag),3)
  294. MajorVersionWan      = #(PacketNames,4 ,2)
  295. MinorVersionWan      = #(PacketNames,4 ,3)
  296. DriverSysFileName    = #(DriverNames,$(CardFlag),1)".sys"
  297. DriverBakFileName    = #(DriverNames,$(CardFlag),1)".bak"
  298. WanOrgName = #(PacketNames,4,1)
  299. UtilInf  = "UTILITY.INF"
  300. ParmInf  = "NCPARAM.INF"
  301. SubrInf  = "SUBROUTN.INF"
  302. InfName  = $(FirmText)" OEMSETUP.INF"
  303. NetEventDLL     = "%systemroot%\system32\netevent.dll"
  304. IoLogMsgDLL     = "%systemroot%\system32\oologmsg.dll"
  305. MAXPERM = 33554432
  306. KeyNull = ""
  307. NoTitle  = 0
  308. Logo              = $(Packet)" Driver (c) "$(Manufacturer)
  309. Version           = $(MajorVersion)"."$(MinorVersion)
  310. VersionWan        = $(MajorVersionWan)"."$(MinorVersionWan)
  311. SoftwareName         = $(Packet)
  312. SoftwareType         = "driver"
  313. SoftwareServiceName  = $(SoftwareName)
  314. SoftwareServiceGroup = "CAPI20"
  315. SoftwareServiceType  = "kernelautostart"
  316. SoftwareImagePath    = "\systemroot\system32\drivers\"
  317. SoftwareBase         = $(!NTN_SoftwareBase)"\"$(Manufacturer)
  318. SoftwareKeyNameWAN   = $(SoftwareBase)"\"$(WanName)"\CurrentVersion"
  319. SoftwareKeyName      = $(SoftwareBase)"\"$(Packet)"\CurrentVersion"
  320. NetRuleSoftwareType     = $(Packet)"Sys "$(Packet)"Driver"
  321. NetRuleSoftwareUse      = $(SoftwareType)
  322. NetRuleSoftwareBindForm = """"$(Packet)"Driver"" yes no container"
  323. NetRuleSoftwareBindable = {$(Packet)"Driver "$(Packet)"Adapter non exclusive 100"}
  324. NetRuleSoftwareClass = {$(Packet)"Driver basic"}
  325. NetRuleSoftwareBindFormWAN = """"$(WanName)"Driver"" yes no container"
  326. NetRuleSoftwareBindableWAN = { $(WanName)"Driver "$(WanName)"Adapter non non 100" }
  327. NetRuleSoftwareClassWAN = {$(WanName)"Driver basic"}
  328. HardwareName            = $(Packet)
  329. HardwareImagePath       = "\systemroot\system32\drivers\"
  330. NetRuleHardwareType     = $(Packet)" "$(Packet)"Adapter"
  331. NetRuleHardwareBindForm = " yes yes container"
  332. NetRuleHardwareClass    = {$(Packet)"Adapter basic"}
  333. HardwareNameWAN         = $(WanName)
  334. HardwareImagePathWAN    = "\systemroot\system32\drivers\"
  335. NetRuleHardwareTypeWAN     = $(WanName)" "$(WanName)"Adapter"
  336. NetRuleHardwareBindFormWAN = " yes yes container"
  337. NetRuleHardwareClassWAN = {$(WanName)"Adapter basic"}
  338. CapiDevicesPath         = $(!NTN_SoftwareBase)"\CAPI20"
  339. MCA_POS_ID_HIGHBYTE     = 112
  340. MCA_POS_ID_LOWBYTE      = 230
  341. MCA_POS_ID              = 28902
  342. CurrentControlSet = "SYSTEM\CurrentControlSet"
  343. ServiceBase       = $(CurrentControlSet)"\Services"
  344. ServicePath       = $(ServiceBase)"\"$(SoftwareServiceName)
  345. ServiceParameters = $(ServicePath)"\Parameters"
  346. ControlBase       = $(CurrentControlSet)"\Control"
  347. ServiceGroupOrder = $(ControlBase)"\ServiceGroupOrder"
  348. NetworkCardsBase  = $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards"
  349. LineType                = 1
  350. [date]
  351. Now = {} ? $(!LIBHANDLE) GetSystemDate
  352. [Identify]
  353. read-syms Identification
  354. set Status     = STATUS_SUCCESSFUL
  355. set Identifier = $(OptionType)
  356. set Media      = #("Source Media Descriptions", 1, 1)
  357. return $(Status) $(Identifier) $(Media)
  358. [ReturnOptions]
  359. Set OldDebugControl = $(!DebugOutputControl)
  360. Set !DebugOutputControl = 1
  361. read-syms PreferredLanguage
  362. read-syms GeneralConstants
  363. ifstr $(Language) == ""
  364. set Language = "ENG"
  365. set LanguageList = ^(LanguagesSupported, 1)
  366. ifcontains(i) $($0) IN $(LanguageList)
  367. set Language = $($0)
  368. endif
  369. endif
  370. set OptionList     = {}
  371. set OptionTextList = {}
  372. set bufTypeList     = ^(Options, 1)
  373. set bufOptionList     = ^(Options, 2)
  374. set bufOptionTextList = ^(OptionsText$(Language), 1)
  375. ForListDo $(bufOptionList)
  376. set cnt = $(#)
  377. ifstr *( $(bufTypeList), $(cnt) ) == $(CardFlag)
  378. set OptionList       = >( $(OptionList), $($) )
  379. set OptionTextList   = >( $(OptionTextList), *( $(bufOptionTextList), $(cnt) ) )
  380. endif
  381. EndForListDo
  382. return STATUS_SUCCESSFUL $(OptionList) $(OptionTextList)
  383. [InstallOption]
  384. Set OldDebugControl = $(!DebugOutputControl)
  385. Set !DebugOutputControl = 1
  386. read-syms PreferredLanguage
  387. ifstr $(Language) == ""
  388. set Language = "ENG"
  389. set LanguageList = ^(LanguagesSupported, 1)
  390. ifcontains(i) $($0) IN $(LanguageList)
  391. set Language = $($0)
  392. endif
  393. endif
  394. set Option     = $($1)
  395. set OptionName = $($1)
  396. set SrcDir     = $($2)
  397. set AddCopy    = $($3)
  398. set DoCopy     = $($4)
  399. set DoConfig   = $($5)
  400. set SplitList = {}
  401. split-string $(SrcDir) "\" SplitList
  402. querylistsize SplitCount $(SplitList)
  403. ifstr(i) "\" != *($(SplitList), $(SplitCount))
  404. set SrcDir = $(SrcDir)"\"
  405. endif
  406. ForListDo  ^(Options, 2)
  407. ifstr $($) == $(OptionName)
  408. set CardNumber = $(#)
  409. endif
  410. EndForListDo
  411. set CardList = ^(Options, 2)
  412. read-syms GeneralConstants
  413. read-syms FileConstants$(Language)
  414. read-syms DialogConstants$(Language)
  415. ifstr(i) $(!NTN_Origination) == "NCPA"
  416. set Continue = $(OK)
  417. endif
  418. detect date
  419. set-title $(FunctionTitle)
  420. read-syms OptionsText$(Language)
  421. set TitleList              = ^(OptionsText$(Language), 2)
  422. set DisplayNameList        = ^(OptionsText$(Language), 3)
  423. set WanSuffixList        = ^(OptionsText$(Language), 4)
  424. set CardTitle = *($(TitleList), $(CardNumber))
  425. set HardwareTitle          = *($(TitleList), $(CardNumber))" Adapter"
  426. set HardwareDescription    = $(HardwareTitle)
  427. set SoftwareTitle          = *($(TitleList), $(CardNumber))" Driver"
  428. set SoftwareDescription    = $(SoftwareTitle)
  429. set SoftwareDisplayName    = *($(DisplayNameList), $(CardNumber))
  430. set WanSuffix              = *($(WanSuffixList), $(CardNumber))
  431. set SoftwareTitleWAN       = *($(TitleList), $(CardNumber))" ISDN WAN Miniport Driver"
  432. set SoftwareDescriptionWAN = $(SoftwareTitleWAN)
  433. set NewInstallation = FALSE
  434. set RegistryError      = NO_ERROR
  435. set CapiDevice         = -1
  436. set NewCapiDevice      = -1
  437. set ISDNAdapterNumber  = -1
  438. set WANAdapterNumber   = -1
  439. set CardType           = -1
  440. set CardRevision       = -1
  441. set Channels           = -1
  442. set BusType            = -1
  443. set BusNumber          = -1
  444. set Pcmcia             = 0
  445. set MediaType          = 0
  446. set BusName            = ""
  447. set KnownMcaSlots      = {}
  448. set AddedMcaSlots      = {}
  449. set HlpDrvRemoved      = 0
  450. ifstr $(CardFlag) == 1
  451. set FilesDiskSectionName = "Files-DiskCard"$(CardNumber)
  452. set FileNameList = ^($(FilesDiskSectionName),2)
  453. set BinFileName  = *($(FileNameList),1)
  454. set BootFileName = *($(FileNameList),2)
  455. set BootFilePath = $(!STF_WINDOWSSYSPATH)"\"$(FirmDir)"\"$(BootFileName)
  456. set BinFilePath  = $(!STF_WINDOWSSYSPATH)"\"$(FirmDir)"\"$(BinFileName)
  457. endif
  458. set DetectedCard = ""
  459. set to = fatal
  460. set from = fatal
  461. EndWait
  462. set CommonStatus = STATUS_SUCCESSFUL
  463. ifstr(i)      $(!NTN_InstallMode) == deinstall
  464. goto RemoveRequest
  465. else-ifstr(i) $(!NTN_InstallMode) == update
  466. goto UpgradeRequest
  467. else-ifstr(i) $(!NTN_InstallMode) == bind
  468. goto BindRequest
  469. else-ifstr(i) $(!NTN_InstallMode) == configure
  470. ifstr(i) $(!NTN_RegBase) == $(SoftwareKeyName)
  471. set Error = $(CantConfigSoftware)
  472. goto nonfatal
  473. endif
  474. goto ConfigureRequest
  475. endif
  476. set BusType = 1
  477. set BusName = ISA
  478. set BusNumber = 0
  479. ifstr(i) $(Option) == *($(CardList),3)
  480. set BusType = 5
  481. set BusName = "PCI"
  482. set BusNumber = 0
  483. endif
  484. ifstr(i) $(Option) == *($(CardList),5)
  485. set BusType = 5
  486. set BusName = "PCI"
  487. set BusNumber = 0
  488. endif
  489. ifstr(i) $(Option) == *($(CardList),6)
  490. set BusType = 2
  491. set BusName = "EISA"
  492. set BusNumber = 0
  493. endif
  494. ifstr $(BusName) == MCA
  495. Shell "", GetMcaSlotInfo
  496. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  497. goto ShellCodeError
  498. endif
  499. ifstr $($R0) != "NO_ERROR"
  500. ifstr $($R0) == ""
  501. set Error = $(CantFindCard)
  502. goto nonfatal
  503. else
  504. set Error = $(McaConfigError)
  505. goto fatal
  506. endif
  507. endif
  508. set KnownMcaSlots = $($R1)
  509. set AddedMcaSlots = $($R2)
  510. ifstr $(AddedMcaSlots) == {}
  511. set Error = $(CantFindMoreCards)
  512. goto nonfatal
  513. endif
  514. endif
  515. set KeySoftware = $(KeyNull)
  516. OpenRegKey $(!REG_H_LOCAL) "" $(SoftwareKeyName) $(MAXPERM) KeySoftware
  517. CloseRegKey $(KeySoftware)
  518. ifstr $(KeySoftware) == $(KeyNull)
  519. set NewInstallation = TRUE
  520. else
  521. set KeyService = $(KeyNull)
  522. OpenRegKey $(!REG_H_LOCAL) "" $(ServicePath) $(MAXPERM) KeyService
  523. CloseRegKey $(KeyService)
  524. ifstr $(KeyService) == $(KeyNull)
  525. set NewInstallation = TRUE
  526. else
  527. ifstr(i) $(!NTN_RegBase) == $(SoftwareKeyName)
  528. Shell $(UtilInf), VerExistedDlg,+
  529. $(SoftwareTitle), $(Version)
  530. goto end
  531. endif
  532. Shell $(UtilInf), CardExistedDlg
  533. ifstr(i) $($R1) != "OK"
  534. set CommonStatus = STATUS_USERCANCEL
  535. goto end
  536. endif
  537. endif
  538. endif
  539. set OEM_ABANDON_OPTIONS = {}
  540. set OEM_ABANDON_SOFTWARE = FALSE
  541. set OEM_ABANDON_ON = TRUE
  542. goto InstallRequest
  543. InstallRequest = +
  544. set OptionList                = ^(Options, 2)
  545. set TypeList                  = ^(Options, 3)
  546. set RevisionList              = ^(Options, 4)
  547. set ChannelList               = ^(Options, 5)
  548. set NumberOfControllersList   = ^(Options, 6)
  549. set ChannelsPerControllerList = ^(Options, 7)
  550. ForListDo $(OptionList)
  551. ifstr(i) $($) == $(OptionName)
  552. set CardType               = *($(TypeList), $(#))
  553. set CardRevision           = *($(RevisionList), $(#))
  554. set Channels               = *($(ChannelList), $(#))
  555. set NumberOfControllers    = *($(NumberOfControllersList), $(#))
  556. set ChannelsPerController  = *($(ChannelsPerControllerList), $(#))
  557. endif
  558. EndForListDo
  559. read-syms ConfigurationDefaults$(BusName)
  560. addCapiDriverToRegistry = +
  561. ifstr(i) $(NewInstallation) == FALSE
  562. goto AddAdapter
  563. endif
  564. Set ProductKeyName      = $(ServiceParameters)
  565. Set KeyProduct          = $(KeyNull)
  566. OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXPERM) KeyProduct
  567. CloseRegKey $(KeyProduct)
  568. IfStr $(KeyProduct) != $(KeyNull)
  569. goto AddAdapter
  570. EndIf
  571. Shell $(UtilInf), AddSoftwareComponent, +
  572. $(Manufacturer), +
  573. $(SoftwareName), +
  574. $(SoftwareServiceName), +
  575. $(SoftwareDisplayName), +
  576. $(STF_CONTEXTINFNAME), +
  577. $(SoftwareImagePath)$(DriverSysFileName), +
  578. $(SoftwareServiceType), +
  579. $(SoftwareServiceGroup), +
  580. {}, +
  581. "", +
  582. $(NetEventDLL)
  583. set OEM_ABANDON_SOFTWARE = TRUE
  584. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  585. goto ShellCodeError
  586. endif
  587. set RegistryError        = $($R0)
  588. set KeySoftware          = $($R1)
  589. set KeySoftwareNetRules  = $($R2)
  590. set KeyService           = $($R3)
  591. set KeyServiceParameters = $($R4)
  592. CloseRegKey $($R5)
  593. ifstr(i) $(RegistryError) != NO_ERROR
  594. set to = fatalregistry
  595. goto InstallSoftwareCleanup
  596. endif
  597. set NewValueList = {+
  598. {SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
  599. {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(MajorVersion)},+
  600. {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(MinorVersion)},+
  601. {Title,$(NoTitle),$(!REG_VT_SZ),$(SoftwareTitle)},+
  602. {Description,$(NoTitle),$(!REG_VT_SZ),$(SoftwareDescription)},+
  603. {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(SoftwareServiceName)},+
  604. {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}+
  605. }
  606. Shell $(UtilInf), AddValueList, $(KeySoftware), $(NewValueList)
  607. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  608. set to = ShellCodeError
  609. goto InstallSoftwareCleanup
  610. endif
  611. set RegistryError = $($R0)
  612. ifstr(i) $(RegistryError) != NO_ERROR
  613. set to = fatalregistry
  614. goto InstallSoftwareCleanup
  615. endif
  616. set NewValueList = {+
  617. {type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareType)},+
  618. {use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareUse)}, +
  619. {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareBindForm)}, +
  620. {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareClass)}, +
  621. {bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareBindable)}, +
  622. {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}+
  623. }
  624. Shell $(UtilInf), AddValueList, $(KeySoftwareNetRules), $(NewValueList)
  625. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  626. set to = ShellCodeError
  627. goto InstallSoftwareCleanup
  628. endif
  629. set RegistryError = $($R0)
  630. ifstr(i) $(RegistryError) != NO_ERROR
  631. set to = fatalregistry
  632. goto InstallSoftwareCleanup
  633. endif
  634. set NewValueList = { +
  635. {Controllers,$(NoTitle),$(!REG_VT_MULTI_SZ),{}}+
  636. }
  637. Shell $(UtilInf), AddValueList, $(KeyServiceParameters), $(NewValueList)
  638. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  639. set to = ShellCodeError
  640. goto InstallSoftwareCleanup
  641. endif
  642. set RegistryError = $($R0)
  643. ifstr(i) $(RegistryError) != NO_ERROR
  644. set to = fatalregistry
  645. goto InstallSoftwareCleanup
  646. endif
  647. Shell "", UpdateGroupOrderList
  648. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  649. set to = ShellCodeError
  650. goto InstallSoftwareCleanup
  651. endif
  652. ifstr(i) $($R0) != STATUS_SUCCESSFUL
  653. ifint $($R1) == 0
  654. set Error = $(CantFindGroupOrder)
  655. else-ifint $($R1) == 1
  656. set Error = $(BadGroupOrder)
  657. else
  658. set Error = $(CantWriteGroupOrder)
  659. endif
  660. set to = fatal
  661. goto InstallSoftwareCleanup
  662. endif
  663. set to = AddAdapter
  664. InstallSoftwareCleanup = +
  665. CloseRegKey $(KeySoftware)
  666. CloseRegKey $(KeySoftwareNetRules)
  667. CloseRegKey $(KeyService)
  668. CloseRegKey $(KeyServiceParameters)
  669. goto $(to)
  670. AddAdapter = +
  671. Shell $(UtilInf), AddHardwareComponent, $(HardwareName), $(STF_CONTEXTINFNAME), $(SoftwareKeyName)
  672. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  673. goto ShellCodeError
  674. endif
  675. set RegistryError       = $($R0)
  676. set KeyNetworkCard      = $($R1)
  677. set KeyAdapterRules     = $($R2)
  678. set KeyParameters       = $($R3)
  679. set ISDNAdapterNumber   = $($R4)
  680. set DeviceName          = $($R5)
  681. ifint $(ISDNAdapterNumber) != -1
  682. set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(NetworkCardsBase)"\"$(ISDNAdapterNumber))
  683. endif
  684. ifstr(i) $(RegistryError) != NO_ERROR
  685. set to = fatalregistry
  686. goto AddAdapterCleanup
  687. endif
  688. set NewValueList = { {Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+
  689. {Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(HardwareTitle)},+
  690. {Description,$(NoTitle),$(!REG_VT_SZ),$(HardwareDescription)},+
  691. {ProductName,$(NoTitle),$(!REG_VT_SZ),$(HardwareName)},+
  692. {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
  693. {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}+
  694. }
  695. Shell  $(UtilInf), AddValueList, $(KeyNetworkCard), $(NewValueList)
  696. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  697. set to = ShellCodeError
  698. goto AddAdapterCleanup
  699. endif
  700. set RegistryError = $($R0)
  701. ifstr(i) $(RegistryError) != NO_ERROR
  702. set to = fatalregistry
  703. goto AddAdapterCleanup
  704. endif
  705. set TempProdName = """"$(HardwareName)$(ISDNAdapterNumber)""""
  706. set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
  707. set NewValueList = {+
  708. {type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardwareType) }, +
  709. {bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, +
  710. {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardwareClass)}, +
  711. {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}+
  712. }
  713. Shell $(UtilInf), AddValueList, $(KeyAdapterRules), $(NewValueList)
  714. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  715. set to = ShellCodeError
  716. goto AddAdapterCleanup
  717. endif
  718. set RegistryError = $($R0)
  719. ifstr(i) $(RegistryError) != NO_ERROR
  720. set to = fatalregistry
  721. goto AddAdapterCleanup
  722. endif
  723. Shell "" CheckCapiDevices $(DeviceName)
  724. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  725. set to = ShellCodeError
  726. goto AddAdapterCleanup
  727. endif
  728. set CapiDevice = $($R1)
  729. ifint $($R0) != 0
  730. set Error = $(BadCapiDeviceConfig)$(ContinueAnyway)
  731. set from  = setfailed
  732. set to    = AddAdapterIgnoreConfigError
  733. goto warning
  734. endif
  735. AddAdapterIgnoreConfigError = +
  736. Shell "" CreateCapiDevice $(CapiDevice), $(DeviceName),$(NumberOfControllers), $(ChannelsPerController)
  737. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  738. set to = ShellCodeError
  739. goto AddAdapterCleanup
  740. endif
  741. ifstr(i) $($R0) != STATUS_SUCCESSFUL
  742. Shell "" RemoveCapiDevice $(CapiDevice)
  743. set Error = $(CantCreateCapiDevice)$(ContinueAnyway)
  744. set from = setfailed
  745. set to    = AddAdapterIgnoreCreateError
  746. goto warning
  747. else
  748. set NewCapiDevice = $(CapiDevice)
  749. endif
  750. AddAdapterIgnoreCreateError = +
  751. CloseRegKey $(KeyNetworkCard)
  752. CloseRegKey $(KeyAdapterRules)
  753. set to = InstallCAReturn
  754. goto ConfigureAdapter
  755. InstallCAReturn = +
  756. ifstr $(CardFlag) != 3
  757. goto InstallWanMiniport
  758. endif
  759. set PCMCIADatabaseKeyName = $(!NTN_ServiceBase)"\Pcmcia\DataBase"
  760. OpenRegKey $(!REG_H_LOCAL) "" $(PCMCIADatabaseKeyName) $(!REG_KEY_ALL_ACCESS) PCMCIADatabaseKey
  761. Ifstr $(PCMCIADatabaseKey) == $(KeyNULL)
  762. else
  763. OpenRegKey $(!REG_H_LOCAL) "" $(PCMCIADatabaseKeyName)"\"$(pcmciaManufacturerString) $(!REG_KEY_ALL_ACCESS) PCMCIADatabaseManuKey
  764. Ifstr $(PCMCIADatabaseManuKey) != $(KeyNULL)
  765. CloseRegKey $(PCMCIADatabaseManuKey)
  766. DeleteRegTree $(PCMCIADatabaseKey) $(pcmciaManufacturerString)
  767. Endif
  768. CreateRegKey $(PCMCIADatabaseKey)     {$(pcmciaManufacturerString), 0, 0} "" $(!REG_KEY_ALL_ACCESS) "" PCMCIADatabaseManuKey
  769. CreateRegKey $(PCMCIADatabaseManuKey) {$(pcmciaDeviceString), 0, 0} "" $(!REG_KEY_ALL_ACCESS) "" PCMCIADatabaseOurKey
  770. SetRegValue  $(PCMCIADatabaseOurKey)  {DeviceType, 0, $(!REG_VT_SZ),"NET"}
  771. SetRegValue  $(PCMCIADatabaseOurKey)  {Driver, 0, $(!REG_VT_SZ),$(SoftwareServiceName)}
  772. SetRegValue  $(PCMCIADatabaseOurKey)  {InfFileName, 0, $(!REG_VT_SZ),$(STF_CONTEXTINFNAME)}
  773. SetRegValue  $(PCMCIADatabaseOurKey)  {Option, 0, $(!REG_VT_SZ),$(pcmciaOptionValue) }
  774. CloseRegKey  $(PCMCIADatabaseOurKey)
  775. CloseRegKey  $(PCMCIADatabaseManuKey)
  776. CloseRegKey  $(PCMCIADatabaseKey)
  777. Endif
  778. InstallWanMiniport = +
  779. ifstr(i) $(Option) == *($(CardList),7)
  780. goto WANSuccessfulOption
  781. endif
  782. Set NtSoftwarePath  = $(!NTN_SoftwareBase)"\Microsoft\Windows NT"+
  783. "\CurrentVersion"
  784. Set NtSoftwareKey   = $(KeyNull)
  785. OpenRegKey $(!REG_H_LOCAL) "" $(NtSoftwarePath) $(MAXPERM) NtSoftwareKey
  786. ifstr $(NtSoftwareKey) != $(KeyNull)
  787. GetRegValue $(NtSoftwareKey), "CurrentVersion", Value
  788. CloseRegKey $(NtSoftwareKey)
  789. endif
  790. set NtVersion = *($(Value), 4)
  791. ifint $(NtVersion) < 4
  792. goto WANSuccessfulOption
  793. endif
  794. set WanName                    = "Wan"$(ISDNAdapterNumber)$(WanSuffix)
  795. set WanImageName               = $(WanName)
  796. read-syms GeneralConstants
  797. Set ProductKeyName = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(WanName)"\CurrentVersion"
  798. Shell $(UtilInf), AddSoftwareComponent, +
  799. $(Manufacturer), +
  800. $(WanName), +
  801. $(WanName), +
  802. $(WanName), +
  803. $(STF_CONTEXTINFNAME), +
  804. "\systemroot\system32\drivers\"$(WanImageName)".sys", +
  805. "kernelautostart", +
  806. "NDIS", +
  807. {"CAPI20"}, +
  808. "", +
  809. $(NetEventDLL)
  810. Set OEM_ABANDON_SOFTWARE = TRUE
  811. IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  812. GoTo ShellCodeError
  813. EndIf
  814. Set RegistryErrorIndex = $($R0)
  815. Set KeyProduct         = $($R1)
  816. Set SoftNetRulesKey    = $($R2)
  817. CloseRegKey $($R3)
  818. CloseRegKey $($R4)
  819. CloseRegKey $($R5)
  820. IfStr(i) $(RegistryErrorIndex) != NO_ERROR
  821. EndWait
  822. CloseRegKey $(KeyProduct)
  823. CloseRegKey $(SoftNetRulesKey)
  824. GoTo FatalRegistry
  825. EndIf
  826. Set NewValueList = {+
  827. {SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
  828. {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(MajorVersionWan)},+
  829. {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(MinorVersionWan)},+
  830. {Title,$(NoTitle),$(!REG_VT_SZ),$(SoftwareTitleWAN) },+
  831. {Description,$(NoTitle),$(!REG_VT_SZ), $(SoftwareDescriptionWAN) },+
  832. {ServiceName,$(NoTitle),$(!REG_VT_SZ),  $(WanName)},+
  833. {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)},+
  834. {ISDNcards,$(NoTitle),$(!REG_VT_DWORD), 0 )}+
  835. }
  836. Shell  $(UtilInf), AddValueList, $(KeyProduct), $(NewValueList)
  837. IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  838. GoTo ShellCodeError
  839. EndIf
  840. Set RegistryErrorIndex = $($R0)
  841. IfStr(i) $(RegistryErrorIndex) != NO_ERROR
  842. CloseRegKey $(KeyProduct)
  843. CloseRegKey $(SoftNetRulesKey)
  844. GoTo FatalRegistry
  845. EndIf
  846. Set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(WanName)"Sys "$(WanName)"Driver" } ,+
  847. {use,$(NoTitle),$(!REG_VT_SZ),"driver"}, +
  848. {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareBindFormWAN)}, +
  849. {class,$(NoTitle),$(!REG_VT_MULTI_SZ),{$(WanName)"Driver basic"} }, +
  850. {bindable,$(NoTitle),$(!REG_VT_MULTI_SZ), $(NetRuleSoftwareBindableWAN) }+
  851. {InfOption,$(NoTitle),$(!REG_VT_SZ), $(WanName)} }
  852. Shell  $(UtilInf), AddValueList, $(SoftNetRulesKey), $(NewValueList)
  853. IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  854. GoTo ShellCodeError
  855. EndIf
  856. Set RegistryErrorIndex = $($R0)
  857. CloseRegKey $(KeyProduct)
  858. CloseRegKey $(SoftNetRulesKey)
  859. IfStr(i) $(RegistryErrorIndex) != NO_ERROR
  860. GoTo FatalRegistry
  861. EndIf
  862. WANInstallAdapter = +
  863. Shell $(UtilInf), AddHardwareComponent, $(HardwareNameWAN), $(STF_CONTEXTINFNAME), $(SoftwareKeyNameWAN)
  864. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  865. goto ShellCodeError
  866. endif
  867. set RegistryError    = $($R0)
  868. set KeyNetworkCard   = $($R1)
  869. set KeyAdapterRules  = $($R2)
  870. set KeyParametersWAN = $($R3)
  871. set WANAdapterNumber = $($R4)
  872. set DeviceNameWAN    = $($R5)
  873. ifint $(WANAdapterNumber) != -1
  874. set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(NetworkCardsBase)"\"$(WANAdapterNumber))
  875. endif
  876. ifstr(i) $(RegistryError) != NO_ERROR
  877. set to = fatalregistry
  878. goto AddAdapterCleanup
  879. endif
  880. set NewValueList = {+
  881. {Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+
  882. {Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(HardwareTitleWAN)},+
  883. {Description,$(NoTitle),$(!REG_VT_SZ),$(HardwareDescriptionWAN)},+
  884. {ProductName,$(NoTitle),$(!REG_VT_SZ),$(HardwareNameWAN)},+
  885. {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
  886. {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)},+
  887. {Hidden,$(NoTitle),$(!REG_VT_DWORD),1}+
  888. }
  889. Shell  $(UtilInf), AddValueList, $(KeyNetworkCard), $(NewValueList)
  890. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  891. set to = ShellCodeError
  892. goto AddAdapterCleanupWAN
  893. endif
  894. set RegistryError = $($R0)
  895. ifstr(i) $(RegistryError) != NO_ERROR
  896. set to = fatalregistry
  897. goto AddAdapterCleanupWAN
  898. endif
  899. set TempProdName = """"$(HardwareNameWAN)$(WANAdapterNumber)""""
  900. set TempBindForm = $(TempProdName)$(NetRuleHardwareBindFormWAN)
  901. set NewValueList = {+
  902. {type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardwareTypeWAN) }, +
  903. {bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, +
  904. {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardwareClassWAN)}, +
  905. {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}+
  906. }
  907. Shell $(UtilInf), AddValueList, $(KeyAdapterRules), $(NewValueList)
  908. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  909. set to = ShellCodeError
  910. goto AddAdapterCleanupWAN
  911. endif
  912. set RegistryError = $($R0)
  913. ifstr(i) $(RegistryError) != NO_ERROR
  914. set to = fatalregistry
  915. goto AddAdapterCleanupWAN
  916. endif
  917. set TempWanName = {$(WanName),$(WANAdapterNumber)}
  918. set NewValueList = { {WanName,$(NoTitle),$(!REG_VT_MULTI_SZ),$(TempWanName)} }
  919. Shell $(UtilInf), AddValueList, $(KeyParameters), $(NewValueList)
  920. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  921. set to = ShellCodeError
  922. goto AddAdapterCleanupWAN
  923. endif
  924. set RegistryError = $($R0)
  925. ifstr(i) $(RegistryError) != NO_ERROR
  926. set to = fatalregistry
  927. goto AddAdapterCleanupWAN
  928. endif
  929. CloseRegKey $(KeyParameters)
  930. set to = WriteParametersWAN
  931. WriteParametersWAN = +
  932. OpenRegKey $(!REG_H_LOCAL) "" "HARDWARE\DEVICEMAP" $(MAXPERM) BaseKey
  933. shell "" HtCreateRegKey $(BaseKey) "TAPI DEVICES\"$(WanName)
  934. IfStr(i) $($R0) != NO_ERROR
  935. GoTo FatalRegistry
  936. EndIf
  937. Set TapiDeviceKey = $($R1)
  938. set ValueList = {}
  939. Set TapiAddressList = {}
  940. EnumRegValue $(TapiDeviceKey) ValueList
  941. ForListDo $(ValueList)
  942. set ValueItem = $($)
  943. set ValueName = *($(ValueItem),1)
  944. set ValueData = *($(ValueItem),4)
  945. ifstr(i) $(ValueName) == "Address"
  946. Set TapiAddressList = $(ValueData)
  947. endif
  948. EndForListDo
  949. set newList = {}
  950. ForListDo $(TapiAddressList)
  951. set SplitList = {}
  952. split-string $($) " " SplitList
  953. ifstr(i) $(WANAdapterNumber) != *( $(SplitList), 1)
  954. set newList = >( $(newList), $($) )
  955. endif
  956. EndForListDo
  957. Set TapiAddressList = $(newList)
  958. set newList = {}
  959. ForListDo $(TapiAddressList)
  960. set SplitList = {}
  961. split-string $($) " " SplitList
  962. ifstr(i) $(WANAdapterNumber) != *( $(SplitList), 1)
  963. set newList = >( $(newList), $($) )
  964. endif
  965. EndForListDo
  966. Set TapiAddressList = $(newList)
  967. ForListDo $(OptionList)
  968. ifcontains(i) $(Option) IN $($)
  969. set Type = *($TypeList, $(cnt))
  970. Set Channels  = *($(ChannelList), $(cnt))
  971. Set Lines     = *($(NumberOfControllersList), $(#))
  972. set ChannelsPerController = *($(ChannelsPerControllerList), $(#) )
  973. endif
  974. EndForListDo
  975. set NumberOfChannelsPerLine = $(ChannelsPerController)
  976. set NumberOfLines = $(Lines)
  977. Set TapiAddressListAdapt = {}
  978. set-sub ChannelsPerController = $(ChannelsPerController),1
  979. Set ForLineCnt = 0
  980. ForLine = +
  981. set-add ForLineCnt = $(ForLineCnt),1
  982. Set ForChanCnt = 0
  983. ForChan = +
  984. Set buf = $(WANAdapterNumber)" "$(ForLineCnt)" "$(ForChanCnt)
  985. Set TapiAddressListAdapt = >($(TapiAddressListAdapt),$(buf))
  986. Set TapiAddressList = >($(TapiAddressList),$(buf))
  987. ifint $(ForChanCnt) < $(ChannelsPerController)
  988. set-add ForChanCnt = $(ForChanCnt),1
  989. Goto ForChan
  990. endif
  991. ifint $(ForLineCnt) < $(Lines)
  992. Goto ForLine
  993. endif
  994. Set NewValueList = {+
  995. {AddressList,$(NoTitle),$(!REG_VT_MULTI_SZ),$(TapiAddressListAdapt)},+
  996. {DeviceName,$(NoTitle),$(!REG_VT_SZ), $(WanName) },+
  997. {LineType,$(NoTitle),$(!REG_VT_DWORD),$(LineType)},+
  998. {MediaType,$(NoTitle),$(!REG_VT_SZ),"ISDN" },+
  999. {AdapterId,$(NoTitle),$(!REG_VT_DWORD),$(WANAdapterNumber) },+
  1000. {AdapterName,$(NoTitle),$(!REG_VT_SZ),"CAPI20"$(CapiDevice) },+
  1001. {NumberOfChannelsPerLine,$(NoTitle),$(!REG_VT_DWORD),$(NumberOfChannelsPerLine)},+
  1002. {NumberOfLines,$(NoTitle),$(!REG_VT_DWORD),$(NumberOfLines)},+
  1003. {CMC,$(NoTitle),$(!REG_VT_SZ),$(CMCString)}+
  1004. }
  1005. Shell  $(UtilInf), AddValueList, $(KeyParametersWAN), $(NewValueList)
  1006. CloseRegKey $(KeyParametersWAN)
  1007. IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  1008. GoTo ShellCodeError
  1009. EndIf
  1010. Set RegistryErrorIndex = $($R0)
  1011. IfStr(i) $(RegistryErrorIndex) != NO_ERROR
  1012. GoTo FatalRegistry
  1013. EndIf
  1014. set to = WANWriteTAPIParameters
  1015. AddAdapterCleanupWAN = +
  1016. CloseRegKey $(KeyNetworkCard)
  1017. CloseRegKey $(KeyAdapterRules)
  1018. CloseRegKey $(KeyParametersWAN)
  1019. goto $(to)
  1020. WANWriteTAPIParameters = +
  1021. Set NewValueList = {+
  1022. {Address,$(NoTitle),$(!REG_VT_MULTI_SZ),$(TapiAddressList)},+
  1023. {"Media Type",$(NoTitle),$(!REG_VT_SZ),"ISDN" }}
  1024. Shell  $(UtilInf), AddValueList, $(TapiDeviceKey), $(NewValueList)
  1025. IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  1026. GoTo ShellCodeError
  1027. EndIf
  1028. Set RegistryErrorIndex = $($R0)
  1029. IfStr(i) $(RegistryErrorIndex) != NO_ERROR
  1030. GoTo FatalRegistry
  1031. EndIf
  1032. CloseRegKey $(TapiDeviceKey)
  1033. CloseRegKey $(BaseKey)
  1034. Set GetKeyName      = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"+
  1035. $(WanName)"\CurrentVersion"
  1036. Set GetKey          = $(KeyNull)
  1037. OpenRegKey $(!REG_H_LOCAL) "" $(GetKeyName) $(MAXPERM) GetKey
  1038. ifstr $(GetKey) != $(KeyNull)
  1039. GetRegValue $(GetKey), "ISDNcards", Value
  1040. ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
  1041. set cnt = *($(Value), 4)
  1042. set-add cnt = $(cnt),1
  1043. SetRegValue $(GetKey) {ISDNcards,$(NoTitle),$(!REG_VT_DWORD), $(cnt) }
  1044. endif
  1045. CloseRegKey $(GetKey)
  1046. endif
  1047. WANSecDynExt = +
  1048. Set ProductKeyName      = $(ServiceBase)"\"$(HlpDrvName)
  1049. Set KeyProduct          = $(KeyNull)
  1050. OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXPERM) KeyHlpDrv
  1051. IfStr $(KeyHlpDrv) != $(KeyNull)
  1052. GetRegValue $(KeyHlpDrv), "ReferenceCount", Value
  1053. set cnt = *($(Value), 4)
  1054. set-add cnt = $(cnt),1
  1055. SetRegValue $(KeyHlpDrv) {ReferenceCount,$(NoTitle),$(!REG_VT_DWORD), $(cnt) }
  1056. CloseRegKey $(KeyProduct)
  1057. goto WANSuccessfulOption
  1058. EndIf
  1059. CloseRegKey $(KeyProduct)
  1060. Shell $(UtilInf), CreateService, +
  1061. $(HlpDrvName), +
  1062. $(HlpDrvName), +
  1063. "\systemroot\system32\drivers\"$(HlpDrvName)".sys", +
  1064. "kernelautostart", +
  1065. "CAPI20", +
  1066. "", +
  1067. "", +
  1068. $(NetEventDLL)
  1069. Set OEM_ABANDON_SOFTWARE = TRUE
  1070. IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  1071. GoTo ShellCodeError
  1072. EndIf
  1073. Set RegistryErrorIndex = $($R0)
  1074. Set KeyProduct         = $($R1)
  1075. Set SoftNetRulesKey    = $($R2)
  1076. CloseRegKey $($R3)
  1077. CloseRegKey $($R4)
  1078. CloseRegKey $($R5)
  1079. SetRegValue $(KeyProduct) {ReferenceCount,$(NoTitle),$(!REG_VT_DWORD), 1 }
  1080. IfStr(i) $(RegistryErrorIndex) != NO_ERROR
  1081. EndWait
  1082. CloseRegKey $(KeyProduct)
  1083. CloseRegKey $(SoftNetRulesKey)
  1084. GoTo FatalRegistry
  1085. EndIf
  1086. CloseRegKey $(KeyProduct)
  1087. CloseRegKey $(SoftNetRulesKey)
  1088. WANSuccessfulOption = +
  1089. ifstr(i) $(DoCopy) == YES
  1090. Shell $(UtilInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES
  1091. set SrcDir = $($R1)
  1092. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1093. goto ShellCodeError
  1094. else-ifstr(i) $($R0) == STATUS_FAILED
  1095. Shell $(UtilInf) RegistryErrorString "ASK_SOURCE_FAIL"
  1096. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1097. goto ShellCodeError
  1098. endif
  1099. set Error = $($R0)
  1100. goto fatal
  1101. else-ifstr(i) $($R0) == STATUS_USERCANCEL
  1102. goto end
  1103. endif
  1104. endif
  1105. install "Install-Install-Diskette1"
  1106. ifstr $(CardFlag) == 1
  1107. ifstr(i) $(Option) != *($(CardList), 1)
  1108. goto skipdiskdlg
  1109. endif 
  1110. ifstr(i) $(Option) != *($(CardList), 2)
  1111. goto skipdiskdlg
  1112. endif 
  1113. ifstr(i) $(Option) != *($(CardList), 3)
  1114. goto skipdiskdlg
  1115. endif 
  1116. ifstr(i) $(Option) != *($(CardList), 5)
  1117. goto skipdiskdlg
  1118. endif
  1119. set DlgType = "MessageBox"
  1120. set STF_MB_TITLE = $(FirmDir)" Driver Installation"
  1121. set STF_MB_TYPE = 1
  1122. set STF_MB_ICON = 5
  1123. set STF_MB_DEF = 1
  1124. set STF_MB_TEXT = "Insert Disk for "$(CardTitle)
  1125. ui start "CustomMessageBox"
  1126. skipdiskdlg = +
  1127. install "Install-Install-Diskette2"
  1128. ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  1129. Shell $(UtilInf) RegistryErrorString "UNABLE_COPY_FILE"
  1130. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1131. goto ShellCodeError
  1132. endif
  1133. set Error = $($R0)
  1134. goto fatal
  1135. endif
  1136. endif
  1137. ifint $(NtVersion) < 4
  1138. LibraryProcedure Status, $(!LIBHANDLE), DelFile, $(!STF_CWDDIR)"drivers\.sys"
  1139. endif
  1140. ifint $(NtVersion) < 4
  1141. set OldDoConfig = $(DoConfig)
  1142. set DoConfig = YES
  1143. endif
  1144. ifstr(i) $(DoConfig) == YES
  1145. set to = WANSuccessfulOptionCont
  1146. goto LaunchIConfExe 
  1147. endif
  1148. WANSuccessfulOptionCont = +
  1149. ifint $(NtVersion) < 4
  1150. set DoConfig = $(OldDoConfig)
  1151. endif
  1152. Shell "" UpdateControllerList ADD, $(DeviceName)
  1153. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1154. goto ShellCodeError
  1155. endif
  1156. set RegistryError = $($R0)
  1157. ifstr(i) $(RegistryError) != NO_ERROR
  1158. goto fatalregistry
  1159. endif
  1160. ifstr(i) $(Option) == *($(CardList),7)
  1161. goto RASend
  1162. endif
  1163. ifint $(NtVersion) < 4
  1164. goto RASend
  1165. endif
  1166. Read-Syms InvokeRasDlg$(!STF_LANGUAGE)
  1167. Shell "oemnsvra.inf" CheckRasInstalled
  1168. IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  1169. Shell "subroutn.inf" SetupMessage, $(!STF_LANGUAGE),  +
  1170. "STATUS", $(InvokeRasError)
  1171. IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  1172. GoTo ShellCodeError
  1173. EndIf
  1174. GoTo RASend
  1175. EndIf
  1176. Set RasInstalled = $($R0)
  1177. IfStr(i) $(RasInstalled) == FALSE
  1178. Shell "subroutn.inf" SetupMessage, $(!STF_LANGUAGE), "STATUS", +
  1179. $(InvokeRasSetupMsg)
  1180. IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  1181. GoTo RASend
  1182. EndIf
  1183. Else
  1184. Shell "subroutn.inf" SetupMessage, $(!STF_LANGUAGE), "STATUS", +
  1185. $(InvokeRasConfigMsg)
  1186. IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  1187. GoTo RASend
  1188. EndIf
  1189. EndIf
  1190. EndWait
  1191. GoTo RASend
  1192. IfStr(i) $(!STF_IDW) == TRUE
  1193. Set AddCopy  = NO
  1194. Set DoCopy   = NO
  1195. Set DoConfig = NO
  1196. Else
  1197. Set AddCopy  = YES
  1198. Set DoCopy   = YES
  1199. Set DoConfig = YES
  1200. EndIf
  1201. IfStr(i) $(RasInstalled) == TRUE
  1202. Set SaveNTN_InstallMode = $(!NTN_InstallMode)
  1203. Set !NTN_InstallMode = configure
  1204. EndIf
  1205. Shell "oemnsvra.inf" InstallOption $(!STF_LANGUAGE) "RAS" $(RasDir) $(AddCopy) $(DoCopy) $(DoConfig)
  1206. IfStr(i) $(RasInstalled) == TRUE
  1207. Set !NTN_InstallMode = $(SaveNTN_InstallMode)
  1208. EndIf
  1209. IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  1210. Shell "subroutn.inf" SetupMessage, $(!STF_LANGUAGE), "STATUS",  +
  1211. $(InvokeRasError)
  1212. IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  1213. GoTo ShellCodeError
  1214. EndIf
  1215. GoTo RASend
  1216. EndIf
  1217. EndWait
  1218. RASEnd = +
  1219. goto end
  1220. AddAdapterCleanup = +
  1221. CloseRegKey $(KeyNetworkCard)
  1222. CloseRegKey $(KeyAdapterRules)
  1223. goto $(to)
  1224. ConfigureRequest = +
  1225. ifstr(i) $(Option) == *($(CardList), 10)
  1226. set Pcmcia    = 1
  1227. set MediaType = 1
  1228. set IoLength  = 8
  1229. endif
  1230. OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXPERM) KeyNetcard
  1231. ifstr $(KeyNetcard) == $(KeyNull)
  1232. set RegistryError = CANNOT_FIND_COMPONENT_SERVICE
  1233. goto fatalregistry
  1234. endif
  1235. Shell $(UtilInf) FindService, $(KeyNetcard)
  1236. set RegistryError = $($R0)
  1237. set KeyParameters = $($R2)
  1238. CloseRegKey $($R1)
  1239. CloseRegKey $(KeyNetcard)
  1240. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1241. goto ShellCodeError
  1242. endif
  1243. ifstr(i) $(RegistryError) != NO_ERROR
  1244. goto fatalregistry
  1245. endif
  1246. ifstr $(KeyParameters) == $(KeyNull)
  1247. set RegistryError = CANNOT_FIND_COMPONENT_SERVICE
  1248. goto fatalregistry
  1249. endif
  1250. set ValueList = {}
  1251. EnumRegValue $(KeyParameters) ValueList
  1252. ForListDo $(ValueList)
  1253. set ValueItem = $($)
  1254. set ValueName = *($(ValueItem),1)
  1255. set ValueData = *($(ValueItem),4)
  1256. ifstr(i) $(ValueName) == "BusType"
  1257. set BusType = $(ValueData)
  1258. else-ifstr(i) $(ValueName) == "BusNumber"
  1259. set BusNumber = $(ValueData)
  1260. else-ifstr(i) $(ValueName) == "InterruptNumber"
  1261. set IRQ_Value = $(ValueData)
  1262. else-ifstr(i) $(ValueName) == "IoBaseAddress"
  1263. set IOBASE_Value = $(ValueData)
  1264. else-ifstr(i) $(ValueName) == "CardOrdinal"
  1265. set ORDINAL_Value = $(ValueData)
  1266. else-ifstr(i) $(ValueName) == "Channels"
  1267. set Channels = $(ValueData)
  1268. else-ifstr(i) $(ValueName) == "CardType"
  1269. set CardType = $(ValueData)
  1270. else-ifstr(i) $(ValueName) == "CardRevision"
  1271. set CardRevision = $(ValueData)
  1272. else-ifstr(i) $(ValueName) == "AdapterNumber"
  1273. set ISDNAdapterNumber = $(ValueData)
  1274. else-ifstr(i) $(ValueName) == "CapiDevice"
  1275. set CapiDevice = $(ValueData)
  1276. else-ifstr(i) $(ValueName) == "BootFile"
  1277. set BootFilePath = $(ValueData)
  1278. else-ifstr(i) $(ValueName) == "BinFile"
  1279. set BinFilePath = $(ValueData)
  1280. endif
  1281. EndForListDo
  1282. set DeviceName = $(Packet)$(ISDNAdapterNumber)
  1283. Shell "", GetBusTypeName, $(BusType)
  1284. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1285. goto ShellCodeError
  1286. endif
  1287. set BusName = $($R0)
  1288. ifstr $(BusName) == MCA
  1289. Shell "", GetMcaSlotInfo
  1290. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1291. goto ShellCodeError
  1292. endif
  1293. ifstr $($R0) != "NO_ERROR"
  1294. ifstr $($R0) == ""
  1295. set Error = $(CantFindCard)
  1296. else
  1297. set Error = $(McaConfigError)
  1298. endif
  1299. goto nonfatal
  1300. endif
  1301. set KnownMcaSlots = $($R1)
  1302. set AddedMcaSlots = $($R2)
  1303. ifstr $(KnownMcaSlots) == {}
  1304. set Error = $(CantFindOldCard)
  1305. goto nonfatal
  1306. endif
  1307. endif
  1308. set to = CRCAReturn
  1309. goto  ConfigureAdapter
  1310. CRCAReturn = +
  1311. set to = end
  1312. goto LaunchIConfExe
  1313. goto end
  1314. ConfigureAdapter = +
  1315. set from = ConfigureAdapter
  1316. ifstr $(BusName) == MCA
  1317. ifstr(i) $(!NTN_InstallMode) == configure
  1318. ifcontains(i) $(ORDINAL_Value) NOT-IN $(KnownMcaSlots)
  1319. set Error = $(CantFindOldCard)
  1320. goto nonfatal
  1321. endif
  1322. set ORDINAL_List = {$(ORDINAL_Value)}
  1323. else
  1324. set ORDINAL_List = $(AddedMcaSlots)
  1325. set ORDINAL_Value = *($(AddedMcaSlots), 1)
  1326. endif
  1327. endif
  1328. set NewValueList = {+
  1329. {AdapterNumber,$(NoTitle),$(!REG_VT_DWORD),$(ISDNAdapterNumber)},+
  1330. {BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNumber)},+
  1331. {BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusType)},+
  1332. {InterruptNumber,$(NoTitle),$(!REG_VT_DWORD),$(IRQ_Value)},+
  1333. {IoBaseAddress,$(NoTitle),$(!REG_VT_DWORD),$(IOBASE_Value)},+
  1334. {CardOrdinal,$(NoTitle),$(!REG_VT_DWORD),$(ORDINAL_Value)},+
  1335. {CardType,$(NoTitle),$(!REG_VT_DWORD),$(CardType)},+
  1336. {CardRevision,$(NoTitle),$(!REG_VT_DWORD),$(CardRevision)},+
  1337. {Channels,$(NoTitle),$(!REG_VT_DWORD),$(Channels)},+
  1338. {CapiDevice,$(NoTitle),$(!REG_VT_DWORD),$(CapiDevice)},+
  1339. {CardName,$(NoTitle),$(!REG_VT_SZ),$(CardTitle)},+
  1340. }
  1341. ifstr $(BusName) != ISA
  1342. set NewValueList = >($(NewValueList),{SlotNumber,$(NoTitle),$(!REG_VT_DWORD),$(ORDINAL_Value)} )
  1343. endif
  1344. ifstr $(BusName) == MCA
  1345. set NewValueList = >($(NewValueList),{McaPosId,$(NoTitle),$(!REG_VT_DWORD),$(MCA_POS_ID)} )
  1346. endif
  1347. ifstr $(CardFlag) == 1
  1348. set NewValueList = >($(NewValueList),{BootFile,$(NoTitle),$(!REG_VT_SZ),$(BootFilePath)} )
  1349. set NewValueList = >($(NewValueList),{BinFile,$(NoTitle),$(!REG_VT_SZ),$(BinFilePath)}   )
  1350. endif
  1351. ifstr(i) $(Option) ==  *($(CardList), 10)
  1352. set Pcmcia = 1
  1353. set MediaType = 1
  1354. set IoLength = 8
  1355. set NewValueList = >($(NewValueList),{Pcmcia,$(NoTitle),$(!REG_VT_DWORD),$(Pcmcia)} )
  1356. set NewValueList = >($(NewValueList),{MediaType,$(NoTitle),$(!REG_VT_DWORD),$(MediaType)} )
  1357. set NewValueList = >($(NewValueList),{IoLength,$(NoTitle),$(!REG_VT_DWORD),$(IoLength)} )
  1358. endif
  1359. Shell  $(UtilInf), AddValueList, $(KeyParameters), $(NewValueList)
  1360. set RegistryError = $($R0)
  1361. set CAErr = ""
  1362. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1363. goto ShellCodeError
  1364. endif
  1365. ifstr(i) $(RegistryError) != NO_ERROR
  1366. goto fatalregistry
  1367. endif
  1368. goto $(to)
  1369. LaunchIConfExe = +
  1370. RunProgram InstallReturnValue "" "" $(FirmDir)\$(FirmUiExe) $(DeviceName)
  1371. ifint $(InstallReturnValue) == 1       ;IDOK
  1372. set CommonStatus = STATUS_SUCCESSFUL
  1373. else-ifint $(InstallReturnValue) == 2        ; IDCANCEL
  1374. set CommonStatus = STATUS_USERCANCEL
  1375. endif
  1376. goto $(to)
  1377. BindRequest = +
  1378. set Error = $(CantChangeBinding)
  1379. goto fatal
  1380. RemoveRequest = +
  1381. set RefCount       = ""
  1382. set GenericInfFile = ""
  1383. set KeySoftware   = $(KeyNull)
  1384. OpenRegKey $(!REG_H_LOCAL) "" $(SoftwareKeyName) $(MAXPERM) KeySoftware
  1385. ifstr $(KeySoftware) != $(KeyNull)
  1386. GetRegValue $(KeySoftware), "RefCount", Value
  1387. ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
  1388. set RefCount = *($(Value), 4)
  1389. endif
  1390. Shell $(UtilInf), GetInfFileNameFromRegistry, $(KeySoftware)
  1391. ifint $($ShellCode) == $(!SHELL_CODE_OK)
  1392. set GenericInfFile = $($R0)
  1393. endif
  1394. CloseRegKey $(KeySoftware)
  1395. endif
  1396. set-sub RefCount = $(RefCount),1
  1397. ifstr(i) $(!NTN_RegBase) == $(SoftwareKeyName)
  1398. Shell $(UtilInf), RemoveSoftwareComponent, $(Manufacturer), $(SoftwareName)
  1399. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1400. goto ShellCodeError
  1401. endif
  1402. set RegistryError = $($R0)
  1403. ifstr(i) $(RegistryError) != NO_ERROR
  1404. goto fatalregistry
  1405. endif
  1406. goto removefiles
  1407. endif
  1408. set KeyNetCard = $(KeyNull)
  1409. OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXPERM) KeyNetcard
  1410. ifstr $(KeyNetcard) == $(KeyNull)
  1411. set RegistryError = CANNOT_FIND_COMPONENT_SERVICE
  1412. goto fatalregistry
  1413. endif
  1414. set CapiDevice    = -1
  1415. set ISDNAdapterNumber = -1
  1416. Shell $(UtilInf) FindService, $(KeyNetcard)
  1417. CloseRegKey $(KeyNetcard)
  1418. ifint $($ShellCode) == $(!SHELL_CODE_OK)
  1419. set RegistryError = $($R0)
  1420. CloseRegKey $($R1)
  1421. set KeyParameters = $($R2)
  1422. ifstr(i) $(RegistryError) == NO_ERROR
  1423. ifstr $(KeyParameters) != $(KeyNull)
  1424. GetRegValue $(KeyParameters), "CapiDevice", Value
  1425. ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
  1426. set CapiDevice = *($(Value), 4)
  1427. endif
  1428. GetRegValue $(KeyParameters), "AdapterNumber", Value
  1429. ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
  1430. set ISDNAdapterNumber = *($(Value), 4)
  1431. endif
  1432. GetRegValue $(KeyParameters), "WanName", Value
  1433. ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
  1434. set WANInstanceList = *($(Value), 4)
  1435. endif
  1436. CloseRegKey $(KeyParameters)
  1437. endif
  1438. endif
  1439. endif
  1440. ifint $(CapiDevice) > 0
  1441. Shell "" RemoveCapiDevice $(CapiDevice)
  1442. else
  1443. Shell $(SubrInf) SetupMessage, $(!STF_LANGUAGE), "STATUS", $(CantRemoveCapiDevice)
  1444. endif
  1445. ifint $(ISDNAdapterNumber) > 0
  1446. Shell "" UpdateControllerList DEL, $(Packet)$(ISDNAdapterNumber)
  1447. else
  1448. Shell $(SubrInf) SetupMessage, $(!STF_LANGUAGE), "STATUS", $(CantRemoveDevice)
  1449. endif
  1450. removeWANMiniport = +
  1451. set WanMiniportInst = "SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\"*($(WANInstanceList),2)
  1452. set WanName = *($(WANInstanceList),1)
  1453. set WanImageName = $(WanName)
  1454. ifstr(i) $(WanName) == ""
  1455. goto removeservice
  1456. endif
  1457. read-syms GeneralConstants
  1458. Shell $(UtilInf), RemoveHardwareComponent, $(Manufacturer), $(HardwareNameWAN), $(WanMiniportInst)
  1459. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1460. goto ShellCodeError
  1461. endif
  1462. set RegistryError = $($R0)
  1463. ifstr(i) $(RegistryError) != NO_ERROR
  1464. goto fatalregistry
  1465. endif
  1466. removeservice = +
  1467. Shell $(UtilInf), RemoveHardwareComponent, $(Manufacturer), $(HardwareName), $(!NTN_RegBase)
  1468. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1469. goto ShellCodeError
  1470. endif
  1471. set RegistryError = $($R0)
  1472. ifstr(i) $(RegistryError) != NO_ERROR
  1473. goto fatalregistry
  1474. endif
  1475. removetapidev = +
  1476. ifstr(i) $(WanName) == ""
  1477. goto removefiles
  1478. endif
  1479. set TapiDeviceKey = $(KeyNull)
  1480. OpenRegKey $(!REG_H_LOCAL) "" "HARDWARE\DEVICEMAP\TAPI DEVICES\"$(WanName) $(MAXPERM) TapiDeviceKey
  1481. ifstr $(TapiDeviceKey) == $(KeyNull)
  1482. goto removeFiles
  1483. endif
  1484. set Value = {}
  1485. Set TapiAddressList = {}
  1486. GetRegValue $(TapiDeviceKey) "Address" Value
  1487. Set TapiAddressList =  *($(Value),4)
  1488. set newList = {}
  1489. ForListDo $(TapiAddressList)
  1490. set SplitList = {}
  1491. split-string $($) " " SplitList
  1492. ifstr(i) $(WANAdapterNumber) != *( $(SplitList), 1)
  1493. set newList = >( $(newList), $($) )
  1494. endif
  1495. EndForListDo
  1496. Set TapiAddressList = $(newList)
  1497. SetRegValue $(TapiDeviceKey) +
  1498. {Address, $(NoTitle), $(!REG_VT_MULTI_SZ), $(TapiAddressList) }
  1499. CloseRegKey $(TapiDeviceKey)
  1500. removeWAN = +
  1501. Set GetKeyName      = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(WanName)"\CurrentVersion"
  1502. Set GetKey          = $(KeyNull)
  1503. OpenRegKey $(!REG_H_LOCAL) "" $(GetKeyName) $(MAXPERM) GetKey
  1504. ifstr $(GetKey) != $(KeyNull)
  1505. GetRegValue $(GetKey), "ISDNcards", Value
  1506. ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
  1507. set cnt = *($(Value), 4)
  1508. set-sub cnt = $(cnt),1
  1509. SetRegValue $(GetKey) {ISDNcards,$(NoTitle),$(!REG_VT_DWORD), $(cnt) }
  1510. endif
  1511. CloseRegKey $(GetKey)
  1512. endif
  1513. OpenRegKey $(!REG_H_LOCAL) "" "HARDWARE\DEVICEMAP\TAPI DEVICES" $(MAXPERM) TapiDeviceKey
  1514. ifstr $(TapiDeviceKey) != $(KeyNull)
  1515. DeleteRegTree $(TapiDeviceKey) $(WanName)
  1516. endif
  1517. Shell $(UtilInf), RemoveService, $(WanName), "NO", FALSE
  1518. Shell $(UtilInf), RemoveSoftwareComponent, $(Manufacturer), $(WanName), FALSE
  1519. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1520. goto RemoveWanHlpDriver
  1521. endif
  1522. set RegistryError = $($R0)
  1523. ifstr(i) $(RegistryError) != NO_ERROR
  1524. goto RemoveWanHlpDriver
  1525. endif
  1526. RemoveWanHlpDriver = +
  1527. Set ProductKeyName      = $(ServiceBase)"\"$(HlpDrvName)
  1528. Set KeyProduct          = $(KeyNull)
  1529. Set HlpDrvRemoved       = 0
  1530. OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXPERM) KeyHlpDrv
  1531. IfStr $(KeyHlpDrv) != $(KeyNull)
  1532. GetRegValue $(KeyHlpDrv), "ReferenceCount", Value
  1533. set cnt = *($(Value), 4)
  1534. set-sub cnt = $(cnt),1
  1535. SetRegValue $(KeyHlpDrv) {ReferenceCount,$(NoTitle),$(!REG_VT_DWORD), $(cnt) }
  1536. CloseRegKey $(KeyHlpDrv)
  1537. ifStr $(cnt) == 0
  1538. Shell $(UtilInf), RemoveService, $(HlpDrvName), "NO", FALSE
  1539. Set HlpDrvRemoved = 1
  1540. else
  1541. Set HlpDrvRemoved = 0
  1542. EndIf
  1543. else
  1544. EndIf
  1545. CloseRegKey $(KeyHlpDrv)
  1546. goto removefiles
  1547. removefiles = +
  1548. read-syms FilesToRemove
  1549. Set ToRemoveNow = $(RemoveNow$(CardFlag))
  1550. ifStr $(RefCount) == 0
  1551. ForListDo $(RemoveNowCommon$(CardFlag))
  1552. set ToRemoveNow = >($(ToRemoveNow),  $($))
  1553. EndForListDo
  1554. ifstr(i) $(WanName) == ""
  1555. set HlpDrvRemoved = 1
  1556. endif
  1557. endif
  1558. ifStr $(HlpDrvRemoved) == 1
  1559. ForListDo $(RemoveNowCommon)
  1560. set ToRemoveNow = >($(ToRemoveNow),  $($))
  1561. EndForListDo
  1562. endif
  1563. ForListDo $(ToRemoveNow)
  1564. LibraryProcedure Status, $(!LIBHANDLE), DelFile, $(!STF_CWDDIR)$($)
  1565. EndForListDo
  1566. Set ToRemoveAtReboot = $(RemoveAtReboot$(CardFlag))
  1567. ifStr $(RefCount) == 0
  1568. ForListDo $(RemoveAtRebootCommon$(CardFlag))
  1569. set ToRemoveAtReboot = >($(ToRemoveAtReboot),  $($))
  1570. EndForListDo
  1571. endif
  1572. ifStr $(HlpDrvRemoved) == 1
  1573. ForListDo $(RemoveAtRebootCommon) 
  1574. set ToRemoveAtReboot = >($(ToRemoveAtReboot), $($))
  1575. EndForListDo
  1576. endif
  1577. ForListDo $(ToRemoveAtReboot)
  1578. set NameOld = $(!STF_CWDDIR)*($($),1)
  1579. set Name = $(!STF_CWDDIR)*($($),2)
  1580. ifstr(i) *($($),1) != "drivers\.sys"
  1581. LibraryProcedure Status, $(!LIBHANDLE), RenFile, $(NameOld), $(Name)
  1582. LibraryProcedure Status, $(!LIBHANDLE), DelFile, $(NameOld)
  1583. AddFileToDeleteList $(Name)
  1584. endif
  1585. EndForListDo
  1586. goto end
  1587. UpgradeRequest = +
  1588. OpenRegKey $(!REG_H_LOCAL) "" $(SoftwareKeyName) $(MAXPERM) KeySoftware
  1589. ifstr $(KeySoftware) == $(KeyNull)
  1590. goto updmsgbox
  1591. endif
  1592. OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXPERM) KeyNetcard
  1593. ifstr $(KeyNetcard) == $(KeyNull)
  1594. set RegistryError = CANNOT_FIND_COMPONENT_SERVICE
  1595. goto updmsgbox
  1596. endif
  1597. Shell $(UtilInf) FindService, $(KeyNetcard)
  1598. set RegistryError = $($R0)
  1599. set KeyParameters = $($R2)
  1600. CloseRegKey $($R1)
  1601. CloseRegKey $(KeyNetcard)
  1602. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1603. goto ShellCodeError
  1604. endif
  1605. ifstr(i) $(RegistryError) != NO_ERROR
  1606. goto fatalregistry
  1607. endif
  1608. ifstr $(KeyParameters) == $(KeyNull)
  1609. set RegistryError = CANNOT_FIND_COMPONENT_SERVICE
  1610. goto fatalregistry
  1611. endif
  1612. GetRegValue $(KeyParameters), "WanName", ParamWanName
  1613. ifstr(i) $(ParamWanName) == ""
  1614. updmsgbox = +
  1615. set DlgType = "MessageBox"
  1616. set STF_MB_TITLE = $(FirmDir)" Driver Update"
  1617. set STF_MB_TYPE = 1
  1618. set STF_MB_ICON = 5
  1619. set STF_MB_DEF = 1
  1620. set STF_MB_TEXT = $(UpdateText)
  1621. ui start "CustomMessageBox"
  1622. set CommonStatus = STATUS_USERCANCEL
  1623. CloseRegKey $(KeyParameters)
  1624. goto end
  1625. endif
  1626. CloseRegKey $(KeyParameters)
  1627. GetRegValue $(KeySoftware),"MajorVersion", VersionInfo
  1628. set CurrentMajor = *($(VersionInfo), 4)
  1629. GetRegValue $(KeySoftware),"MinorVersion", VersionInfo
  1630. set CurrentMinor = *($(VersionInfo), 4)
  1631. set CommonStatus = STATUS_USERCANCEL
  1632. set Error = $(AskForUpdateOld)$(CurrentMajor)"."$(CurrentMinor)$(AskForUpdateNew)$(MajorVersion)"."$(MinorVersion)$(AskForUpdateEnd)
  1633. set to = UpgradeFiles
  1634. set from = end
  1635. goto warning
  1636. UpgradeFiles = +
  1637. Shell $(UtilInf), GetInfFileNameFromRegistry, $(KeySoftware)
  1638. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1639. goto ShellCodeError
  1640. endif
  1641. ifstr $($R0) == ""
  1642. set Error = $(CantSeeInfFile)
  1643. goto fatal
  1644. endif
  1645. set !UG_FILENAME = $($R0)
  1646. install "Install-Update-Diskette1"
  1647. ifstr $(CardFlag) == 1
  1648. ifstr(i) $(Option) != *($(CardList), 1)
  1649. goto updskipdiskdlg
  1650. endif 
  1651. ifstr(i) $(Option) != *($(CardList), 2)
  1652. goto updskipdiskdlg
  1653. endif 
  1654. ifstr(i) $(Option) != *($(CardList), 3)
  1655. goto updskipdiskdlg
  1656. endif 
  1657. ifstr(i) $(Option) != *($(CardList), 5)
  1658. goto updskipdiskdlg
  1659. endif
  1660. set DlgType = "MessageBox"
  1661. set STF_MB_TITLE = $(FirmText)" Driver Update"
  1662. set STF_MB_TYPE = 1
  1663. set STF_MB_ICON = 5
  1664. set STF_MB_DEF = 1
  1665. set STF_MB_TEXT = "Insert Disk for "$(CardTitle)
  1666. ui start "CustomMessageBox"
  1667. updskipdiskdlg = +
  1668. install "Install-Update-Diskette2"
  1669. ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  1670. goto fatal
  1671. endif
  1672. endif
  1673. SetRegValue $(KeySoftware) +
  1674. {MajorVersion, $(NoTitle), $(!REG_VT_SZ), $(MajorVersion)}
  1675. SetRegValue $(KeySoftware) +
  1676. {MinorVersion, $(NoTitle), $(!REG_VT_SZ), $(MinorVersion)}
  1677. CloseRegKey $(KeySoftware)
  1678. set CommonStatus = STATUS_SUCCESSFUL
  1679. goto end
  1680. abandon = +
  1681. ifint $(NewCapiDevice) > 0
  1682. Shell "" RemoveCapiDevice $(NewCapiDevice)
  1683. endif
  1684. ForListDo $(OEM_ABANDON_OPTIONS)
  1685. Shell $(UtilInf), RemoveHardwareComponent, $(Manufacturer), $(SoftwareName), $($)
  1686. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1687. goto ShellCodeError
  1688. endif
  1689. set RegistryError = $($R0)
  1690. ifstr(i) $(RegistryError) != NO_ERROR
  1691. goto fatalregistry
  1692. endif
  1693. EndForListDo
  1694. ifstr(i) $(OEM_ABANDON_SOFTWARE) == TRUE
  1695. Shell $(UtilInf), RemoveSoftwareComponent, $(Manufacturer), $(SoftwareName), FALSE
  1696. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1697. goto ShellCodeError
  1698. endif
  1699. set RegistryError = $($R0)
  1700. ifstr(i) $(RegistryError) != NO_ERROR
  1701. goto fatalregistry
  1702. endif
  1703. endif
  1704. goto end
  1705. warning = +
  1706. Shell $(SubrInf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
  1707. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1708. goto ShellCodeError
  1709. endif
  1710. ifstr(i) $($R1) == "OK"
  1711. goto $(to)
  1712. else-ifstr(i) $($R1) == "CANCEL"
  1713. goto $(from)
  1714. else
  1715. goto end
  1716. endif
  1717. nonfatal = +
  1718. set Severity = STATUS
  1719. set CommonStatus = STATUS_USERCANCEL
  1720. ifstr(i) $(Error) == ""
  1721. set Severity = NONFATAL
  1722. Shell $(UtilInf) RegistryErrorString "SETUP_FAIL"
  1723. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1724. goto ShellCodeError
  1725. endif
  1726. set Error = $($R0)
  1727. endif
  1728. Shell $(SubrInf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
  1729. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1730. goto ShellCodeError
  1731. endif
  1732. goto end
  1733. fatalregistry = +
  1734. EndWait
  1735. Shell $(UtilInf) RegistryErrorString $(RegistryError)
  1736. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1737. goto ShellCodeError
  1738. endif
  1739. set Error = $($R0)
  1740. goto fatal
  1741. fatal = +
  1742. ifstr(i) $(Error) == ""
  1743. Shell $(UtilInf) RegistryErrorString "SETUP_FAIL"
  1744. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1745. goto ShellCodeError
  1746. endif
  1747. set Error = $($R0)
  1748. endif
  1749. Shell $(SubrInf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
  1750. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1751. goto ShellCodeError
  1752. endif
  1753. goto setfailed
  1754. ShellCodeError = +
  1755. set DlgType      = "MessageBox"
  1756. set STF_MB_TITLE = $(ShellCodeErrorTitle)
  1757. set STF_MB_TEXT  = $(ShellCodeErrorText)
  1758. set STF_MB_TYPE  = 1
  1759. set STF_MB_ICON  = 3
  1760. set STF_MB_DEF   = 1
  1761. ui start "Error Message"
  1762. setfailed = +
  1763. set CommonStatus = STATUS_FAILED
  1764. ifstr(i) $(OEM_ABANDON_ON) == TRUE
  1765. set OEM_ABANDON_ON = FALSE
  1766. goto abandon
  1767. endif
  1768. end = +
  1769. Set !DebugOutputControl = $(OldDebugControl)
  1770. EndWait
  1771. return $(CommonStatus)
  1772. [GetBusTypeName]
  1773. set BusType = $($0)
  1774. set BusName = ISA
  1775. ifint $(BusType) == 0
  1776. return         "Jazz-Internal Bus"
  1777. endif
  1778. ifint $(BusType) == 1
  1779. return         "ISA"
  1780. endif
  1781. ifint $(BusType) == 2
  1782. return         "EISA"
  1783. endif
  1784. ifint $(BusType) == 3
  1785. return         "MCA"
  1786. endif
  1787. ifint $(BusType) == 4
  1788. return         "TCChannel"
  1789. endif
  1790. ifint $(BusType) == 5
  1791. return         "PCI"
  1792. endif
  1793. return "ISA"
  1794. exit
  1795. [GetMcaSlotInfo]
  1796. read-syms GeneralConstants
  1797. Shell $(UtilInf), MCAFindBus,$(MCA_POS_ID_LOWBYTE), $(MCA_POS_ID_HIGHBYTE)
  1798. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1799. return ERROR, {}, {}
  1800. endif
  1801. ifstr $($R0) != "NO_ERROR"
  1802. return ERROR, {}, {}
  1803. endif
  1804. set AdapterList = $($R1)
  1805. ifstr(i) $(AdapterList) == {}
  1806. return "", {}, {}
  1807. endif
  1808. set KnownMcaSlots = {}
  1809. set AddedMcaSlots = {}
  1810. ForListDo $(AdapterList)
  1811. set BusNum = *($($),1)
  1812. set SlotNum = *($($),2)
  1813. Shell $(UtilInf), IsNetCardAlreadyInstalled, $(BusNum),$(SlotNum), $(HardwareDescription), $(HardwareName)
  1814. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1815. return ERROR, {}, {}
  1816. endif
  1817. ifstr $($R0) != "NO_ERROR"
  1818. return ERROR, {}, {}
  1819. endif
  1820. ifstr(i) $($R1) == "YES"
  1821. set KnownMcaSlots = >($(KnownMcaSlots), $(SlotNum))
  1822. else
  1823. set AddedMcaSlots = >($(AddedMcaSlots), $(SlotNum))
  1824. endif
  1825. EndForListDo
  1826. return NO_ERROR $(KnownMcaSlots), $(AddedMcaSlots)
  1827. exit
  1828. [UpdateGroupOrderList]
  1829. read-syms GeneralConstants
  1830. set KeyServiceGroupOrder = $(KeyNull)
  1831. OpenRegKey $(!REG_H_LOCAL), "", $(ServiceGroupOrder), $(MAXPERM), KeyServiceGroupOrder
  1832. ifstr $(KeyServiceGroupOrder) == $(KeyNull)
  1833. return STATUS_FAILED, 0
  1834. endif
  1835. set Value = {}
  1836. GetRegValue $(KeyServiceGroupOrder) "List" Value
  1837. ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  1838. CloseRegKey $(KeyServiceGroupOrder)
  1839. return STATUS_FAILED, 0
  1840. endif
  1841. set Value = *($(Value), 4)
  1842. set CapiFound     = 0
  1843. set NdisFound     = 0
  1844. set ChangeOrderList = 0
  1845. set NewOrderList  = {}
  1846. ForListDo $(Value)
  1847. set Value = $($)
  1848. ifstr(i) $(Value) == "CAPI20"
  1849. set CapiFound = 1
  1850. else-ifstr(i) $(Value) == "NDIS"
  1851. set NdisFound = 1
  1852. ifint $(CapiFound) == 0
  1853. set ChangeOrderList = 1
  1854. set NewOrderList = >($(NewOrderList),"CAPI20")
  1855. endif
  1856. endif
  1857. set NewOrderList = >($(NewOrderList),$(Value))
  1858. EndForListDo
  1859. ifint $(NdisFound) == 0
  1860. CloseRegKey $(KeyServiceGroupOrder)
  1861. return STATUS_FAILED, 1
  1862. endif
  1863. ifint $(ChangeOrderList) == 1
  1864. SetRegValue $(KeyServiceGroupOrder) +
  1865. {List, $(NoTitle), $(!REG_VT_MULTI_SZ), $(NewOrderList)}
  1866. ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  1867. CloseRegKey $(KeyServiceGroupOrder)
  1868. return STATUS_FAILED, 2
  1869. endif
  1870. endif
  1871. CloseRegKey $(KeyServiceGroupOrder)
  1872. return STATUS_SUCCESSFUL, 1
  1873. exit
  1874. [CheckCapiDevices]
  1875. set MyDeviceName = $($0)
  1876. read-syms GeneralConstants
  1877. set ConfigErrors     = 0
  1878. set DeviceNumber     = 1
  1879. set KeyCapi20 = $(KeyNull)
  1880. OpenRegKey  $(!REG_H_LOCAL) "" $(CapiDevicesPath) $(MAXPERM) KeyCapi20
  1881. ifstr $(KeyCapi20) == $(KeyNull)
  1882. return $(ConfigErrors), $(DeviceNumber)
  1883. endif
  1884. set ValueList    = {}
  1885. set DeviceIdList  = {}
  1886. EnumRegKey $(KeyCapi20) ValueList
  1887. ForListDo $(ValueList)
  1888. set DeviceId = *($($), 1)
  1889. ifstr $(DeviceId) == "0"
  1890. else
  1891. ifint $(DeviceId) >= 1
  1892. ifint $(DeviceId) <= 99
  1893. set DeviceIdList = >($(DeviceIdList), $(DeviceId))
  1894. endif
  1895. endif
  1896. endif
  1897. EndForListDo
  1898. set DeviceNumber = 0
  1899. ForListDo $(DeviceIdList)
  1900. set DeviceId   = *($($), 1)
  1901. set KeyDeviceId   = $(KeyNull)
  1902. OpenRegKey $(KeyCapi20) "" $(DeviceId) $(MAXPERM) KeyDeviceId
  1903. ifstr $(KeyDeviceId) == $(KeyNull)
  1904. set-add ConfigErrors = $(ConfigErrors), 1
  1905. else
  1906. set Value = {}
  1907. GetRegValue $(KeyDeviceId), "DeviceName", Value
  1908. set DeviceName = *($(Value), 4)
  1909. ifstr $(DeviceName) == ""
  1910. set-add ConfigErrors = $(ConfigErrors), 1
  1911. else
  1912. ifstr(i) $(DeviceName) == $(MyDeviceName)
  1913. ifint $(DeviceNumber) == 0
  1914. set DeviceNumber = $(DeviceId)
  1915. else
  1916. set-add ConfigErrors = $(ConfigErrors), 1
  1917. endif
  1918. endif
  1919. set Value = {}
  1920. GetRegValue $(KeyDeviceId), "NumberOfControllers", Value
  1921. set NumberOfControllers = *($(Value), 4)
  1922. ifint $(NumberOfControllers) <= 0
  1923. set NumberOfControllers = 0
  1924. set-add ConfigErrors = $(ConfigErrors), 1
  1925. endif
  1926. ifint $(NumberOfControllers) > 99
  1927. set NumberOfControllers = 0
  1928. set-add ConfigErrors = $(ConfigErrors), 1
  1929. endif
  1930. set ValueList      = {}
  1931. set ControllerIdList = {}
  1932. EnumRegKey $(KeyDeviceId) ValueList
  1933. ForListDo $(ValueList)
  1934. set ControllerId = *($($), 1)
  1935. ifint $(ControllerId) >= 1
  1936. ifint $(ControllerId) <= $(NumberOfControllers)
  1937. set ControllerIdList = >($(ControllerIdList), $(ControllerId))
  1938. endif
  1939. endif
  1940. EndForListDo
  1941. ForListDo $(ControllerIdList)
  1942. set ControllerId = *($($), 1)
  1943. set KeyControllerId  = $(KeyNull)
  1944. OpenRegKey $(KeyDeviceId) "" $(ControllerId) $(MAXPERM) KeyControllerId
  1945. ifstr $(KeyControllerId) == $(KeyNull)
  1946. set-add ConfigErrors = $(ConfigErrors), 1
  1947. else
  1948. set Value = {}
  1949. GetRegValue $(KeyControllerId), "Channels", Value
  1950. set Channels = *($(Value), 4)
  1951. ifint $(Channels) <= 0
  1952. set-add ConfigErrors = $(ConfigErrors), 1
  1953. endif
  1954. CloseRegKey $(KeyControllerId)
  1955. endif
  1956. EndForListDo
  1957. endif
  1958. CloseRegKey $(KeyDeviceId)
  1959. endif
  1960. EndForListDo
  1961. CloseRegKey $(KeyCapi20)
  1962. ifint $(DeviceNumber) != 0
  1963. return $(ConfigErrors), $(DeviceNumber)
  1964. endif
  1965. Shell $(UtilInf) SortList $(DeviceIdList) TRUE FALSE
  1966. ForListDo $(DeviceIdList)
  1967. set DeviceId = *($($), 1)
  1968. set-add DeviceNumber = $(DeviceNumber), 1
  1969. ifint $(DeviceNumber) < $(DeviceId)
  1970. return $(ConfigErrors), $(DeviceNumber)
  1971. endif
  1972. EndForListDo
  1973. set-add DeviceNumber = $(DeviceNumber), 1
  1974. return $(ConfigErrors), $(DeviceNumber)
  1975. exit
  1976. [CreateCapiDevice]
  1977. set DeviceNumber     = $($0)
  1978. set DeviceName       = $($1)
  1979. set Controllers      = $($2)
  1980. set Channels         = $($3)
  1981. read-syms GeneralConstants
  1982. set CapiKey = $(KeyNull)
  1983. OpenRegKey  $(!REG_H_LOCAL) "" $(CapiDevicesPath) $(MAXPERM) CapiKey
  1984. ifstr $(CapiKey) == $(KeyNull)
  1985. CreateRegKey $(!REG_H_LOCAL) {$(CapiDevicesPath), 0, GenericClass} "" $(MAXPERM) "" CapiKey
  1986. endif
  1987. ifstr $(CapiKey) == $(KeyNull)
  1988. return STATUS_FAILED
  1989. endif
  1990. set CapiDeviceKey = $(KeyNull)
  1991. OpenRegKey  $(CapiKey) "" $(DeviceNumber) $(MAXPERM) CapiDeviceKey
  1992. ifstr $(CapiDeviceKey) == $(KeyNull)
  1993. CreateRegKey $(CapiKey) {$(DeviceNumber), 0, GenericClass} "" $(MAXPERM) "" CapiDeviceKey
  1994. endif
  1995. CloseRegKey $(CapiKey)
  1996. ifstr $(CapiDeviceKey) == $(KeyNull)
  1997. return STATUS_FAILED
  1998. endif
  1999. set ValueList = { +
  2000. {"DeviceName",$(NoTitle),$(!REG_VT_SZ),"CAPI20"$(DeviceNumber)},+
  2001. {"NumberOfControllers",$(NoTitle),$(!REG_VT_DWORD),$(Controllers)},+
  2002. {"Manufacturer",$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)} +
  2003. }
  2004. Shell $(UtilInf), AddValueList, $(CapiDeviceKey), $(ValueList)
  2005. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  2006. CloseRegKey $(CapiDeviceKey)
  2007. return STATUS_FAILED
  2008. endif
  2009. ifstr(i) $($R0) != NO_ERROR
  2010. CloseRegKey $(CapiDeviceKey)
  2011. return STATUS_FAILED
  2012. endif
  2013. set ControllerNumber = 0
  2014. nextcontroller = +
  2015. set-add ControllerNumber = $(ControllerNumber), 1
  2016. set CapiControllerKey = $(KeyNull)
  2017. OpenRegKey  $(CapiDeviceKey) "" $(ControllerNumber) (MAXPERM) CapiControllerKey
  2018. ifstr $(CapiControllerKey) == $(KeyNull)
  2019. CreateRegKey $(CapiDeviceKey) {$(ControllerNumber), 0, GenericClass} "" $(MAXPERM) "" CapiControllerKey
  2020. endif
  2021. ifstr $(CapiControllerKey) == $(KeyNull)
  2022. CloseRegKey $(CapiDeviceKey)
  2023. return STATUS_FAILED
  2024. endif
  2025. set ValueList = { +
  2026. {"Channels",$(NoTitle),$(!REG_VT_DWORD),$(Channels)},+
  2027. }
  2028. Shell $(UtilInf), AddValueList, $(CapiControllerKey), $(ValueList)
  2029. CloseRegKey $(CapiControllerKey)
  2030. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  2031. CloseRegKey $(CapiDeviceKey)
  2032. return STATUS_FAILED
  2033. endif
  2034. ifstr(i) $($R0) != NO_ERROR
  2035. CloseRegKey $(CapiDeviceKey)
  2036. return STATUS_FAILED
  2037. endif
  2038. ifint $(ControllerNumber) < $(Controllers)
  2039. goto nextcontroller
  2040. endif
  2041. CloseRegKey $(CapiDeviceKey)
  2042. return STATUS_SUCCESSFUL
  2043. exit
  2044. [RemoveCapiDevice]
  2045. set DeviceNumber = $($0)
  2046. read-syms GeneralConstants
  2047. set CapiKey = $(KeyNull)
  2048. OpenRegKey   $(!REG_H_LOCAL) "" $(CapiDevicesPath) $(MAXPERM) CapiKey
  2049. DeleteRegTree $(CapiKey) $(DeviceNumber)
  2050. CloseRegKey $(CapiKey)
  2051. return STATUS_SUCCESSFUL
  2052. exit
  2053. [UpdateControllerList]
  2054. set Function   = $($0)
  2055. set DeviceName = $($1)
  2056. read-syms GeneralConstants
  2057. set KeyServiceParameters = $(KeyNull)
  2058. OpenRegKey $(!REG_H_LOCAL), "", $(ServiceParameters), $(MAXPERM), KeyServiceParameters
  2059. ifstr $(KeyServiceParameters) == $(KeyNull)
  2060. return CANNOT_FIND_COMPONENT_SERVICE
  2061. endif
  2062. set Value = {}
  2063. GetRegValue $(KeyServiceParameters) "Controllers" Value
  2064. ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  2065. CloseRegKey $(KeyServiceParameters)
  2066. return CANNOT_FIND_COMPONENT_SERVICE
  2067. endif
  2068. set Value = *($(Value), 4)
  2069. set Controllers = {}
  2070. ForListDo $(Value)
  2071. set Value = $($)
  2072. ifstr(i) $(Value) != $(DeviceName)
  2073. set Controllers = >($(Controllers),$(Value))
  2074. endif
  2075. EndForListDo
  2076. ifstr(i) $(Function) == ADD
  2077. set Controllers = >($(Controllers),$(DeviceName))
  2078. endif
  2079. SetRegValue $(KeyServiceParameters) {Controllers, $(NoTitle), $(!REG_VT_MULTI_SZ), $(Controllers)}
  2080. ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  2081. CloseRegKey $(KeyServiceParameters)
  2082. return UNABLE_WRITE_REGISTRY
  2083. endif
  2084. CloseRegKey $(KeyServiceParameters)
  2085. return NO_ERROR
  2086. exit
  2087. [Install-Install-Diskette1]
  2088. set STF_VITAL = ""
  2089. ifstr(i) $(AddCopy) == "YES"
  2090. AddSectionFilesToCopyList Files-Driver$(CardFlag) $(SrcDir) $(!STF_WINDOWSSYSPATH)"\drivers"
  2091. AddSectionFilesToCopyList Files-CapiDll  $(SrcDir) $(!STF_WINDOWSSYSPATH)
  2092. AddSectionFilesToCopyList Files-Firm $(SrcDir) $(!STF_WINDOWSSYSPATH)"\"$(FirmDir)
  2093. ifstr $(CardFlag) != 1
  2094. AddSectionFilesToCopyList Files-Util $(SrcDir) $(!STF_WINDOWSSYSPATH)"\"$(FirmDir)
  2095. endif
  2096. AddSectionFilesToCopyList Files-DiskWAN $(SrcDir) $(!STF_WINDOWSSYSPATH)"\drivers"
  2097. endif
  2098. ifstr(i) $(DoCopy) == "YES"
  2099. set !STF_NCPA_FLUSH_COPYLIST = TRUE
  2100. CopyFilesInCopyList
  2101. endif
  2102. exit
  2103. [Install-Install-Diskette2]
  2104. set STF_VITAL = ""
  2105. ifstr(i) $(AddCopy) == "YES"
  2106. AddSectionFilesToCopyList "Files-DiskCard"$(CardNumber) $(SrcDir) $(!STF_WINDOWSSYSPATH)"\"$(FirmDir)
  2107. endif
  2108. ifstr(i) $(DoCopy) == "YES"
  2109. set !STF_NCPA_FLUSH_COPYLIST = TRUE
  2110. CopyFilesInCopyList
  2111. endif
  2112. exit
  2113. [Install-Update-Diskette1]
  2114. set STF_VITAL        = ""
  2115. set STF_OVERWRITE    = "VERIFYSOURCEOLDER"
  2116. AddSectionFilesToCopyList Files-Driver$(CardFlag) $(SrcDir) $(!STF_WINDOWSSYSPATH)"\drivers"
  2117. AddSectionFilesToCopyList Files-CapiDll  $(SrcDir) $(!STF_WINDOWSSYSPATH)
  2118. AddSectionFilesToCopyList Files-Inf    $(SrcDir) $(!STF_WINDOWSSYSPATH)
  2119. AddSectionFilesToCopyList Files-Firm   $(SrcDir) $(!STF_WINDOWSSYSPATH)"\"$(FirmDir)
  2120. ifstr $(CardFlag) != 1
  2121. AddSectionFilesToCopyList Files-Util   $(SrcDir) $(!STF_WINDOWSSYSPATH)"\"$(FirmDir)
  2122. endif
  2123. AddSectionFilesToCopyList Files-DiskWAN $(SrcDir) $(!STF_WINDOWSSYSPATH)"\drivers"
  2124. set !STF_NCPA_FLUSH_COPYLIST = TRUE
  2125. CopyFilesInCopyList
  2126. exit
  2127. [Install-Update-Diskette2]
  2128. set STF_VITAL        = ""
  2129. set STF_OVERWRITE    = "VERIFYSOURCEOLDER"
  2130. AddSectionFilesToCopyList "Files-DiskCard"$(CardNumber) $(SrcDir) $(!STF_WINDOWSSYSPATH)"\"$(FirmDir)
  2131. set !STF_NCPA_FLUSH_COPYLIST = TRUE
  2132. CopyFilesInCopyList
  2133. exit
  2134. [HtCreateRegKey]
  2135. Set ECR_Result          = NO_ERROR
  2136. Set ECR_BaseKeyHandle   = $($0)
  2137. Set ECR_NewPath         = $($1)
  2138. Set KeyNull             = ""
  2139. Set MAXIMUM_ALLOWED     = 33554432
  2140. OpenRegKey $(ECR_BaseKeyHandle) "" $(ECR_NewPath) $(MAXIMUM_ALLOWED) +
  2141. ECR_BaseKey
  2142. IfStr $(ECR_BaseKey) == $(KeyNull)
  2143. Else
  2144. Set ECR_KeyHandle = $(ECR_BaseKey)
  2145. GoTo  ECR_Return
  2146. EndIf
  2147. Set ECR_TmpPath = ""
  2148. Split-String $(ECR_NewPath) "\" ECR_PList
  2149. ForListDo $(ECR_PList)
  2150. IfStr(i) $($) != "\"
  2151. IfInt $(#) == 1
  2152. Set ECR_TmpPath = $($)
  2153. Else
  2154. Set ECR_TmpPath = $(ECR_TmpPath)"\"$($)
  2155. EndIf
  2156. OpenRegKey $(ECR_BaseKeyHandle) "" $(ECR_TmpPath) $(MAXIMUM_ALLOWED) ECR_BaseKey
  2157. IfStr $(ECR_BaseKey) == $(KeyNull)
  2158. CreateRegKey $(ECR_BaseKeyHandle)  {$(ECR_TmpPath),0,GenericClass} "" $(MAXIMUM_ALLOWED) "" ECR_KeyHandle
  2159. IfStr(i) $(ECR_KeyHandle) == $(KeyNull)
  2160. Set ECR_Result = $($R0)
  2161. GoTo ECR_Return
  2162. EndIf
  2163. EndIf
  2164. EndIf
  2165. EndForListDo
  2166. ECR_Return = +
  2167. Return $(ECR_Result) $(ECR_KeyHandle)
  2168.