;============================================================================= ; 3Com 3C319 TokenLink Velocity ISA Card Adapter ; ISA OEM Network Setup Information file for Microsoft Windows NT Version ;3.51 ; (C) Copyright 1995 3Com Corporation ; %VER 3Com TokenLink Velocity ISA Card Windows NT 3.51 ISA OEMSETUP.INF v1.0a ;============================================================================= [Identification] OptionType = NetAdapter [PlatformsSupported] ISA EISA "Jazz-Internal Bus" [Options] TLNKVISA [GeneralConstants] from = "" to = "" ExitCodeOk = 0 ExitCodeCancel = 1 ExitCodeFatal = 2 retaddr = "" KeyNull = "" StringNull = "" MAXIMUM_ALLOWED = 33554432 RegistryErrorIndex = NO_ERROR KeyProduct = "" KeyParameters = "" Result = "" TimeOut = 0 PriorityError = "ERROR" PriorityEvent = "PriorityEvent" SignalSet = "EventSet" Null = "" Exitcode = 0 TRUE = 1 FALSE = 0 NoTitle = 0 ExitState = "Active" OldVersionExisted = $(FALSE) DriverPath = $(!STF_NTPATH)\drivers INF_PROCESSOR = "I386" [FileConstants] UtilityInf = "UTILITY.INF" ParamInf = "NCPARAM.INF" subroutineinf = "SUBROUTN.INF" DialogDLL = "TLNK.DLL" SoftwareType = "driver" NetEventDLL = "%SystemRoot%\System32\netevent.dll" IoLogMsgDLL = "%SystemRoot%\System32\IoLogMsg.dll" ;ControlExe = "%SystemRoot%\System32\control.exe" TlnkvEISA_COMPRESSID = 3239248 Manufacturer = "3Com" ProductMajorVersion = "3" ProductMinorVersion = "51" ProductVersion = $(ProductMajorVersion)"."$(ProductMinorVersion) ProductSoftwareName = "Tlnkv" ProductSoftwareImagePath = "\SystemRoot\System32\drivers\tlnkv.sys" NetRuleSoftwareType = "TLNKVSys ndisDriver TLNKVDriver" NetRuleSoftwareUse = $(SoftwareType) NetRuleSoftwareBindForm = """TLNKVSys"" yes no container" NetRuleSoftwareClass = {"TLNKVDriver basic"} NetRuleSoftwareBindable = {"TLNKVDriver TLNKVAdapter non exclusive 100"} ProductHardwareName = "TLNKV" NetRuleHardwareType = "TLNKV TLNKVAdapter" NetRuleHardwareBindForm = " yes yes container" NetRuleHardwareClass = {"TLNKVAdapter basic"} ProductKeyName = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion" ParamKeyName = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters" 3CNUMBER = "TLNKV" GROUP_NAME = "3Com TokenRing Velocity ISA Adapter" [date] Now = {} ? $(!LIBHANDLE) GetSystemDate [Identify] read-syms Identification set Status = STATUS_SUCCESSFUL set Identifier = $(OptionType) set Media = #("Source Media Descriptions", 1, 1) Return $(Status) $(Identifier) $(Media) [ReturnOptions] set Status = STATUS_FAILED set OptionList = {} set OptionTextList = {} set LanguageList = ^(LanguagesSupported, 1) Ifcontains(i) $($0) in $(LanguageList) ifstr(i) $($1) == "" goto returnoptions endif set PlatformList = ^(PlatformsSupported, 1) Ifcontains(i) $($1) in $(PlatformList) goto returnoptions else set Status = STATUS_NOTSUPPORTED goto finish_ReturnOptions endif else set Status = STATUS_NOLANGUAGE goto finish_ReturnOptions endif returnoptions = + set OptionList = ^(Options, 1) set OptionTextList = ^(OptionsText$($0), 1) set Status = STATUS_SUCCESSFUL finish_ReturnOptions = + Return $(Status) $(OptionList) $(OptionTextList) [InstallOption] set Status = STATUS_FAILED set Option = $($1) set SrcDir = $($2) set AddCopy = $($3) set DoCopy = $($4) set DoConfig = $($5) set LanguageList = ^(LanguagesSupported, 1) Ifcontains(i) $($0) NOT-IN $(LanguageList) Return STATUS_NOLANGUAGE endif Debug-Output "OEMNAD3T.INF: STF_CWDIR is: "$(!STF_CWDIR) set-subst LF = "\n" read-syms GeneralConstants read-syms FileConstants read-syms DialogConstants$(!STF_LANGUAGE) read-syms FileConstants$(!STF_LANGUAGE) ifstr(i) $(!NTN_Origination) == "NCPA" set Continue = $(OK) set Priority = $(Priority) endif Debug-Output "OEMNAD3T.INF: Priority is: "$(Priority) detect date set-title $(FunctionTitle) set to = Begin set from = Begin set CommonStatus = STATUS_SUCCESSFUL EndWait Begin = + Debug-Output "OEMNAD3T.INF: Begin - In" set ActivateDetection = FALSE Ifstr(i) $(!NTN_InstallMode) == deinstall set StartLabel = removeadapter else-Ifstr(i) $(!NTN_InstallMode) == bind set StartLabel = bindingadapter else-Ifstr(i) $(!NTN_InstallMode) == Update set StartLabel = UpgradeSoftware else-Ifstr(i) $(!NTN_InstallMode) == configure set StartLabel = configureadapter ;set CommonStatus = STATUS_REBOOT ;set ActivateDetection = TRUE Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase) Debug-Output "OEMNAD3T.INF: Cannot configure the 3Com software." Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "OEMNAD3T.INF: ShellCode error: cannot get an error string." goto ShellCodeError endif set Error = $($R0) set from = end set to = end goto nonfatalinfo endif else set StartLabel = installadapter set OEM_ABANDON_OPTIONS = {} set OEM_ABANDON_SOFTWARE = FALSE set OEM_ABANDON_ON = TRUE ;set ActivateDetection = TRUE endif set AutoRingSpeedValue = 1 set IoBaseAddrValue = 1 set Priority = $(Priority) set NodeAddressValue = "" set BusTypeValue = 1 set BusNumberValue = 0 Debug-Output "OEMNAD3T.INF: ==================================================" Debug-Output "OEMNAD3T.INF: STF_CWDIR is: "$(!STF_CWDIR) Debug-Output "OEMNAD3T.INF: STF_LANGUAGE is: "$(!STF_LANGUAGE) Debug-Output "OEMNAD3T.INF: Option is: "$(Option) Debug-Output "OEMNAD3T.INF: !STF_NCDETECT is: "$(!STF_NCDETECT) Debug-Output "OEMNAD3T.INF: !STF_NCOPTION is: "$(!STF_NCOPTION) Debug-Output "OEMNAD3T.INF: !STF_NCDETCARD is: "$(!STF_NCDETCARD) Debug-Output "OEMNAD3T.INF: !STF_NCDETINFO is: "$(!STF_NCDETINFO) Debug-Output "OEMNAD3T.INF: Priority is: "$(Priority) Debug-Output "OEMNAD3T.INF: ==================================================" ; Set DetectedCard = FALSE ; Ifstr(i) $(ActivateDetection) != TRUE ; Goto skipdetection ; Endif ; Set TypeList = {{IOADDR, IOADDR_Addr_List, IoBase}} ; Debug-Output "OEMNAD3T.INF: Calling Param_BuildTypeLists" ; Shell $(ParamInf) Param_BuildTypeLists $(Option) $(TypeList) ; Set Status = $($R0) ; ifstr(i) $(Status) != STATUS_SUCCESSFUL ; Goto fataldetect ; Endif Debug-Output "OEMNAD3T.INF: Calling Param_SetDefaults" Shell $(ParamInf) Param_SetDefaults {} ; Ifstr(i) $(!STF_NCDETECT) == YES ; Ifstr(i) $(!STF_NCOPTION) == $(Option) ; Set DetectedCard = TRUE ; Debug-Output "OEMNAD3T.INF: Setting DetectedCard to TRUE" ; Endif ; Endif ;skipdetection =+ set from = $(fatal) set to = $(fatal) Goto $(StartLabel) installadapter = + Debug-Output "OEMNAD3T.INF: Entering Installadapter" set AdapterList = $($R0) set NewAdapterList = {} set NumNew = 0 ForListDo $(AdapterList) set BusNumber = *($($),1) EndForListDo set AdapterList = $(NewAdapterList) ifint $(NumNew) == 0 set AdapterList = {{0,0,0}} endif Debug-Output $(AdapterList) OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct Ifstr $(KeyProduct) != $(KeyNull) CloseRegKey $(KeyProduct) ifstr(i) !(NTN_RegBase) == $(ProductKeyName) Shell $(UtilityInf), VerExistedDlg, $(ProductSoftwareTitle),+ $(ProductVersion) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "OEMNAD3T.INF: ShellCode error: cannot get an error string." goto ShellCodeError endif goto end else Shell $(UtilityInf), CardExistedDlg ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "OEMNAD3T.INF: ShellCode error: cannot get an error string." goto ShellCodeError endif ifstr(i) $($R1) != "OK" goto end endif set OldVersionExisted = $(TRUE) endif endif ifint $(OldVersionExisted) == $(FALSE) ifstr(i) $(!NTN_InstallMode) == "install" Ifstr(i) $(DoCopy) == "YES" Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) NO Ifint $($ShellCode) != $(!SHELL_CODE_OK) Goto ShellCodeError Else-Ifstr(i) $($R0) == STATUS_FAILED Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL" ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif set Error = $($R0) Goto fatal Else-Ifstr(i) $($R0) == STATUS_USERCANCEL Goto successful Endif Set SrcDir = $($R1) endif endif endif Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES Ifint $($ShellCode) != $(!SHELL_CODE_OK) Goto ShellCodeError Else-Ifstr(i) $($R0) == STATUS_FAILED Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL" ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif set Error = $($R0) Goto fatal Else-Ifstr(i) $($R0) == STATUS_USERCANCEL Goto successful Endif Set SrcDir = $($R1) Debug-Output "OEMNAD3T.INF: SrcDir is:"$($R1) install "Install-Dll" ; goto adaptersetup ui pop 1 goto adapterverify ; Ifstr(i) $(DetectedCard) != TRUE ; Goto adaptersetup ; Endif ; StartWait ; Shell $(ParamInf) Param_QueryCard $(!STF_NCDETCARD) ; EndWait ; Ifstr(i) $($R0) != STATUS_SUCCESSFUL ; Debug-Output "OEMNAD3T.INF: SrcDir is:"$($R1) ; Set SrcDir = $($R1) ; Debug-Output "OEMNAD3T.INF: SrcDir is:"$($R1) ; install "Install-Dll" ; Goto adaptersetup ; Endif ; Set DetectedParams = $($R1) ; Debug-Output "OEMNAD3T.INF: Calling Param_SetDefaults to merge detected params" ; Shell $(ParamInf) Param_SetDefaults $(DetectedParams) ; goto adapteroptions configureadapter = + Debug-Output "OEMNAD3T.INF: Entering Configureadapter" Ifstr $(KeyProduct) == $(KeyNull) OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) KeyProduct Ifstr $(KeyProduct) == $(KeyNull) set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE Debug-Output "OEMNAD3T.INF: Cannot find component product key" goto fatalregistry Endif Endif Debug-Output "OEMNAD3T.INF: Shelling to FindService" Shell $(UtilityInf) FindService, $(KeyProduct) Ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "OEMNAD3T.INF: FindService shell failure" Goto ShellCodeError Endif Ifstr(i) $($R0) != NO_ERROR Debug-Output "OEMNAD3T.INF: FindService Shell error: "$($R0) Goto fatalregistry endif set KeyParameters = $($R2) CloseRegKey $($R1) Ifstr $(KeyParameters) == $(KeyNull) set RegistryErrorIndex = "CANNOT_FIND_COMPONENT_SERVICE" Debug-Output "OEMNAD3T.INF: Cannot find component service" goto fatalregistry endif set OldVersionExisted = $(TRUE ) set ValueName = "" set ValueData = "" set ValueStr = "" set ValueList = {} EnumRegValue $(KeyParameters) ValueList ForListDo $(ValueList) set ValueItem = $($) set ValueName = *($(ValueItem),1) set ValueData = *($(ValueItem),4) ifstr(i) $(ValueName) == "AutoRingSpeed" set AutoRingSpeedValue = $(ValueData) else-ifstr(i) $(ValueName) == "IOBase" set IOBaseAddrValue = $(ValueData) else-ifstr(i) $(ValueName) == "NETWORKADDRESS" set NodeAddressValue = $(ValueData) else-ifstr(i) $(ValueName) == "BusType" set BusTypeValue = $(ValueData) else-ifstr(i) $(ValueName) == "BusNumber" set BusNumberValue = $(ValueData) endif EndForListDo ifstr(i) $(AutoRingSpeedValue) == "0" Set CheckItemsIn = {"OFF"} Else Set CheckItemsIn = {"ON"} Endif Debug-Output "OEMNAD3T.INF: AutoRingSpeed is "$(AutoRingSpeedValue) set IOBaseAddrValue = *($(IOBaseAddrList), 1) ifstr(i) $(IOBaseAddrValue) == "" set IOBaseAddrValue = *($(IOBaseAddrList), 1) endif Debug-Output " OEMNAD3T: Bus Type is "$(BusTypeValue) Debug-Output " OEMNAD3T: Bus Number is "$(BusNumberValue) Debug-Output " OEMNAD3T: I/o base is "$(IOBaseAddrValue) Debug-Output "OEMNAD3T.INF: Node Address is "$(NodeAddressValue) adaptersetup =+ Debug-Output "OEMNAD3T.INF: Entering adaptersetup" set Result = $(SignalSet) Set from = adapteroptions adapteroptions = + Debug-Output "OEMNAD3T.INF: Entering adapteroptions" Debug-Output "OEMNAD3T.INF: Loading Dialog dll" LoadLibrary $(Media) $(DialogDLL) hLib Debug-Output "OEMNAD3T.INF: Dialog name:"$(DialogDLL) Debug-Output "OEMNAD3T.INF: Load Dialog dll finished" Debug-Output "OEMNAD3T.INF: AutoRingSpeed is "$(AutoRingSpeedValue) read-syms FileDependentDlg$(!STF_LANGUAGE) set Label = $(EditLabel) set Value = *($(EditTextIn),1) Debug-Output "OEMNAD3T.INF: Pre ui, Value for .$(Label). = .$(Value)." Debug-Output "OEMNAD3T.INF: Begin UI" ui start "InputDlg" $(hLib) set ExitButton = $(ButtonPressed) Debug-Output " OEMNAD3T.INF:ButtonPressed "$(ButtonPressed) Debug-Output $(DLGEVENT) Debug-Output " Calling WaitOnEvent" WaitOnEvent $(Result) $(PriorityEvent) $(TimeOut) Debug-Output " Calling FreeLibrary" FreeLibrary $(hLib) ifstr(i) $(DLGEVENT) == "CONTINUE" Debug-Output "OEMNAD3T.INF: CONTINUE" ;set IOBaseAddrValue = $(Combo1Out) set ExitButton = $(ButtonPressed) Set Chk = *($(CheckItemsOut), 1) Ifstr(i) $(Chk) == "ON" Set AutoRingSpeedValue = 1 Else Set AutoRingSpeedValue = 0 Endif set Label = $(EditLabel) set Value = *($(EditTextOut),1) Debug-Output "OEMNAD3T.INF: Post ui, Value for .$(Label). = .$(Value)." set NodeAddressValue = $(Value) Debug-Output "OEMNAD3T.INF: AutoRingSpeedValue ="$(AutoRingSpeedValue) ui pop 1 else-ifstr(i) $(DLGEVENT) == "BACK" Debug-Output "OEMNAD3T.INF: BACK" ;set CommonStatus = STATUS_USERCANCEL ;Debug-Output "Action: exit. Bye." ;ui pop 1 ;goto end set Result = $(Null) Debug-Output "OEMNAD3T.INF: Priority Button Pressed!!" ;RunProgram Exitcode "" "" $(!STF_WINDOWSSYSPATH)"\control.exe" "pacecfg.cpl" ;RunProgram Exitcode "" "" $(!STF_WINDOWSSYSPATH)\control.exe "pacecfg.cpl" StartDetachedProcess Exitcode "" "" $(!STF_WINDOWSSYSPATH)\control.exe "pacecfg.cpl" set Result = $(SignalSet) SignalEvent $(Result) $(PriorityEvent) ifstr(i) $(Exitcode) == $(PriorityError) Debug-Output "OEMNAD3T.INF: Exit Code = "$(Exitcode) Debug-Output " Called SignalEvent" Debug-Output "Action: Exit. Bye." ui pop 1 goto end else Debug-Output "OEMNAD3T.INF: Exit Code = "$(Exitcode) Debug-Output " Called SignalEvent" ui pop 1 Debug-Output "Action: Go Back To Adapter Setup." goto adaptersetup ;goto end endif else-ifstr(i) $(DLGEVENT) == "EXIT" set CommonStatus = STATUS_USERCANCEL Debug-Output "Action: exit. " ui pop 1 goto end else ui pop 1 Debug-Output "Action: unknown. Bye." goto end endif adapterverify =+ Debug-Output "OEMNAD3T.INF: Entering adapterverify" Ifstr(i) $(DetectedCard) != TRUE Goto skipoptions Endif Debug-Output "OEMNAD3T.INF: Calling Param_VerifyCard" Shell $(ParamInf) Param_VerifyCard $(!STF_NCDETCARD) Ifstr(i) $($R0) == STATUS_SUCCESSFUL Debug-Output "OEMNAD3T.INF: Param_VerifyCard succeeded" Goto skipoptions Endif Set from = adapteroptions Set to = skipoptions Shell $(UtilityInf),RegistryErrorString,VERIFY_WARNING ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "ShellCode error: cannot get an error string." goto ShellCodeError endif set Error = $($R0) Goto Warning skipoptions =+ Debug-Output "OEMNAD3T.INF: Entering skipoptions" ifint $(OldVersionExisted) == $(TRUE) Debug-Output "OEMNAD3T: OlderVersionExisted - TRUE" ifstr(i) $(!NTN_InstallMode) == configure ;Shell $(UtilityInf), GetBusTypeNum ;set BusTypeValue = $($R1) set BusTypeValue = 1 set BusNumberValue = 0 Debug-Output " OEMNAD3T: Bus Type is "$(BusTypeValue) Debug-Output " OEMNAD3T: Bus Number is "$(BusNumberValue) ;ifint $($ShellCode) != $(!SHELL_CODE_OK) ; Debug-Output "OEMNAD3T: ShellCode error." ; goto ShellCodeError ;endif Debug-Output "OEMNAD3T: Before write registry" set IOBaseAddrValue = *($(IOBaseAddrList), 1) Debug-Output " OEMNAD3T: I/o base is "$(IOBaseAddrValue) set NewValueList = {{BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusTypeValue)},+ {NETWORKADDRESS,$(NoTitle),$(!REG_VT_SZ),$(NodeAddressValue)},+ {AutoRingSpeed, $(NoTitle),$(!REG_VT_DWORD),$(AutoRingSpeedValue)},+ {IoBase,$(NoTitle),$(!REG_VT_DWORD),1},+ {BusNumber, $(NoTitle),$(!REG_VT_DWORD),$(BusNumberValue)}} Shell $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList) CloseRegKey $(KeyParameters) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "OEMNAD3T: ShellCode error." goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR Debug-Output "OEMNAD3T: Registry error: Add value list" goto fatalregistry endif EndWait goto successful endif endif StartWait ifint $(OldVersionExisted) == $(FALSE) Debug-Output "OEMNAD3T: OlderVersionExisted - FALSE" ifstr(i) $(!NTN_InstallMode) == "install" Ifstr(i) $(DoCopy) == "YES" Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES Ifint $($ShellCode) != $(!SHELL_CODE_OK) Goto ShellCodeError Else-Ifstr(i) $($R0) == STATUS_FAILED Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL" ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif set Error = $($R0) Goto fatal Else-Ifstr(i) $($R0) == STATUS_USERCANCEL Goto successful Endif Set SrcDir = $($R1) Endif install "Install-Option" ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE" ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif set Error = $($R0) goto fatal endif endif Debug-Output "OEMNAD3T: ProductSoftwareName: "$(ProductSoftwareName) Debug-Output "OEMNAD3T: ProductSoftwareTitle: "$(ProductSoftwareTitle) Debug-Output "OEMNAD3T: !STF_CONTEXTINFNAME is: "$(!STF_CONTEXTINFNAME) Debug-Output "OEMNAD3T: ProductSoftwareImagePath: "$(ProductSoftwareImagePath) Debug-Output "OEMNAD3T: NetEventDLL: "$(NetEventDLL) Debug-Output "OEMNAD3T: Manufacturer: "$(Manufacturer) Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), + $(ProductSoftwareName), + $(ProductSoftwareName), + $(ProductSoftwareTitle), $(STF_CONTEXTINFNAME), + $(ProductSoftwareImagePath), "kernel", "NDIS", {}, "",+ $(NetEventDLL) Set OEM_ABANDON_SOFTWARE = TRUE ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "OEMNAD3T: ShellCode error" goto ShellCodeError endif set RegistryErrorIndex = $($R0) set KeyProduct = $($R1) Set SoftNetRulesKey = $($R2) CloseRegKey $($R3) CloseRegKey $($R4) CloseRegKey $($R5) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR EndWait Debug-Output "OEMNAD3T: Registry error: add software components" CloseRegKey $(KeyProduct) CloseRegKey $(SoftNetRulesKey) goto fatalregistry endif set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+ {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)},+ {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)},+ {Title,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareTitle)},+ {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareDescription)},+ {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareName)},+ {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}} Shell $(UtilityInf), AddValueList, $(KeyProduct), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "OEMNAD3T: ShellCode error." goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR EndWait Debug-Output "OEMNAD3T: Registry error: add value list." CloseRegKey $(KeyProduct) CloseRegKey $(SoftNetRulesKey) goto fatalregistry endif set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareType)},+ {use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareUse)}, + {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareBindForm)}, + {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareClass)}, + {bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareBindable)}, + {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}} Shell $(UtilityInf), AddValueList, $(SoftNetRulesKey), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "OEMNAD3T: ShellCode error." goto ShellCodeError endif set RegistryErrorIndex = $($R0) CloseRegKey $(KeyProduct) CloseRegKey $(SoftNetRulesKey) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR EndWait Debug-Output "OEMNAD3T: Registry error: add value list." goto fatalregistry endif endif Debug-Output "OEMNAD3T: AdapterList "$(AdapterList) ForListDo $(AdapterList) set BusNumber = *($($),1) Debug-Output "OEMNAD3T: For Loop Count" Debug-Output "OEMNAD3T: ProductHardwareName="$(ProductHardwareName) Debug-Output "OEMNAD3T: ProductKeyName="$(ProductKeyName) Shell $(UtilityInf), AddHardwareComponent, $(ProductHardwareName),$(STF_CONTEXTINFNAME),$(ProductKeyName) Debug-Output "OEMNAD3T: KeyAdapterRules="$($R2) Debug-Output "OEMNAD3T: KeyParameters="$($R3) Debug-Output "OEMNAD3T: Adapter Number="$($R4) ifint $($R4) != -1 Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4)) endif ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "OEMNAD3T: Cannot add hardware component" goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR EndWait Debug-Output "OEMNAD3T: Registry error: add hardware component" CloseRegKey $($R1) CloseRegKey $($R2) CloseRegKey $($R3) goto fatalregistry endif set KeyParameters = $($R3) set KeyAdapterRules = $($R2) set AdapterNumber = $($R4) set HardwareDescription = $(AdapterName) set HardwareTitle = $(AdapterName) set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+ {Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(HardwareTitle)},+ {Description,$(NoTitle),$(!REG_VT_SZ),$(HardwareDescription)},+ {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+ {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+ {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}} Shell $(UtilityInf), AddValueList, $($R1), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "OEMNAD3T: ShellCode error" goto ShellCodeError endif CloseRegKey $($R1) set TempProdName = """"$(ProductHardwareName)$(AdapterNumber)"""" set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm) set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardwareType)},+ {bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, + {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardwareClass)}, + {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}} Shell $(UtilityInf), AddValueList, $(KeyAdapterRules), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "OEMNAD3T: ShellCode error." goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR EndWait Debug-Output "OEMNAD3T: Registry error: add value list." CloseRegKey $(KeyParameters) CloseRegKey $(KeyAdapterRules) goto fatalregistry endif CloseRegKey $(KeyAdapterRules) goto writeparameters writeparameters = + Debug-Output "OEMNAD3T: WriteParameters: IN" ;Shell $(UtilityInf), GetBusTypeNum ;set BusTypeValue = $($R1) set BusTypeValue = 1 set BusNumberValue = 0 Debug-Output " OEMNAD3T: Bus Type is "$(BusTypeValue) Debug-Output " OEMNAD3T: Bus Number Value is "$(BusNumberValue) ;ifint $($ShellCode) != $(!SHELL_CODE_OK) ; Debug-Output "OEMNAD3T: ShellCode error." ; goto ShellCodeError ;endif Debug-Output "OEMNAD3T: Before write registry" set IOBaseAddrValue = *($(IOBaseAddrList), 1) Debug-Output " OEMNAD3T: I/o base is "$(IOBaseAddrValue) set NewValueList = {{BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusTypeValue)},+ {NETWORKADDRESS,$(NoTitle),$(!REG_VT_SZ),$(NodeAddressValue)},+ {AutoRingSpeed, $(NoTitle),$(!REG_VT_DWORD),$(AutoRingSpeedValue)},+ {IoBase,$(NoTitle),$(!REG_VT_DWORD),1},+ {BusNumber, $(NoTitle),$(!REG_VT_DWORD),$(BusNumberValue)}} Shell $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList) CloseRegKey $(KeyParameters) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "OEMNAD3T: ShellCode error." goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR Debug-Output "OEMNAD3T: Registry error: Add value list" goto fatalregistry endif EndForListDo EndWait Debug-Output "OEMNAD3T: WriteParameters: Out" goto paceentries Finishwriteparameters = + Debug-Output "OEMNAD3T: FinishWriteParameters: Out" goto successful bindingadapter =+ Debug-Output "OEMNAD3T.INF: BindingAdapter: IN" set Error = "Binding: Sorry, not yet implemented." goto fatal removeadapter = + Debug-Output "OEMNAD3T.INF: RemoveAdapter: IN" Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase) Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), + $(ProductSoftwareName) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "OEMNAD3T.INF: ShellCode error" goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR goto fatalregistry endif else Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), + $(ProductSoftwareName), $(!NTN_RegBase) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "OEMNAD3T.INF: ShellCode error" goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR goto fatalregistry endif endif Ifstr(i) $(!STF_PLATFORM) == $(INF_PROCESSOR) RunProgram ExitCode "Windows Directory" "" UNTLNKV.EXE "-inf" endif goto end UpgradeSoftware = + Debug-Output "OEMNAD3T.INF: UpgradeSoftware: IN" UpgradeSoftware = + LoadLibrary "x" $(!STF_CWDDIR)\ncpa.cpl NCPA_HANDLE OpenRegKey $(!REG_H_LOCAL) "" "Software\Microsoft\TLNKV" $(MAXIMUM_ALLOWED) KeyProduct Ifstr $(KeyProduct) != $(KeyNull) DeleteRegTree $(KeyProduct) "" LibraryProcedure NCPA_RESULT $(NCPA_HANDLE), CPlSetup $(!STF_HWND), DELETESVC, "TLNKV" set NetworkCardKeyName = $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards" OpenRegKey $(!REG_H_LOCAL) "" $(NetworkCardKeyName) $(MAXIMUM_ALLOWED) IE_KeyNetcards ifstr(i) $(IE_KeyNetcards) != "" EnumRegKey $(IE_KeyNetcards) IE_KeyNameList ForListDo $(IE_KeyNameList) OpenRegKey $(IE_KeyNetcards) "" *($($),1) + $(MAXIMUM_ALLOWED) NetworkCardKey Ifstr(i) $(NetworkCardKey) != $(KeyNull) GetRegValue $(NetworkCardKey),"ProductName", ProductNameInfo set ProductName = *($(ProductNameInfo), 4) Debug-Output " ProductName = "$(ProductName) ifstr(i) $(ProductName) != "TLNKV" goto nextnetcard endif GetRegValue $(NetworkCardKey),"ServiceName", ServiceNameInfo set ServiceName = *($(ServiceNameInfo), 4) Debug-Output " ServiceName = "$(ServiceName) OpenRegKey $(!REG_H_LOCAL) "" "System\CurrentControlSet\Services\"$(ServiceName) + $(MAXIMUM_ALLOWED) ServiceKey DeleteRegTree $(ServiceKey) "" DeleteRegTree $(NetworkCardKey) "" endif nextnetcard = + EndForListDo endif OpenRegKey $(!REG_H_LOCAL) "" "Software\Microsoft\TLNKVISA" $(MAXIMUM_ALLOWED) KeyProduct2 ifstr $(KeyProduct2) == $(KeyNull) LibraryProcedure NCPA_RESULT $(NCPA_HANDLE), CPlSetup $(!STF_HWND), STARTSVC, NetDetect set !NTN_InstallMode = Install Shell "" InstallOption $(!STF_LANGUAGE) "TLNKVISA" $(SrcDir) "YES" "YES" "NO" set !NTN_InstallMode = Update else endif else endif FreeLibrary $(NCPA_HANDLE) goto end successful = + Debug-Output "OEMNAD3T.INF: Succesful: IN" goto end abandon = + Debug-Output "OEMNAD3T.INF: Abandon: IN" ForListDo $(OEM_ABANDON_OPTIONS) Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), + $(ProductSoftwareName), $($) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "OEMNAD3T.INF: ShellCode error" goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR goto fatalregistry endif EndForListDo Ifstr(i) $(OEM_ABANDON_SOFTWARE) == TRUE Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), + $(ProductSoftwareName), FALSE ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "OEMNAD3T.INF: ShellCode error" goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR goto fatalregistry endif endif goto end warning = + Debug-Output "OEMNAD3T.INF: Warning: IN" Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif ifstr(i) $($R1) == "OK" goto $(to) else-ifstr(i) $($R1) == "CANCEL" goto $(from) else goto "end" endif nonfatalinfo = + Debug-Output "OEMNAD3T.INF: Nonfatalinfo: IN" Set CommonStatus = STATUS_USERCANCEL Set Severity = STATUS goto nonfatalmsg nonfatal = + Debug-Output "OEMNAD3T.INF: Nonfatal: IN" Set Severity = NONFATAL goto nonfatalmsg nonfatalmsg = + Debug-Output "OEMNAD3T.INF: nonfatalmsg: IN" ifstr(i) $(Error) == "" Set Severity = NONFATAL Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL" ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif set Error = $($R0) endif Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif ifstr(i) $($R1) == "OK" goto $(from) else goto "end" endif fatalregistry = + Debug-Output "OEMNAD3T.INF: fataregistry: IN" Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif set Error = $($R0) goto fatal fataldetect = + Debug-Output "OEMNAD3T.INF: fataldetect: IN" Shell $(UtilityInf),RegistryErrorString,CANNOT_DETECT ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "OEMNAD3T.INF: ShellCode error: cannot get an error string." goto ShellCodeError endif set Error = $($R0) Goto fatal fatal = + Debug-Output "OEMNAD3T.INF: fatal: IN" ifstr(i) $(Error) == "" Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL" ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif set Error = $($R0) endif Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif goto setfailed ShellCodeError = + Debug-Output "OEMNAD3T.INF: ShellCodeError - In" set DlgType = "MessageBox" set STF_MB_TITLE = $(ShellCodeErrorTitle) set STF_MB_TEXT = $(ShellCodeErrorText) set STF_MB_TYPE = 1 set STF_MB_ICON = 3 set STF_MB_DEF = 1 ui start "Error Message" goto setfailed setfailed = + Debug-Output "OEMNAD3T.INF: Setfailed - In" set CommonStatus = STATUS_FAILED ifstr(i) $(OEM_ABANDON_ON) == TRUE set OEM_ABANDON_ON = FALSE goto abandon endif goto end end = + Debug-Output "OEMNAD3T.INF: end: IN" goto term term = + Debug-Output "OEMNAD3T.INF: term - In" Return $(CommonStatus) paceentries = + ;; ;; Pace Stuff included. ; Put PACE information into registry ***START ; This section contains all of the information for the PAce control panel ; The adapter name goes in the registry key: LM\software\3Com\pacecards\TLNKV ; The application specific stuff goes in LM\software\3Com\pacecards\applications ;*** this is the uninstaller part define 3CNUMBER to be the 3C product code for this product ;open software registry key to put uninstall info in registry. OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\3Com\"$(ProductSoftwareName) $(!REG_KEY_ALL_ACCESS) KeyNt set TrayIconList = {3CUNINSTALL,$(NoTitle),$(!REG_VT_SZ),$(3CNUMBER)} SetRegValue $(KeyNt) $(TrayIconList) set TrayIconList = {PACENAME,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareName)} SetRegValue $(KeyNt) $(TrayIconList) CloseRegKey $(KeyNt) ;*** end uninstaller part ; open registry key SOFTPACEKEY = LM\Software OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE" $(!REG_KEY_WRITE) SOFTPACEKEY ; open registry key SOFTPACEKEY = LM\Software\3Com and create it if it is not there OpenRegKey $(SOFTPACEKEY) "" "3Com" $(!REG_KEY_WRITE) COMPACEKEY ifstr $(COMPACEKEY) == "" CreateRegKey $(SOFTPACEKEY) {"3Com", 0, GenericClass} "" $(!REG_KEY_WRITE) "" COMPACEKEY endif ; open registry key SOFTPACEKEY = LM\Software\3Com\PACECards and create it if it is not there OpenRegKey $(COMPACEKEY) "" "PACECards" $(!REG_KEY_WRITE) CARDPACEKEY ifstr $(CARDPACEKEY) == "" CreateRegKey $(COMPACEKEY) {"PACECards", 0, GenericClass} "" $(!REG_KEY_WRITE) "" CARDPACEKEY endif ; open registry key SOFTPACEKEY = LM\Software\3Com\PACECards\TLNKV and create it if it is not there OpenRegKey $(CARDPACEKEY) "" $(ProductSoftwareName) $(!REG_KEY_WRITE) TLNKVPACEKEY ifstr $(TLNKVPACEKEY) == "" CreateRegKey $(CARDPACEKEY) {$(ProductSoftwareName), 0, GenericClass} "" $(!REG_KEY_WRITE) "" TLNKVPACEKEY endif ; Set the adapter name in the registry SetRegValue $(TLNKVPACEKEY) {"Description", 0, $(!REG_VT_SZ), $(GROUP_NAME)} ; open registry key SOFTPACEKEY = LM\Software\3Com\PACECards\applications and create it if it is not there OpenRegKey $(CARDPACEKEY) "" "Applications" $(!REG_KEY_WRITE) APPPACEKEY ifstr $(APPPACEKEY) == "" CreateRegKey $(CARDPACEKEY) {"Applications", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPPACEKEY endif ; Each one of theses chunks adds an application and its values to the registry. ; This section adds this to the registry under the key: ; HKEY_LOCAL_MACHINE\SOFTWARE\3Com\PACECards\Applications\APPLICATION_NAME ; Protocol=PROTOCOL_NAME ; Enabled=TRUE_OR_FALSE ; RangeStart=4_DIGIT_HEX#1 ; RangeEnd=4_DIGIT_HEX#2 ; ; OpenRegKey $(APPPACEKEY) "" "APPLICATION_NAME" $(!REG_KEY_WRITE) APPSPECPACEKEY ; ifstr $(APPSPECPACEKEY) == "" ; CreateRegKey $(APPPACEKEY) {"APPLICATION_NAME", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY ; endif ; set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"PROTOCOL_NAME"},+ ; {Enabled,$(NoTitle),$(!REG_VT_SZ),"TRUE_OR_FALSE"}, + ; {RangeStart,$(NoTitle),$(!REG_VT_SZ),"4_DIGIT_HEX#1"}, + ; {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"4_DIGIT_HEX#2"}} ; Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList) ; ifint $($ShellCode) != $(!SHELL_CODE_OK) ; goto ShellCodeError ; endif ; CloseRegKey $(APPSPECPACEKEY) OpenRegKey $(APPPACEKEY) "" "Emotion CreativePartner (IPX)" $(!REG_KEY_WRITE) APPSPECPACEKEY ifstr $(APPSPECPACEKEY) == "" CreateRegKey $(APPPACEKEY) {"Emotion CreativePartner (IPX)", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY endif set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"IPX"},+ {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, + {RangeStart,$(NoTitle),$(!REG_VT_SZ),"87C7"}, + {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"87C8"}} Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif CloseRegKey $(APPSPECPACEKEY) OpenRegKey $(APPPACEKEY) "" "Emotion CreativePartner (TCP/IP)" $(!REG_KEY_WRITE) APPSPECPACEKEY ifstr $(APPSPECPACEKEY) == "" CreateRegKey $(APPPACEKEY) {"Emotion CreativePartner (TCP/IP)", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY endif set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"UDP"},+ {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, + {RangeStart,$(NoTitle),$(!REG_VT_SZ),"0453"}, + {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"0455"}} Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif CloseRegKey $(APPSPECPACEKEY) OpenRegKey $(APPPACEKEY) "" "InSoft Communique!" $(!REG_KEY_WRITE) APPSPECPACEKEY ifstr $(APPSPECPACEKEY) == "" CreateRegKey $(APPPACEKEY) {"InSoft Communique!", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY endif set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"UDP"},+ {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, + {RangeStart,$(NoTitle),$(!REG_VT_SZ),"1025, 1500"}, + {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"1050, 1525"}} Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif CloseRegKey $(APPSPECPACEKEY) OpenRegKey $(APPPACEKEY) "" "Picturetel LiveLAN (over IPX)" $(!REG_KEY_WRITE) APPSPECPACEKEY ifstr $(APPSPECPACEKEY) == "" CreateRegKey $(APPPACEKEY) {"Picturetel LiveLAN (over IPX)", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY endif set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"IPX"},+ {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, + {RangeStart,$(NoTitle),$(!REG_VT_SZ),"4050"}, + {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"4082"}} Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif CloseRegKey $(APPSPECPACEKEY) OpenRegKey $(APPPACEKEY) "" "Picturetel LiveLAN (over TCP/IP)" $(!REG_KEY_WRITE) APPSPECPACEKEY ifstr $(APPSPECPACEKEY) == "" CreateRegKey $(APPPACEKEY) {"Picturetel LiveLAN (over TCP/IP)", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY endif set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"UDP"},+ {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, + {RangeStart,$(NoTitle),$(!REG_VT_SZ),"06a4"}, + {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"06d6"}} Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif CloseRegKey $(APPSPECPACEKEY) OpenRegKey $(APPPACEKEY) "" "Precept FlashWare" $(!REG_KEY_WRITE) APPSPECPACEKEY ifstr $(APPSPECPACEKEY) == "" CreateRegKey $(APPPACEKEY) {"Precept FlashWare", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY endif set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"UDP"},+ {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, + {RangeStart,$(NoTitle),$(!REG_VT_SZ),"8000, C000"}, + {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"8000, C000"}} Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif CloseRegKey $(APPSPECPACEKEY) OpenRegKey $(APPPACEKEY) "" "Progressive Networks RealAudio" $(!REG_KEY_WRITE) APPSPECPACEKEY ifstr $(APPSPECPACEKEY) == "" CreateRegKey $(APPPACEKEY) {"Progressive Networks RealAudio", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY endif set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"UDP"},+ {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, + {RangeStart,$(NoTitle),$(!REG_VT_SZ),"6970"}, + {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"7170"}} Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif CloseRegKey $(APPSPECPACEKEY) OpenRegKey $(APPPACEKEY) "" "Starlight Networks StarCast" $(!REG_KEY_WRITE) APPSPECPACEKEY ifstr $(APPSPECPACEKEY) == "" CreateRegKey $(APPPACEKEY) {"Starlight Networks StarCast", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY endif set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"UDP"},+ {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, + {RangeStart,$(NoTitle),$(!REG_VT_SZ),"1911"}, + {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"1911"}} Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif CloseRegKey $(APPSPECPACEKEY) OpenRegKey $(APPPACEKEY) "" "VCON Cruiser 100" $(!REG_KEY_WRITE) APPSPECPACEKEY ifstr $(APPSPECPACEKEY) == "" CreateRegKey $(APPPACEKEY) {"VCON Cruiser 100", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY endif set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"UDP"},+ {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, + {RangeStart,$(NoTitle),$(!REG_VT_SZ),"1500, 1600"}, + {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"1500, 1600"}} Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif CloseRegKey $(APPSPECPACEKEY) OpenRegKey $(APPPACEKEY) "" "VXtreme Web Theater" $(!REG_KEY_WRITE) APPSPECPACEKEY ifstr $(APPSPECPACEKEY) == "" CreateRegKey $(APPPACEKEY) {"VXtreme Web Theater", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY endif set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"UDP"},+ {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, + {RangeStart,$(NoTitle),$(!REG_VT_SZ),"7000"}, + {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"7020"}} Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif CloseRegKey $(APPSPECPACEKEY) OpenRegKey $(APPPACEKEY) "" "Xing Technology Streamworks" $(!REG_KEY_WRITE) APPSPECPACEKEY ifstr $(APPSPECPACEKEY) == "" CreateRegKey $(APPPACEKEY) {"Xing Technology Streamworks", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY endif set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"UDP"},+ {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, + {RangeStart,$(NoTitle),$(!REG_VT_SZ),"1558"}, + {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"1558"}} Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif OpenRegKey $(APPPACEKEY) "" "Vosaic Software Server" $(!REG_KEY_WRITE) APPSPECPACEKEY ifstr $(APPSPECPACEKEY) == "" CreateRegKey $(APPPACEKEY) {"Vosaic Software Server", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY endif set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"TCP"},+ {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, + {RangeStart,$(NoTitle),$(!REG_VT_SZ),"04D3"}, + {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"04D3"}} Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif OpenRegKey $(APPPACEKEY) "" "Vosaic Software Client" $(!REG_KEY_WRITE) APPSPECPACEKEY ifstr $(APPSPECPACEKEY) == "" CreateRegKey $(APPPACEKEY) {"Vosaic Software Client", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY endif set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"UDP"},+ {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, + {RangeStart,$(NoTitle),$(!REG_VT_SZ),"F169"}, + {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"F17D"}} Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif ; Close all opened registry keys. CloseRegKey $(APPSPECPACEKEY) CloseRegKey $(TLNKVPACEKEY) CloseRegKey $(APPPACEKEY) CloseRegKey $(CARDPACEKEY) CloseRegKey $(COMPACEKEY) CloseRegKey $(SOFTPACEKEY) goto Finishwriteparameters ;; ;; goto Finishwriteparameters [Install-Option] Debug-Output "OEMNAD3T.INF: Install-Option - In" set STF_VITAL = "" ifstr(i) $(AddCopy) == "YES" AddSectionFilesToCopyList Files-$(Option) $(SrcDir)\nt95 $(!STF_WINDOWSSYSPATH)\drivers AddSectionFilesToCopyList Files-Dll $(SrcDir)\nt95 $(!STF_WINDOWSSYSPATH) AddSectionFilesToCopyList Files-Cpl $(SrcDir)\nt95 $(!STF_WINDOWSSYSPATH) endif ifstr(i) $(DoCopy) == "YES" set !STF_NCPA_FLUSH_COPYLIST = TRUE CopyFilesInCopyList endif ifstr(i) $(DoConfig) == "YES" endif Exit [Install-Update] Debug-Output "OEMNAD3T.INF: Install-Update - In" set STF_VITAL = "" set STF_OVERWRITE = "VERIFYSOURCEOLDER" AddSectionFilesToCopyList Files-$(Option) $(SrcDir)\nt95 $(!STF_WINDOWSSYSPATH)\drivers AddSectionFilesToCopyList Files-Dll $(SrcDir)\nt95 $(!STF_WINDOWSSYSPATH) AddSectionFilesToCopyList Files-Cpl $(SrcDir)\nt95 $(!STF_WINDOWSSYSPATH) exit [Install-Dll] Debug-Output "OEMNAD3T.INF: Install-Dll - In" set STF_VITAL = "" ifstr(i) $(AddCopy) == "YES" AddSectionFilesToCopyList Files-Dll $(SrcDir)\nt95 $(!STF_WINDOWSSYSPATH) AddSectionFilesToCopyList Files-Cpl $(SrcDir)\nt95 $(!STF_WINDOWSSYSPATH) endif ifstr(i) $(DoCopy) == "YES" set !STF_NCPA_FLUSH_COPYLIST = TRUE CopyFilesInCopyList endif exit [Source Media Descriptions] 1 = "3Com TokenLink Velocity ISA (3C319) Adapter" [Signature] FileType = MICROSOFT_FILE [GetSignature] read-syms Signature return $(FileType) [ProductType] STF_PRODUCT = Winnt STF_PLATFORM = I386 ;INF_PROCESSOR = I386 [Files-Inf] 1,Oemsetup.inf, SIZE=1000, RENAME=$(!UG_Filename) [Files-TLNKVISA] 1,TLNKV.SYS , SIZE=45568 [Files-Dll] 1,tlnk.dll , SIZE=6000 [Files-Cpl] 1,Pacecfg.cpl, SIZE=10000 1,Pacecfg.hlp, SIZE=6617 1,UNTLNKV.EXE, SIZE=6617 [LanguagesSupported] ENG [OptionsTextENG] TLNKV = "3Com TokenLink Velocity ISA (3C319) Adapter" [FileConstantsENG] ProCaption = "Windows NT Setup" ProCancel = "Cancel" ProCancelMsg = "Windows NT Networking is not correctly installed. "+ "Are you sure you want to cancel copying files?" ProCancelCap = "Network Setup Message" ProText1 = "Copying:" ProText2 = "To:" AdapterName = "3Com TokenLink Velocity ISA (3C319) Adapter" DriverName = "3Com TokenLink Velocity ISA (3C319) Adapter Driver" FunctionTitle = "3Com TokenLink Velocity ISA (3C319)" ProductSoftwareDescription = $(DriverName) ProductHardwareDescription = $(AdapterName) ProductSoftwareTitle = $(DriverName) ProductHardwareTitle = $(AdapterName) DialogDllName = "Tlnk.dll" ShellCodeErrorTitle = "Error: "$(FunctionTitle) ShellCodeErrorText = "Shell Code Error." DialogDllName = "tlnk.dll" IOBaseAddrList = ^(IOBaseAddrChoices, 1) IOBaseAddrValues = ^(IOBaseAddrChoices, 2) [DialogConstantsENG] Help = "&Help" Exit = "C&ancel" OK = "&OK" HelpContext = "" Continue = "&Continue" Cancel = "Ca&ncel" Priority = "&Priority" [FileDependentDlgENG] NodeAddressLabel = "&Network Address" CheckBox1 = "&Auto Ring Speed Detect" DlgText = "Please select values for the following field:" Combo1Label = "&I/O Port:" FunctionTitle = $(AdapterName) DlgType = "RadioCombination" DlgTemplate = "TLNKV" Caption = $(FunctionTitle) OptionsGreyed = {} CBOptionsGreyed = {} NotifyFields = {NO, NO} HelpContext = 1 Combo1List = $(IOBaseAddrList) Combo1Out = $(IOBaseAddrValue) ComboListItemsIn = {Combo1List} ComboListItemsOut = {Combo1Out} EditField = $(NodeAddressValue) EditTextIn = $(EditField) EditTextLim = 12 EditLabel = $(NodeAddressLabel) ;RCCtlFocusOn = 403 [IOBaseAddrChoices] IOBase_1 = "0x1",1 IOBase_2 = "0x2",2Download Driver Pack
After your driver has been downloaded, follow these simple steps to install it.
Expand the archive file (if the download file is in zip or rar format).
If the expanded file has an .exe extension, double click it and follow the installation instructions.
Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.
Find the device and model you want to update in the device list.
Double-click on it to open the Properties dialog box.
From the Properties dialog box, select the Driver tab.
Click the Update Driver button, then follow the instructions.
Very important: You must reboot your system to ensure that any driver updates have taken effect.
For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.