; ------------------------------------------------------------------------
; Microsoft Windows NT 3/4 Driver Installation (for NDIS3)
; Copyright 1995 Texas Instruments Inc.
; Copyright 1997 Racore Computer Products Inc.
; (0.04 (960702))
; ------------------------------------------------------------------------
; ========================================================================
; OEMSETUP for NT 3/4
; ========================================================================
[Source Media Descriptions]
1 = "Racore ThunderLAN(tm) Driver Diskette"
[Files-Driver]
1, tlan.sys, SIZE=34816, RENAME=tlan.sys
[Files-Dll]
1, tlan.dll, SIZE=2560, RENAME=tlan.dll
[Files-Help]
1, tlan.hlp, SIZE=12473, RENAME=tlan.hlp
[OptListENG]
; --------------------------------------------------------------------------------------------------------------
; LanOption, OptionText,
; ProductHdwrName,
; ProductHdwrTitle,
; ProductHdwrDesc,
; SoftwareTitle
; SoftwareDescription,
; DialogTitle
; --------------------------------------------------------------------------------------------------------------
OptList_1 = ti$tlan, "Racore ThunderLAN(tm) Adapter",+
"tlan",+
"ThunderLAN(tm) Adapter",+
"Racore ThunderLAN(tm) Adapter",+
"ThunderLAN(tm) Driver",+
"Racore ThunderLAN(tm) NDIS4 Driver",+
"Racore ThunderLAN(tm) Adapter Setup"
[FileConstants]
Manufacturer = "Racore"
LanBaseName = "tlan"
SoftwareMajorVersion = "1"
SoftwareMinorVersion = "01"
NetEventDLL = "%SystemRoot%\System32\netevent.dll"
IoLogMsgDLL = "%SystemRoot%\System32\IoLogMsg.dll"
UtilityInf = "UTILITY.INF"
SubroutineInf = "SUBROUTN.INF"
LanDialogDLL = "tlan.dll"
SoftwareType = "driver"
Exit_Code = 0
HelpFile = "tlan.hlp"
SoftwareVersion = $(SoftwareMajorVersion)"."$(SoftwareMinorVersion)
SoftwareImage = "\SystemRoot\System32\drivers\"$(LanBaseName)".sys"
NetRuleSoftwareType = $(LanBaseName)"Sys ndisDriver "$(LanBaseName)"Driver"
NetRuleSoftwareBindForm = """"$(LanBaseName)"Sys"" yes no container"
NetRuleSoftwareBindable = {""$(LanBaseName)"Driver "$(LanBaseName)"Adapter non exclusive 100"}
NetRuleSoftwareClass = {""$(LanBaseName)"Driver basic"}
NetRuleSoftwareUse = $(SoftwareType)
NetRuleHardwareType = $(LanBaseName)" "$(LanBaseName)"Adapter"
NetRuleHardwareClass = {""$(LanBaseName)"Adapter basic"}
NetRuleHardwareBindForm = " yes yes container"
KeyName_SoftwareRoot = $(!NTN_SoftwareBase)"\"$(Manufacturer)
KeyName_Software = $(KeyName_SoftwareRoot)"\"$(LanBaseName)"\CurrentVersion"
KeywordTextList = ^(Keywords_$(LanOption), 1)
KeywordRegTypeList = ^(Keywords_$(LanOption), 2)
KeywordDefaultList = ^(Keywords_$(LanOption), 3)
[Keywords_ti$tlan]
Keyword_1 = "AdapterType", $(!REG_VT_DWORD), 5 ; PCI
Keyword_2 = "BusNumber", $(!REG_VT_DWORD), 0
Keyword_3 = "BusType", $(!REG_VT_DWORD), 5 ; PCI
Keyword_4 = "MediaType", $(!REG_VT_DWORD), 1 ; Ethernet
Keyword_5 = "NetworkAddress", $(!REG_VT_SZ), ""
Keyword_6 = "Slot", $(!REG_VT_DWORD), 32 ; Auto detect
Keyword_7 = "Network", $(!REG_VT_DWORD), 0 ; Auto detect
Keyword_8 = "PhySelect", $(!REG_VT_DWORD), 32 ; Auto detect
; Keyword_9 = "DeviceId", $(!REG_VT_DWORD), 1280 ; 0500h
; Keyword_10 = "VendorId", $(!REG_VT_DWORD), 4172 ; 104ch
[NetworkChoices]
NetworkChoice_0 = "Auto Negotiate", 0
NetworkChoice_1 = "10 Mbit", 1
NetworkChoice_2 = "100 Mbit", 2
NetworkChoice_3 = "10 Mbit / Full Duplex", 3
NetworkChoice_4 = "100 Mbit / Full Duplex", 4
[PhySelectChoices]
PhySelectChoice_0 = "Auto Select", 32
PhySelectChoice_1 = "Expansion Module", 0
PhySelectChoice_2 = "TLAN 10BaseT", 31
PhySelectChoice_3 = "TLAN/BitLevel AUI", 33
PhySelectChoice_4 = "Non-Managed Mii PHY", 34
[PciSlotChoices]
PciSlotChoice_0 = "Auto Detect", 32
PciSlotChoice_1 = "Slot 0", 0
PciSlotChoice_2 = "Slot 1", 1
PciSlotChoice_3 = "Slot 2", 2
PciSlotChoice_4 = "Slot 3", 3
PciSlotChoice_5 = "Slot 4", 4
PciSlotChoice_6 = "Slot 5", 5
PciSlotChoice_7 = "Slot 6", 6
PciSlotChoice_8 = "Slot 7", 7
PciSlotChoice_9 = "Slot 8", 8
PciSlotChoice_10 = "Slot 9", 9
PciSlotChoice_11 = "Slot 10", 10
PciSlotChoice_12 = "Slot 11", 11
PciSlotChoice_13 = "Slot 12", 12
PciSlotChoice_14 = "Slot 13", 13
PciSlotChoice_15 = "Slot 14", 14
PciSlotChoice_16 = "Slot 15", 15
PciSlotChoice_17 = "Slot 16", 16
PciSlotChoice_18 = "Slot 17", 17
PciSlotChoice_19 = "Slot 18", 18
PciSlotChoice_20 = "Slot 19", 19
PciSlotChoice_21 = "Slot 20", 20
PciSlotChoice_22 = "Slot 21", 21
PciSlotChoice_23 = "Slot 22", 22
PciSlotChoice_24 = "Slot 23", 23
PciSlotChoice_25 = "Slot 24", 24
PciSlotChoice_26 = "Slot 25", 25
PciSlotChoice_27 = "Slot 26", 26
PciSlotChoice_28 = "Slot 27", 27
PciSlotChoice_29 = "Slot 28", 28
PciSlotChoice_30 = "Slot 29", 29
PciSlotChoice_31 = "Slot 30", 30
PciSlotChoice_32 = "Slot 31", 31
[FileConstantsENG]
ProCaption = "Windows NT Setup"
ProCancel = "Cancel"
ProCancelMsg = "Your Networking Adapter is not correctly"+
"installed. Are you sure you wish to cancel"+
"copying driver files?"
ProCancelCap = "Network Setup Message"
ProText1 = "Copying:"
ProText2 = "To:"
[DialogConstantsENG]
Help = "&Help"
Exit = "Cancel"
OK = "OK"
HelpContext = 10
Continue = "Continue"
Cancel = "C&ancel"
PciSlotLabel = "PCI Slo&t:"
NetAddressLabel = "Ne&twork Address:"
NetworkLabel = "&Network Type:"
PhySelectLabel = "Network &Interface:"
PciSlotTextList = ^(PciSlotChoices, 1)
PciSlotValueList = ^(PciSlotChoices, 2)
NetworkTextList = ^(NetworkChoices, 1)
NetworkValueList = ^(NetworkChoices, 2)
PhySelectTextList = ^(PhySelectChoices, 1)
PhySelectValueList = ^(PhySelectChoices, 2)
[LanDialog_ti$tlan]
DlgTemplate = "DLG_TLAN"
DlgType = "RadioCombination"
Caption = $(DialogTitle)
Combo1Label = $(PciSlotLabel)
Combo1List = $(PciSlotTextList)
Combo1Out = *($(PciSlotTextList),+
~($(PciSlotValueList), +
$(SlotValue)))
Combo2Label = $(PhySelectLabel)
Combo2List = $(PhySelectTextList)
Combo2Out = *($(PhySelectTextList),+
~($(PhySelectValueList), +
$(PhySelectValue)))
Combo3Label = $(NetworkLabel)
Combo3List = $(NetworkTextList)
Combo3Out = *($(NetworkTextList),+
~($(NetworkValueList), +
$(NetworkValue)))
Edit1Label = $(NetAddressLabel)
EditTextIn = { $(NetworkAddressValue) }
CheckItemsIn = {}
RadioIn = {}
ComboListItemsIn = {Combo1List, Combo2List, Combo3List}
ComboListItemsOut = {Combo1Out, Combo2Out, Combo3Out}
CBOptionsGreyed = {}
EditTextLim = {17}
NotifyFields = {NO}
[LanDialog_ti$tlan_PostProcess]
SlotValue = *($(PciSlotValueList), +
~($(PciSlotTextList),+
$(Combo1Out)))
PhySelectValue = *($(PhySelectValueList), +
~($(PhySelectTextList),+
$(Combo2Out)))
NetworkValue = *($(NetworkValueList), +
~($(NetworkTextList),+
$(Combo3Out)))
NetworkAddressValue = *($(EditTextOut),1)
[Identify]
;; set !DebugOutputControl = 1
;; set !STF_DISPLAYDEBUGOUTPUT = 1
Debug-Output "$(STF_CONTEXTINFNAME): Entering Identify"
set Status = STATUS_SUCCESSFUL
set Identifier = NetAdapter
set Media = #("Source Media Descriptions", 1, 1)
Return $(Status) $(Identifier) $(Media)
[ReturnOptions]
Debug-Output "$(STF_CONTEXTINFNAME): Entering ReturnOptions"
set Status = STATUS_FAILED
set OptionList = {}
set OptionTextList = {}
set LanguageList = ^(LanguagesSupported, 1)
Ifcontains(i) $($0) in $(LanguageList)
ifstr(i) $($1) == ""
goto ReturnOptions_Set
endif
set PlatformList = ^(PlatformsSupported, 1)
Ifcontains(i) $($1) in $(PlatformList)
goto ReturnOptions_Set
else
set Status = STATUS_NOTSUPPORTED
goto ReturnOptions_Exit
endif
else
set Status = STATUS_NOLANGUAGE
goto ReturnOptions_Exit
endif
ReturnOptions_Set = +
set OptionList = ^(OptList$($0), 1)
set OptionTextList = ^(OptList$($0), 2)
set Status = STATUS_SUCCESSFUL
ReturnOptions_Exit = +
Return $(Status) $(OptionList) $(OptionTextList)
[LanguagesSupported]
ENG
[GeneralConstants]
from = ""
to = ""
ExitCodeOk = 0
ExitCodeCancel = 1
ExitCodeFatal = 2
Key_Null = ""
MAXIMUM_ALLOWED = 33554432
RegistryErrorIndex = NO_ERROR
Key_Product = ""
Key_HardwareParameters = ""
TRUE = 1
FALSE = 0
NoTitle = 0
ExitState = "Active"
OldVersionExisted = $(FALSE)
DriverPath = $(!STF_NTPATH)\drivers
[date]
Now = {} ? $(!LIBHANDLE) GetSystemDate
[ProductType]
STF_PRODUCT = Winnt
STF_PLATFORM = I386
[PlatformsSupported]
ISA
EISA
PCI
[Install-Option]
Debug-Output "$(STF_CONTEXTINFNAME): Entering Install-Option"
set STF_VITAL = ""
ifstr(i) $(AddCopy) == "YES"
set STF_VITAL = "YES"
AddSectionFilesToCopyList Files-Driver $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
AddSectionFilesToCopyList Files-Dll $(SrcDir) $(!STF_WINDOWSSYSPATH)
AddSectionFilesToCopyList Files-Help $(SrcDir) $(!STF_WINDOWSSYSPATH)
endif
ifstr(i) $(DoCopy) == "YES"
set STF_VITAL = "YES"
set !STF_NCPA_FLUSH_COPYLIST = TRUE
CopyFilesInCopyList
endif
ifstr(i) $(DoConfig) == "YES"
endif
exit
[Install-Update]
Debug-Output "$(STF_CONTEXTINFNAME): Entering Install-Update"
set STF_VITAL = "YES"
set STF_OVERWRITE = "VERIFYSOURCEOLDER"
AddSectionFilesToCopyList Files-Driver $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
AddSectionFilesToCopyList Files-Dll $(SrcDir) $(!STF_WINDOWSSYSPATH)
AddSectionFilesToCopyList Files-Help $(SrcDir) $(!STF_WINDOWSSYSPATH)
set !STF_NCPA_FLUSH_COPYLIST = TRUE
CopyFilesInCopyList
exit
[InstallOption]
;; set !DebugOutputControl = 1
;; set !STF_DISPLAYDEBUGOUTPUT = 1
set LanOption = $($1)
set SrcDir = $($2)
set AddCopy = $($3)
set DoCopy = $($4)
set DoConfig = $($5)
Debug-Output "$(STF_CONTEXTINFNAME): Entering InstallOption"
Debug-Output "$(STF_CONTEXTINFNAME): STF_CWDIR: .$(!STF_CWDIR)."
Debug-Output "$(STF_CONTEXTINFNAME): STF_LANGUAGE: .$(!STF_LANGUAGE)."
Debug-Output "$(STF_CONTEXTINFNAME): !NTN_RegBase .$(!NTN_RegBase)."
Debug-Output "$(STF_CONTEXTINFNAME): !NTN_SoftwareBase .$(!NTN_SoftwareBase)."
Debug-Output "$(STF_CONTEXTINFNAME): LanOption: .$(LanOption). SrcDir: .$(SrcDir)."
Debug-Output "$(STF_CONTEXTINFNAME): AddCopy: .$(AddCopy). DoCopy: .$(DoCopy). DoConfig: .$(DoConfig)."
set LanguageList = ^(LanguagesSupported, 1)
Ifcontains(i) $($0) NOT-IN $(LanguageList)
Return STATUS_NOLANGUAGE
endif
set-subst LF = "\n"
read-syms GeneralConstants
read-syms FileConstants
ForListDo $(KeywordTextList)
set Default = *($(KeywordDefaultList),$(#))
set $($)Value = $(Default)
Debug-Output "$(STF_CONTEXTINFNAME): Default for .$($). = .$(Default)."
EndForListDo
set OptionNameList = ^(OptList$(!STF_LANGUAGE), 1 )
set OptionHdwrNameList = ^(OptList$(!STF_LANGUAGE), 3 )
set OptionHdwrTitleList = ^(OptList$(!STF_LANGUAGE), 4 )
set OptionHdwrDescList = ^(OptList$(!STF_LANGUAGE), 5 )
set SoftwareTitleList = ^(OptList$(!STF_LANGUAGE), 6 )
set SoftwareDescriptionList = ^(OptList$(!STF_LANGUAGE), 7 )
set DialogTitleList = ^(OptList$(!STF_LANGUAGE), 8 )
set ProductHdwrName = *($(OptionHdwrNameList),+
~($(OptionNameList), $($1)))
set ProductHdwrTitle = *($(OptionHdwrTitleList),+
~($(OptionNameList), $($1)))
set ProductHdwrDesc = *($(OptionHdwrDescList),+
~($(OptionNameList), $($1)))
set SoftwareTitle = *($(SoftwareTitleList),+
~($(OptionNameList), $($1)))
set SoftwareDescription = *($(SoftwareDescriptionList),+
~($(OptionNameList), $($1)))
set DialogTitle = *($(DialogTitleList),+
~($(OptionNameList), $($1)))
read-syms DialogConstants$(!STF_LANGUAGE)
ifstr(i) $(!NTN_Origination) == "NCPA"
set Continue = "OK"
endif
read-syms FileConstants$(!STF_LANGUAGE)
detect date
set-title $(DialogTitle)
set to = InstallOptionDispatch
set from = InstallOptionDispatch
set CommonStatus = STATUS_SUCCESSFUL
EndWait
InstallOptionDispatch = +
Debug-Output "$(STF_CONTEXTINFNAME): Entering InstallOptionDispatch"
Ifstr(i) $(!NTN_InstallMode) == deinstall
set StartLabel = RemoveAdapterFromRegistry
else-Ifstr(i) $(!NTN_InstallMode) == Update
set StartLabel = UpgradeSoftware
else-Ifstr(i) $(!NTN_InstallMode) == bind
set StartLabel = CheckAdapterBinding
else-Ifstr(i) $(!NTN_InstallMode) == configure
set StartLabel = GetAdapterConfigFromRegistry
set DoConfig = YES
Ifstr(i) $(KeyName_Software) == $(!NTN_RegBase)
Debug-Output "$(STF_CONTEXTINFNAME): Cannot configure driver software."
Shell $(UtilityInf), RegistryErrorString, CANNOT_CONFIGURE_SOFTWARE
ifint $($ShellCode) != $(!SHELL_CODE_OK)
set ShellErrorSection = UtilityInf:RegistryErrorString
goto ShellCodeError
endif
set Error = $($R0)
set from = InstallOptionExit
set to = InstallOptionExit
goto SetNonFatalInfo
endif
else
set StartLabel = TestForExistingInstallation
set OEM_ABANDON_OPTIONS = {}
set OEM_ABANDON_SOFTWARE = FALSE
set OEM_ABANDON_ON = TRUE
endif
set from = $(FatalError)
set to = $(FatalError)
goto $(StartLabel)
TestForExistingInstallation = +
set OldVersionExisted = $(FALSE)
Debug-Output "$(STF_CONTEXTINFNAME): Entering TestForExistingInstallation"
OpenRegKey $(!REG_H_LOCAL) "" $(KeyName_Software) $(MAXIMUM_ALLOWED) Key_Product
Ifstr $(Key_Product) != $(Key_Null)
CloseRegKey $(Key_Product)
ifstr(i) $(!NTN_RegBase) == $(KeyName_Software)
Shell $(UtilityInf), VerExistedDlg, $(SoftwareTitle), $(SoftwareVersion)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
set ShellErrorSection = UtilityInf:VerExistedDlg
goto ShellCodeError
endif
goto end
else
Shell $(UtilityInf), CardExistedDlg
ifint $($ShellCode) != $(!SHELL_CODE_OK)
set ShellErrorSection = UtilityInf:CardExistedDlg
goto ShellCodeError
endif
ifstr(i) $($R1) == "OK"
set OldVersionExisted = $(TRUE)
else
goto InstallOptionExit
endif
endif
endif
CopyAdapterFiles = +
Debug-Output "$(STF_CONTEXTINFNAME): Entering CopyAdapterFiles"
ifint $(OldVersionExisted) == $(TRUE)
ifstr(i) $(!NTN_InstallMode) == configure
goto GetAdapterConfigFromUser
endif
endif
StartWait
ifint $(OldVersionExisted) == $(FALSE)
ifstr(i) $(!NTN_InstallMode) == "install"
Ifstr(i) $(DoCopy) == "YES"
Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES
Ifint $($ShellCode) != $(!SHELL_CODE_OK)
set ShellErrorSection = UtilityInf:DoAskSource
Goto ShellCodeError
Else-Ifstr(i) $($R0) == STATUS_FAILED
Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
ifint $($ShellCode) != $(!SHELL_CODE_OK)
set ShellErrorSection = UtilityInf:RegistryErrorString
goto ShellCodeError
endif
set Error = $($R0)
Goto FatalError
Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
Goto ProcessSuccessExit
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)
set ShellErrorSection = UtilityInf:RegistryErrorString
goto ShellCodeError
endif
set Error = $($R0)
goto FatalError
endif
endif
endif
GetAdapterConfigFromRegistry = +
Debug-Output "$(STF_CONTEXTINFNAME): Entering GetAdapterConfigFromRegistry"
ifstr(i) $(!NTN_InstallMode) == "install"
goto GetAdapterConfigFromUser
else
Ifstr $(Key_Product) == $(Key_Null)
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) Key_Product
Ifstr $(Key_Product) == $(Key_Null)
set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
Debug-Output $(STF_CONTEXTINFNAME)": Cannot find component product key"
goto FatalRegistryError
Endif
Endif
Shell $(UtilityInf) FindService, $(Key_Product)
Ifint $($ShellCode) != $(!SHELL_CODE_OK)
set ShellErrorSection = UtilityInf:FindService
Goto ShellCodeError
Endif
Ifstr(i) $($R0) != NO_ERROR
Debug-Output "$(STF_CONTEXTINFNAME): Utility:FindService error: $($R0)"
Goto FatalRegistryError
endif
set Key_HardwareParameters = $($R2)
CloseRegKey $($R1)
Ifstr $(Key_HardwareParameters) == $(Key_Null)
set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
Debug-Output $(STF_CONTEXTINFNAME)": Cannot find component service"
goto FatalRegistryError
endif
set OldVersionExisted = $(TRUE)
set ValueName = ""
set ValueData = ""
set ValueStr = ""
set ExistingValueList = {}
EnumRegValue $(Key_HardwareParameters) ExistingValueList
ForListDo $(ExistingValueList)
set ValueEntry = $($)
set ValueName = *($(ValueEntry),1)
set ValueData = *($(ValueEntry),4)
set $(ValueName)Value = $(ValueData)
Debug-Output $(STF_CONTEXTINFNAME)": Registry $(ValueName) = .$(ValueData)."
EndForListDo
Endif
GetAdapterConfigFromUser = +
Debug-Output "$(STF_CONTEXTINFNAME): Entering GetAdapterConfigFromUser"
Ifstr(i) $(DoConfig) == "YES"
LoadLibrary $(Media) $(!STF_WINDOWSSYSPATH)\$(LanDialogDLL) hLib
set from = GetAdapterConfigFromUser
read-syms LanDialog_$(LanOption)
SetHelpFile $(!STF_WINDOWSSYSPATH)"\"$(HelpFile) 10 10 10
ui start "InputDlg" $(hLib)
ifstr(i) $(DLGEVENT) == "CONTINUE"
ui pop 1
read-syms LanDialog_$(LanOption)_PostProcess
ifstr(i) $(LanOption) == "ti$tlan"
Debug-Output "$(STF_CONTEXTINFNAME): SlotValue .$(SlotValue)."
endif
Debug-Output "$(STF_CONTEXTINFNAME): ConnectionValue .$(ConnectionValue)."
Debug-Output "$(STF_CONTEXTINFNAME): NetworkAddressValue .$(NetworkAddressValue)."
else-ifstr(i) $(DLGEVENT) == "CANCEL"
set CommonStatus = STATUS_USERCANCEL
Debug-Output "$(STF_CONTEXTINFNAME): Dialog Action Exit. Bye."
ui pop 1
goto InstallOptionExit
else
ui pop 1
Debug-Output "$(STF_CONTEXTINFNAME): Dialog Action Unknown. Bye."
goto InstallOptionExit
endif
endif
AddAdapterSoftwareToRegistry = +
Ifstr(i) $(!NTN_InstallMode) == configure
goto AddAdapterConfigurationToRegistry
Endif
ifint $(OldVersionExisted) == $(TRUE)
goto AddAdapterHardwareToRegistry
Endif
Shell $(UtilityInf), +
AddSoftwareComponent, +
$(Manufacturer), +
$(LanBaseName), +
$(LanBaseName), +
$(SoftwareTitle), +
$(STF_CONTEXTINFNAME), +
$(SoftwareImage), +
"kernel", "NDIS", {}, "",+
$(NetEventDLL)
Set OEM_ABANDON_SOFTWARE = TRUE
ifint $($ShellCode) != $(!SHELL_CODE_OK)
set ShellErrorSection = UtilityInf:AddSoftwareComponent
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
EndWait
Debug-Output $(STF_CONTEXTINFNAME)": AddAdapterSoftware - add component error"
CloseRegKey $($R1)
CloseRegKey $($R2)
CloseRegKey $($R3)
CloseRegKey $($R4)
CloseRegKey $($R5)
goto FatalRegistryError
endif
Set Key_SoftwareProduct = $($R1)
Set Key_SoftwareNetRules = $($R2)
CloseRegKey $($R3)
CloseRegKey $($R4)
CloseRegKey $($R5)
set NewValueList = {+
{SoftwareType, $(NoTitle), $(!REG_VT_SZ), $(SoftwareType)},+
{MajorVersion, $(NoTitle), $(!REG_VT_DWORD), $(SoftwareMajorVersion)},+
{MinorVersion, $(NoTitle), $(!REG_VT_DWORD), $(SoftwareMinorVersion)},+
{Title, $(NoTitle), $(!REG_VT_SZ), $(SoftwareTitle)},+
{Description, $(NoTitle), $(!REG_VT_SZ), $(SoftwareDescription)},+
{ServiceName, $(NoTitle), $(!REG_VT_SZ), $(LanBaseName)},+
{InstallDate, $(NoTitle), $(!REG_VT_DWORD), *($(Now),1)}+
}
Shell $(UtilityInf), AddValueList, $(Key_SoftwareProduct), $(NewValueList)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
set ShellErrorSection = UtilityInf:AddValueList
goto ShellCodeError
endif
Set RegistryErrorIndex = $($R0)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
EndWait
Debug-Output $(STF_CONTEXTINFNAME)": AddAdapterSoftware - add value list error"
CloseRegKey $(Key_SoftwareProduct)
CloseRegKey $(Key_SoftwareNetRules)
goto FatalRegistryError
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), $(LanOption)}+
}
Shell $(UtilityInf), AddValueList, $(Key_SoftwareNetRules), $(NewValueList)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
set ShellErrorSection = UtilityInf:AddValueList
goto ShellCodeError
endif
Set RegistryErrorIndex = $($R0)
CloseRegKey $(Key_SoftwareProduct)
CloseRegKey $(Key_SoftwareNetRules)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
EndWait
Debug-Output $(STF_CONTEXTINFNAME)": AddAdapterSoftware - add NetRule error"
goto FatalRegistryError
endif
AddAdapterHardwareToRegistry = +
Shell $(UtilityInf), +
AddHardwareComponent, +
$(ProductHdwrName), +
$(STF_CONTEXTINFNAME), +
$(KeyName_Software)
ifint $($R4) != -1
Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4))
endif
ifint $($ShellCode) != $(!SHELL_CODE_OK)
set ShellErrorSection = UtilityInf:AddHardwareComponent
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
EndWait
Debug-Output $(STF_CONTEXTINFNAME)": AddAdapterHardware - add component error"
CloseRegKey $($R1)
CloseRegKey $($R2)
CloseRegKey $($R3)
goto FatalRegistryError
endif
set Key_HardwareNetRules = $($R2)
set Key_HardwareParameters = $($R3)
set AdapterNumber = $($R4)
set NewValueList = {+
{Manufacturer, $(NoTitle), $(!REG_VT_SZ), $(Manufacturer)},+
{Title, $(NoTitle), $(!REG_VT_SZ), "["$($R4)"] "$(ProductHdwrTitle)},+
{Description, $(NoTitle), $(!REG_VT_SZ), $(ProductHdwrDesc)},+
{ProductName, $(NoTitle), $(!REG_VT_SZ), $(ProductHdwrName)},+
{ServiceName, $(NoTitle), $(!REG_VT_SZ), $($R5)},+
{InstallDate, $(NoTitle), $(!REG_VT_DWORD), *($(Now),1)}+
}
Shell $(UtilityInf), AddValueList, $($R1), $(NewValueList)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
set ShellErrorSection = UtilityInf:AddValueList
goto ShellCodeError
endif
CloseRegKey $($R1)
set TempProdName = """"$(ProductHdwrName)$(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), $(LanOption)}+
}
Shell $(UtilityInf), AddValueList, $(Key_HardwareNetRules), $(NewValueList)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
set ShellErrorSection = UtilityInf:AddValueList
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
EndWait
Debug-Output $(STF_CONTEXTINFNAME)": AddAdapterHardware - add NetRule error"
CloseRegKey $(Key_HardwareParameters)
CloseRegKey $(Key_HardwareNetRules)
goto FatalRegistryError
endif
CloseRegKey $(Key_HardwareNetRules)
goto AddAdapterConfigurationToRegistry
AddAdapterConfigurationToRegistry = +
Debug-Output "$(STF_CONTEXTINFNAME): Entering AddAdapterConfigurationToRegistry"
Shell $(UtilityInf),GetBusTypeDialog,$(ProductHdwrDesc) $(BusTypeValue) $(BusNumberValue)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Shell $(UtilityInf), GetBusTypeNum
ifint $($ShellCode) != $(!SHELL_CODE_OK)
set ShellErrorSection = UtilityInf:GetBusTypeNum
goto ShellCodeError
else
set BusTypeValue = $($R1)
set BusNumberValue = 0
endif
else
set BusTypeValue = $($R1)
set BusNumberValue = $($R2)
endif
Debug-Output "$(STF_CONTEXTINFNAME): Entering AddAdapterConfigurationToRegistry"
set NewValueList = "{}"
ForListDo $(KeywordTextList)
set NewValueEntry = { $($), $(NoTitle), *($(KeywordRegTypeList),$(#)), $($($)Value) }
Debug-Output "$(STF_CONTEXTINFNAME): NewValueList Entry = .$(NewValueEntry)."
set NewValueList = >($(NewValueList), $(NewValueEntry))
EndForListDo
Shell $(UtilityInf), AddValueList, $(Key_HardwareParameters), $(NewValueList)
CloseRegKey $(Key_HardwareParameters)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
set ShellErrorSection = UtilityInf:AddValueList
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
Debug-Output $(STF_CONTEXTINFNAME)": AddAdapterConfiguration - add value list error"
goto FatalRegistryError
endif
EndWait
goto ProcessSuccessExit
CheckAdapterBinding =+
Debug-Output "$(STF_CONTEXTINFNAME): Entering CheckAdapterBinding"
set Error = "CheckAdapterBinding: not required for this adapter"
goto FatalError
RemoveAdapterFromRegistry = +
Debug-Output "$(STF_CONTEXTINFNAME): Entering RemoveAdapterFromRegistry"
OpenRegKey $(!REG_H_LOCAL) "" $(KeyName_Software) $(MAXIMUM_ALLOWED) KeyToReferenceCount
Ifstr $(KeyToReferenceCount) == ""
Debug-Output "$(STF_CONTEXTINFNAME): Could not open Software Base Key"
set RefCountBeforeRemove = 2
goto InstallOptionExit
endif
GetRegValue $(KeyToReferenceCount),"RefCount", RefCountInfo
set RefCountBeforeRemove = *($(RefCountInfo), 4)
CloseRegKey $(KeyToReferenceCount)
Debug-Output "$(STF_CONTEXTINFNAME): Removing Hardware Component"
Shell $(UtilityInf), +
RemoveHardwareComponent, +
$(Manufacturer), +
$(LanBaseName), +
$(!NTN_RegBase)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
set ShellErrorSection = UtilityInf:RemoveHardwareComponent
goto ShellCodeError
endif
Ifstr(i) $($R0) != NO_ERROR
Ifstr(i) $($R0) != REF_COUNT_NOT_ZERO
goto FatalRegistryError
endif
endif
ifint $(RefCountBeforeRemove) == 1
OpenRegKey $(!REG_H_LOCAL) "" $(KeyName_SoftwareRoot) $(MAXIMUM_ALLOWED) Key_SoftwareRoot
EnumRegKey $(Key_SoftwareRoot) KeyList
EnumRegValue $(Key_SoftwareRoot) ValueList
CloseRegKey $(Key_SoftwareRoot)
Debug-Output "$(STF_CONTEXTINFNAME): Reg Key .$(KeyName_SoftwareRoot). opened"
Debug-Output "$(STF_CONTEXTINFNAME): KeyList == .$(KeyList)."
Debug-Output "$(STF_CONTEXTINFNAME): ValueList == .$(ValueList)."
ifstr $(KeyList) == "{}"
ifstr $(ValueList) == "{}"
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_SoftwareBase) $(MAXIMUM_ALLOWED) Key_SoftwareBase
DeleteRegKey $(Key_SoftwareBase) $(Manufacturer)
CloseRegKey $(Key_SoftwareBase)
endif
endif
endif
goto InstallOptionExit
UpgradeSoftware = +
Debug-Output "$(STF_CONTEXTINFNAME): Entering UpgradeSoftware"
ifstr(i) $(KeyName_Software) == $(!NTN_RegBase)
OpenRegKey $(!REG_H_LOCAL) "" $(KeyName_Software) $(MAXIMUM_ALLOWED) Key_Product
Ifstr $(Key_Product) != $(Key_Null)
GetRegValue $(Key_Product),"MajorVersion", VersionInfo
set Version = *($(VersionInfo), 4)
Shell $(UtilityInf), GetInfFileNameFromRegistry, $(Key_Product)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
set ShellErrorSection = UtilityInf:GetFileNameFromRegistry
goto ShellCodeError
endif
set !UG_Filename = $($R0)
ifstr(i) $(!UG_Filename) != ""
install "Install-Update"
ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
goto FatalError
endif
endif
SetRegValue $(Key_Product) {MajorVersion, $(NoTitle), $(!REG_VT_SZ), $(SoftwareMajorVersion)}
SetRegValue $(Key_Product) {MinorVersion, $(NoTitle), $(!REG_VT_SZ), $(SoftwareMinorVersion)}
ifint $(Version) != $(SoftwareVersion)
Debug-Output "$(STF_CONTEXTINFNAME): Version .$(Version). != SoftwareVersion .$(SoftwareVersion)."
endif
CloseRegKey $(Key_Product)
else
goto FatalRegistryError
endif
else
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) NetworkCardKey
Ifstr(i) $(NetworkCardKey) != $(Key_Null)
GetRegValue $(NetworkCardKey),"ServiceName", ServiceNameInfo
set ServiceName = *($(ServiceNameInfo), 4)
OpenRegKey $(NetworkCardKey) "" "NetRules" $(MAXIMUM_ALLOWED) NetRuleKey
Ifstr(i) $(NetRuleKey) != $(Key_Null)
Debug-Output "$(STF_CONTEXTINFNAME): NetRuleKey .$(NetRuleKey). != Key_Null .$(Key_Null)."
else
goto FatalRegistryError
endif
CloseRegKey $(NetRules)
CloseRegKey $(NetworkCardKey)
else
goto FatalRegistryError
endif
OpenRegKey $(!REG_H_LOCAL) +
"" $(!NTN_ServiceBase)"\"$(ServiceName) +
$(MAXIMUM_ALLOWED) +
ServiceKey
Ifstr(i) $(ServiceKey) != $(Key_Null)
CloseRegKey $(ServiceKey)
else
goto FatalRegistryError
endif
endif
goto InstallOptionExit
ProcessSuccessExit = +
goto InstallOptionExit
ProcessAbandonInstall = +
ForListDo $(OEM_ABANDON_OPTIONS)
Shell $(UtilityInf), +
RemoveHardwareComponent, +
$(Manufacturer), +
$(LanBaseName), +
$($)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
set ShellErrorSection = UtilityInf:RemoveHardwareComponent
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
goto FatalRegistryError
endif
EndForListDo
Ifstr(i) $(OEM_ABANDON_SOFTWARE) == TRUE
Shell $(UtilityInf), +
RemoveSoftwareComponent, +
$(Manufacturer), +
$(LanBaseName), +
FALSE
ifint $($ShellCode) != $(!SHELL_CODE_OK)
set ShellErrorSection = UtilityInf:RemoveSoftwareComponent
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
goto FatalRegistryError
endif
endif
goto InstallOptionExit
ProcessWarningMessage = +
Shell $(SubroutineInf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
set ShellErrorSection = SubroutineInf:SetupMessage
goto ShellCodeError
endif
ifstr(i) $($R1) == "OK"
goto $(to)
else-ifstr(i) $($R1) == "CANCEL"
goto $(from)
else
goto "InstallOptionExit"
endif
SetNonFatalInfo = +
Set CommonStatus = STATUS_USERCANCEL
Set Severity = STATUS
goto ProcessNonFatalMessage
ProcessNonFatalMessage = +
ifstr(i) $(Error) == ""
Set Severity = NONFATAL
Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
ifint $($ShellCode) != $(!SHELL_CODE_OK)
set ShellErrorSection = UtilityInf:RegistryErrorString
goto ShellCodeError
endif
set Error = $($R0)
endif
Shell $(SubroutineInf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
set ShellErrorSection = SubroutineInf:SetupMessage
goto ShellCodeError
endif
ifstr(i) $($R1) == "OK"
goto $(from)
else
goto "InstallOptionExit"
endif
FatalRegistryError = +
Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
set ShellErrorSection = UtilityInf:RegistryErrorString
goto ShellCodeError
endif
set Error = $($R0)
goto FatalError
FatalError = +
ifstr(i) $(Error) == ""
Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
ifint $($ShellCode) != $(!SHELL_CODE_OK)
set ShellErrorSection = UtilityInf:RegistryErrorString
goto ShellCodeError
endif
set Error = $($R0)
endif
Shell $(SubroutineInf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
set ShellErrorSection = UtilityInf:SetupMessage
goto ShellCodeError
endif
goto SetFailedStatusAndExit
ShellCodeError = +
Debug-Output $(STF_CONTEXTINFNAME)": Shell error, $(ShellErrorSection)"
set DlgType = "MessageBox"
set STF_MB_TITLE = "Error: "$(DialogTitle)
set STF_MB_TEXT = "Shell Code Error"
set STF_MB_TYPE = 1
set STF_MB_ICON = 3
set STF_MB_DEF = 1
ui start "Error Message"
goto SetFailedStatusAndExit
SetFailedStatusAndExit = +
set CommonStatus = STATUS_FAILED
ifstr(i) $(OEM_ABANDON_ON) == TRUE
set OEM_ABANDON_ON = FALSE
goto ProcessAbandonInstall
endif
goto InstallOptionExit
InstallOptionExit = +
Return $(CommonStatus)
Download 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.