;
; Purpose: Netcard setup information file for Windows NT 3.51 / NT 4.0
;
; Author: Tevin Chen
;
; Date: May, 2001
;
[Identification]
OptionType = NetAdapter
[PlatformsSupported]
PCI
[Options]
; VT3043/VT3065 based Fast Ethernet Adapter (Controller)
FET
[PropertiesFET]
Property_1 = "ConnectionType", +
"Connection Type", +
"0,1,2,3,4", +
"Auto-Negotiation,100BaseTx Half Duplex,100BaseTx Full Duplex,10BaseT Half Duplex,10BaseT Full Duplex", +
"enum"
Property_2 = "ValidatePacketLen", +
"Validate Packet Length", +
"0,1", +
"Disabled,Enabled", +
"enum"
Property_3 = "NetworkAddress", +
"Network Address", +
"", +
"", +
"edit"
Property_4 = "TransmitBuffers", +
"Transmit Buffers", +
"4,128", +
"", +
"int"
Property_5 = "ReceiveBuffers", +
"Receive Buffers", +
"4,128", +
"", +
"int"
;============================================================================
[FileConstants]
UtilityInf = "UTILITY.INF"
subroutineinf = "SUBROUTN.INF"
SoftwareType = "driver"
Exit_Code = 0
NetEventDLL = "%SystemRoot%\System32\netevent.dll"
IoLogMsgDLL = "%SystemRoot%\System32\IoLogMsg.dll"
Manufacturer = "VIA Technologies, Inc."
; Driver Version info
; VERSION.... 2.64
ProductMajorVersion = "2"
ProductMinorVersion = "64"
ProductVersion = $(ProductMajorVersion)"."$(ProductMinorVersion)
; DEVICE_ID....
; (0x1106 == 4358)
VendorID = 4358
ProductSoftwareName = "FETNDIS"
ProductSoftwareTitle = "PCI 10/100Mb Fast Ethernet Adapter Driver"
NT4Driver = "fetnd4.sys"
NT351Driver = "fetnd3.sys"
ProductSoftwareImagePathNT4 = "\SystemRoot\System32\drivers\"$(NT4Driver)
ProductSoftwareImagePathNT351 = "\SystemRoot\System32\drivers\"$(NT351Driver)
NetRuleSoftwareType = "FETSys ndisDriver FETDriver"
NetRuleSoftwareUse = $(SoftwareType)
NetRuleSoftwareBindForm = """FETSys"" yes no container"
NetRuleSoftwareClass = {"FETDriver basic"}
NetRuleSoftwareSWBindable = {"FETDriver FETAdapter non exclusive 100"}
HelpFileName = "fetndh.hlp"
ProductHardwareName = "FETNDIS"
ProductHardwareFETVT3065Title = "VIA PCI 10/100Mb Fast Ethernet Adapter"
ProductHardwareFETVT3043Title = "VIA VT86C100A Fast Ethernet Adapter"
ProductHardwareFETDescription = "PCI 10/100Mb Fast Ethernet Adapter"
NetRuleHardwareFETType = "FET FETAdapter"
NetRuleHardwareFETClass = {"FETAdapter basic"}
AdapterFETType = 5 ;; PCI board
HelpFETId = 30
; DEVICE_ID....
; VT3043 (0x30431106 == 809701638)
VT3043CFID = 809701638
; VT3065 (0x30651106 == 811929862)
VT3065CFID = 811929862
; SubID....
VT3065SubID = "11060102"
VT3043SubID = "11060100"
NetRuleHardwareBindForm = " yes yes container"
ProductKeyName = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion"
ParamKeyName = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters"
;============================================================================
[GeneralConstants]
Sub = ""
from = ""
to = ""
ExitCodeOk = 0
ExitCodeCancel = 1
ExitCodeFatal = 2
KeyNull = ""
MAXIMUM_ALLOWED = 33554432
RegistryErrorIndex = NO_ERROR
KeyProduct = ""
KeyParameters = ""
TRUE = 1
FALSE = 0
NoTitle = 0
ExitState = "Active"
OldVersionExisted = $(FALSE)
DriverPath = $(!STF_NTPATH)\drivers
NT351Version = "3.51"
NT40Version = "4.0"
;============================================================================
[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 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
set-subst LF = "\n"
read-syms GeneralConstants
read-syms FileConstants
set NetRuleSoftwareBindable = $($R1)
read-syms DialogConstants$(!STF_LANGUAGE)
ifstr(i) $(!NTN_Origination) == "NCPA"
set Continue = "OK"
endif
read-syms FileConstants$(!STF_LANGUAGE)
detect date
set-title $(Function$(Option)Title)
set to = Begin
set from = Begin
set CommonStatus = STATUS_SUCCESSFUL
EndWait
;----------------------------------------------------------------------------
Begin = +
; Get the version of NT from registry (for NT3.51/NT4.0)
set CurrentVersionValue = ""
OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\Windows NT\CurrentVersion" $(!REG_KEY_READ) KeyNt
ifstr(i) $(KeyNt) != ""
GetRegValue $(KeyNt) "CurrentVersion" CurrentVersionValue
CloseRegKey $(KeyNt)
endif
set TargetVersion = *($(CurrentVersionValue),4)
set TargetOS = ""
ifstr $(TargetVersion) == $(NT351Version)
set TargetOS = "NT351"
else-ifstr $(TargetVersion) == $(NT40Version)
set TargetOS = "NT4"
else
set Error = "This driver does not support Windows NT version "*($(CurrentVersionValue),4)" !"
goto fatal
endif
Ifstr(i) $(!NTN_InstallMode) == deinstall
set StartLabel = removeadapter
else-Ifstr(i) $(!NTN_InstallMode) == Update
set StartLabel = UpgradeSoftware
else-Ifstr(i) $(!NTN_InstallMode) == bind
set StartLabel = bindingadapter
else-Ifstr(i) $(!NTN_InstallMode) == configure
Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
set Error = $($R0)
set from = end
set to = end
goto nonfatalinfo
else
set StartLabel = configureadapter
endif
else
set StartLabel = installadapter
set OEM_ABANDON_OPTIONS = {}
set OEM_ABANDON_SOFTWARE = FALSE
set OEM_ABANDON_ON = TRUE
endif
set from = $(fatal)
set to = $(fatal)
goto $(StartLabel)
;----------------------------------------------------------------------------
installadapter = +
install "Install-UTIL"
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)
goto ShellCodeError
endif
goto end
else
Shell $(UtilityInf), CardExistedDlg
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
ifstr(i) $($R1) != "OK"
set CommonStatus = STATUS_USERCANCEL
goto end
endif
set OldVersionExisted = $(TRUE)
endif
Endif
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)
; HELP....
;install "Install-Hlp"
endif
Goto installproduct
;----------------------------------------------------------------------------
configureadapter = +
Ifstr(i) $(KeyProduct) == $(KeyNull)
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) KeyProduct
Ifstr $(KeyProduct) == $(KeyNull)
Set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
Goto fatalregistry
Endif
Endif
Shell $(UtilityInf) FindService, $(KeyProduct)
Ifint $($ShellCode) != $(!SHELL_CODE_OK)
Goto ShellCodeError
Endif
Ifstr(i) $($R0) != NO_ERROR
Goto fatalregistry
endif
set KeyParameters = $($R2)
CloseRegKey $($R1)
Ifstr $(KeyParameters) == $(KeyNull)
set RegistryErrorIndex = 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) == "AdapterSubID"
set AdapterSub = $(ValueData)
endif
EndForListDo
set CurrKeyValueList = {}
ForListDo $(PropertyKeyList)
set KeyName = $($)
ForListDo $(ValueList)
set ValueName = *($($), 1)
set ValueData = *($($), 4)
ifstr $(ValueName) == $(KeyName)
set CurrKeyValueList = >($(CurrKeyValueList), $(ValueData))
endif
EndForListDo
EndForListDo
;----------------------------------------------------------------------------
adapteroptions = +
set from = adapteroptions
LoadLibrary "" $(!STF_WINDOWSSYSPATH)"\ntutil.dll" PropHandle
LibraryProcedure SetResult, $(PropHandle), ShowProp, $(PropertyList), +
$(CurrKeyValueList), +
$(KeyValueList), +
$(ComboValueList), +
$(ValueTypeList), +
$(HelpFileName)
FreeLibrary $(PropHandle)
ifstr $(SetResult) == "PROPERTY_UI_USER_CANCEL"
set CommonStatus = STATUS_USERCANCEL
goto end
endif
ifstr $(SetResult) == $(CurrKeyValueList)
set CommonStatus = STATUS_USERCANCEL
goto end
endif
ifstr(i) $(!NTN_InstallMode) == configure
goto updateparameters
endif
;----------------------------------------------------------------------------
installproduct =+
StartWait
; DEVICE_ID....
; 65535
; search device ID for 3043 and 3065
set AdapterList65 = {}
set AdapterList43 = {}
set-div DeviceID = $(VT3043CFID) 65535
Shell $(UtilityInf), GetPCIInformation, $(VendorID) $(DeviceID)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
LoadLibrary "" $(!STF_WINDOWSSYSPATH)"\ntutil.dll" LibHandle
ifstr(i) $($R0) == {}
set-div DeviceID = $(VT3065CFID) 65535
Shell $(UtilityInf), GetPCIInformation, $(VendorID) $(DeviceID)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
ifstr(i) $($R0) == {}
set Error = $(CANNOT_FIND_ANY_CARD)
set CommonStatus = USER_CANCEL
set from = end
goto nonfatal
else
ForListDo $($R0)
set BusNum = *($($),1)
set DeviceNum = *($($),2)
set FunctionNum = *($($),3)
LibraryProcedure Result, $(LibHandle), GetSubID, $(BusNum), $(DeviceNum), $(FunctionNum)
ifstr $(Result) == $(VT3065SubID)
set AdapterList65 = >($(AdapterList65), $($))
endif
EndForListDo
endif
else
set AdapterList43 = $($R0)
set-div DeviceID = $(VT3065CFID) 65535
Shell $(UtilityInf), GetPCIInformation, $(VendorID) $(DeviceID)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
Ifstr(i) $($R0) != {}
ForListDo $($R0)
set BusNum = *($($),1)
set DeviceNum = *($($),2)
set FunctionNum = *($($),3)
LibraryProcedure Result, $(LibHandle), GetSubID, $(BusNum), $(DeviceNum), $(FunctionNum)
ifstr $(Result) == $(VT3065SubID)
set AdapterList65 = >($(AdapterList65), $($))
endif
EndForListDo
Endif
endif
ifint $(OldVersionExisted) == $(FALSE)
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 help file. In attended mode, system will execute the installation from
; "installproduct" , so, I add another install help here (AJ 3/25/1999)
;install "Install-Hlp"
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
Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), +
$(ProductSoftwareName), +
$(ProductSoftwareName), +
$(ProductSoftwareTitle), +
$(STF_CONTEXTINFNAME), +
$(ProductSoftwareImagePath$(TargetOS)), +
"kernel", +
"NDIS", +
{}, +
"", +
$(NetEventDLL)
Set OEM_ABANDON_SOFTWARE = TRUE
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
EndWait
CloseRegKey $($R1)
CloseRegKey $($R2)
CloseRegKey $($R3)
CloseRegKey $($R4)
CloseRegKey $($R5)
goto fatalregistry
endif
Set SoftProductKey = $($R1)
Set SoftNetRuleKey = $($R2)
Set SoftServiceKey = $($R3)
Set SoftParameterKey = $($R4)
Set SoftLinkageKey = $($R5)
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, $(SoftProductKey), $(NewValueList)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
EndWait
CloseRegKey $(SoftProductKey)
CloseRegKey $(SoftNetRuleKey)
CloseRegKey $(SoftServiceKey)
CloseRegKey $(SoftParameterKey)
CloseRegKey $(SoftLinkageKey)
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),$(NetRuleSoftwareSWBindable)}, +
{InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
Shell $(UtilityInf), AddValueList, $(SoftNetRuleKey), $(NewValueList)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
CloseRegKey $(SoftProductKey)
CloseRegKey $(SoftNetRuleKey)
CloseRegKey $(SoftServiceKey)
CloseRegKey $(SoftParameterKey)
CloseRegKey $(SoftLinkageKey)
Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
EndWait
goto fatalregistry
endif
endif
;----------------------------------------------------------------------------
ifstr(i) $(AdapterList65) == {}
goto InstallAdapter43
endif
ForListDo $(AdapterList65)
set BusNum = *($($),1)
set DeviceNum = *($($),2)
set FunctionNum = *($($),3)
set Sub = "VT3065"
Shell $(UtilityInf), IsNetCardAlreadyInstalled, $(BusNum), +
$(DeviceNum), +
$(ProductHardware$(Option)$(Sub)Title), +
$(ProductHardwareName), +
"YES"
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
ifstr $($R0) != "NO_ERROR"
set Error = $($R0)
goto fatal
endif
ifstr(i) $($R1) != "YES"
Shell $(UtilityInf), AddHardwareComponent, $(ProductHardwareName), +
$(STF_CONTEXTINFNAME), +
$(ProductKeyName)
ifint $($R4) != -1
Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4))
endif
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
EndWait
CloseRegKey $($R1)
CloseRegKey $($R2)
CloseRegKey $($R3)
goto fatalregistry
endif
;read-syms FileDependentDlg$(!STF_LANGUAGE)
;SetHelpFile $(!STF_WINDOWSSYSPATH)"\"$(OptionHelpFile) $(MinHelpId) $(MaxHelpId) $(Help$(Option)Id)
; support unattended mode installation under windows NT 4.0 (AJ 03/22/1999)
ifstr $(!STF_GUI_UNATTENDED) != "YES"
;ui start "InputDlg"
;ifstr(i) $(DLGEVENT) == "CONTINUE"
; set ConnectionIndex = $(Combo1Out)
ui pop 1
;else-ifstr(i) $(DLGEVENT) == "BACK"
; set CommonStatus = STATUS_USERCANCEL
; ui pop 1
; goto end
;else
; ui pop 1
; goto end
;endif
endif
Set HardNetCardKey = $($R1)
Set HardNetRuleKey = $($R2)
Set HardParameterKey = $($R3)
set AdapterNumber = $($R4)
set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+
{Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardware$(Option)$(Sub)Title)},+
{Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardware$(Option)Description)},+
{ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+
{ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
{InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
Shell $(UtilityInf), AddValueList, $(HardNetCardKey), $(NewValueList)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
set BusTypeNum = 5
set NewValueList = {{AdapterType,$(NoTitle),$(!REG_VT_DWORD),$(Adapter$(Option)Type)},+
{MediaType,$(NoTitle),$(!REG_VT_DWORD),1},+
{BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusTypeNum)},+
{AdapterCFID,$(NoTitle),$(!REG_VT_DWORD),$(VT3065CFID)}}
Shell $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
; for 3065 registery
set NewValueList = {{ReceiveBuffers,$(NoTitle),$(!REG_VT_DWORD),64},+
{TransmitBuffers,$(NoTitle),$(!REG_VT_DWORD),32},+
{ReceiveBurstIndicate,$(NoTitle),$(!REG_VT_DWORD),32},+
{ReceiveThreshold,$(NoTitle),$(!REG_VT_DWORD),0},+
{TransmitThreshold,$(NoTitle),$(!REG_VT_DWORD),0},+
{BurstLength,$(NoTitle),$(!REG_VT_DWORD),1},+
{MapRegisters,$(NoTitle),$(!REG_VT_DWORD),32},+
{EarlyReceive,$(NoTitle),$(!REG_VT_DWORD),0},+
{EarlyTransmit,$(NoTitle),$(!REG_VT_DWORD),0},+
{ValidatePacketLen,$(NoTitle),$(!REG_VT_DWORD),1},+
{NetworkAddress,$(NoTitle),$(!REG_VT_SZ),"000000000000"},+
{ConnectionType, $(NoTitle),$(!REG_VT_DWORD),0}}
Shell $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
endif
set TempProdName = """"$(ProductHardwareName)$(AdapterNumber)""""
set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardware$(Option)Type)},+
{bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, +
{class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardware$(Option)Class)}, +
{InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
Shell $(UtilityInf), AddValueList, $(HardNetRuleKey), $(NewValueList)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
CloseRegKey $(HardNetCardKey)
CloseRegKey $(HardNetRuleKey)
set NewValueList = {{BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNum)},+
{SlotNumber,$(NoTitle),$(!REG_VT_DWORD),$(DeviceNum)},+
{FunctionNumber,$(NoTitle),$(!REG_VT_DWORD),$(FunctionNum)}}
Shell $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
CloseRegKey $(HardParameterKey)
EndForListDo
FreeLibrary $(LibHandle)
ifstr(i) $(AdapterList43) == {}
goto InstallAdapterOK
endif
;----------------------------------------------------------------------------
InstallAdapter43 =+
ForListDo $(AdapterList43)
set BusNum = *($($),1)
set DeviceNum = *($($),2)
set FunctionNum = *($($),3)
set Sub = "VT3043"
Shell $(UtilityInf), IsNetCardAlreadyInstalled, $(BusNum), +
$(DeviceNum), +
$(ProductHardware$(Option)$(Sub)Title), +
$(ProductHardwareName), +
"YES"
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
ifstr $($R0) != "NO_ERROR"
set Error = $($R0)
goto fatal
endif
ifstr(i) $($R1) != "YES"
Shell $(UtilityInf), AddHardwareComponent, $(ProductHardwareName),$(STF_CONTEXTINFNAME),$(ProductKeyName)
ifint $($R4) != -1
Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4))
endif
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
EndWait
CloseRegKey $($R1)
CloseRegKey $($R2)
CloseRegKey $($R3)
goto fatalregistry
endif
;read-syms FileDependentDlg$(!STF_LANGUAGE)
;SetHelpFile $(!STF_WINDOWSSYSPATH)"\"$(OptionHelpFile) $(MinHelpId) $(MaxHelpId) $(Help$(Option)Id)
; support unattended mode installation under windows NT 4.0 (AJ 03/22/1999)
ifstr $(!STF_GUI_UNATTENDED) != "YES"
;ui start "InputDlg"
;ifstr(i) $(DLGEVENT) == "CONTINUE"
; set ConnectionIndex = $(Combo1Out)
ui pop 1
;else-ifstr(i) $(DLGEVENT) == "BACK"
; set CommonStatus = STATUS_USERCANCEL
; ui pop 1
; goto end
;else
; ui pop 1
; goto end
;endif
endif
Set HardNetCardKey = $($R1)
Set HardNetRuleKey = $($R2)
Set HardParameterKey = $($R3)
set AdapterNumber = $($R4)
set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+
{Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardware$(Option)$(Sub)Title)},+
{Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardware$(Option)Description)},+
{ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+
{ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
{InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
Shell $(UtilityInf), AddValueList, $(HardNetCardKey), $(NewValueList)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
set BusTypeNum = 5
set NewValueList = {{AdapterType,$(NoTitle),$(!REG_VT_DWORD),$(Adapter$(Option)Type)},+
{MediaType,$(NoTitle),$(!REG_VT_DWORD),1},+
{BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusTypeNum)},+
{AdapterCFID,$(NoTitle),$(!REG_VT_DWORD),$(VT3043CFID)}}
Shell $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
; for 3043 registery
set NewValueList = {{ReceiveBuffers,$(NoTitle),$(!REG_VT_DWORD),64},+
{TransmitBuffers,$(NoTitle),$(!REG_VT_DWORD),8},+
{ReceiveBurstIndicate,$(NoTitle),$(!REG_VT_DWORD),32},+
{ReceiveThreshold,$(NoTitle),$(!REG_VT_DWORD),0},+
{TransmitThreshold,$(NoTitle),$(!REG_VT_DWORD),0},+
{BurstLength,$(NoTitle),$(!REG_VT_DWORD),1},+
{MapRegisters,$(NoTitle),$(!REG_VT_DWORD),8},+
{EarlyReceive,$(NoTitle),$(!REG_VT_DWORD),0},+
{EarlyTransmit,$(NoTitle),$(!REG_VT_DWORD),0},+
{ValidatePacketLen,$(NoTitle),$(!REG_VT_DWORD),1},+
{NetworkAddress,$(NoTitle),$(!REG_VT_SZ),"000000000000"},+
{ConnectionType, $(NoTitle),$(!REG_VT_DWORD),0}}
Shell $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
endif
set TempProdName = """"$(ProductHardwareName)$(AdapterNumber)""""
set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardware$(Option)Type)},+
{bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, +
{class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardware$(Option)Class)}, +
{InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
Shell $(UtilityInf), AddValueList, $(HardNetRuleKey), $(NewValueList)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
CloseRegKey $(HardNetCardKey)
CloseRegKey $(HardNetRuleKey)
set NewValueList = {{BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNum)},+
{SlotNumber,$(NoTitle),$(!REG_VT_DWORD),$(DeviceNum)},+
{FunctionNumber,$(NoTitle),$(!REG_VT_DWORD),$(FunctionNum)}}
Shell $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
CloseRegKey $(HardParameterKey)
EndForListDo
;----------------------------------------------------------------------------
InstallAdapterOK =+
EndWait
goto successful
;----------------------------------------------------------------------------
updateparameters =+
ForListDo $(PropertyKeyList)
set KeyName = $($)
set PropIndex = ~($(PropertyKeyList), $(KeyName))
ifstr *($(SetResult), $(PropIndex)) != *($(CurrKeyValueList), $(PropIndex))
set NewRegValue = *($(SetResult), $(PropIndex))
Ifstr $(KeyName) == "NetworkAddress"
set NewValueList = {{$(KeyName),$(NoTitle),$(!REG_VT_SZ),$(NewRegValue)}}
Else
set NewValueList = {{$(KeyName),$(NoTitle),$(!REG_VT_DWORD),$(NewRegValue)}}
Endif
shell $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList)
Ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
Endif
endif
EndForListDo
goto successful
;----------------------------------------------------------------------------
bindingadapter =+
set Error = "Binding: Sorry, not yet implemented."
goto fatal
removeadapter = +
Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
$(ProductSoftwareName)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
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)
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
goto fatalregistry
endif
endif
goto end
;----------------------------------------------------------------------------
UpgradeSoftware = +
OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
Ifstr $(KeyProduct) != $(KeyNull)
Shell $(UtilityInf), GetInfFileNameFromRegistry, $(KeyProduct)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "ShellCode error"
goto ShellCodeError
endif
set !UG_Filename = $($R0)
install "Install-Update"
ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
goto fatal
endif
SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)}
SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)}
CloseRegKey $(KeyProduct)
else
goto fatalregistry
endif
goto end
;----------------------------------------------------------------------------
successful = +
goto end
;----------------------------------------------------------------------------
abandon = +
ForListDo $(OEM_ABANDON_OPTIONS)
Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
$(ProductSoftwareName), $($)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
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)
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
goto fatalregistry
endif
endif
goto end
;----------------------------------------------------------------------------
warning = +
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 = +
Set CommonStatus = STATUS_USERCANCEL
Set Severity = STATUS
goto nonfatalmsg
;----------------------------------------------------------------------------
nonfatal = +
Set Severity = NONFATAL
goto nonfatalmsg
;----------------------------------------------------------------------------
nonfatalmsg = +
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 = +
Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
set Error = $($R0)
goto fatal
;----------------------------------------------------------------------------
fatal = +
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 = +
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 = +
set CommonStatus = STATUS_FAILED
ifstr(i) $(OEM_ABANDON_ON) == TRUE
set OEM_ABANDON_ON = FALSE
goto abandon
endif
goto end
;----------------------------------------------------------------------------
end = +
goto term
;----------------------------------------------------------------------------
term = +
Return $(CommonStatus)
[Install-Option]
set STF_VITAL = ""
ifstr(i) $(AddCopy) == "YES"
AddSectionFilesToCopyList Files-$(Option)-$(TargetOS) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
endif
ifstr(i) $(DoCopy) == "YES"
set !STF_NCPA_FLUSH_COPYLIST = TRUE
CopyFilesInCopyList
endif
Exit
;----------------------------------------------------------------------------
[Install-Update]
set STF_VITAL = ""
set STF_OVERWRITE = "VERIFYSOURCEOLDER"
; HELP....
AddSectionFilesToCopyList Files-Inf $(SrcDir) $(!STF_WINDOWSSYSPATH)
AddSectionFilesToCopyList Files-$(Option)-$(TargetOS) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
AddSectionFilesToCopyList Files-SubID $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
AddSectionFilesToCopyList Files-PropUI $(SrcDir) $(!STF_WINDOWSSYSPATH)
set !STF_NCPA_FLUSH_COPYLIST = TRUE
CopyFilesInCopyList
exit
[Install-UTIL]
set STF_VITAL = ""
set STF_OVERWRITE = "ALWAYS"
AddSectionFilesToCopyList Files-SubID $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
AddSectionFilesToCopyList Files-PropUI $(SrcDir) $(!STF_WINDOWSSYSPATH)
CopyFilesInCopyList
ClearCopyList
exit
[Source Media Descriptions]
1 = "PCI 10/100Mb Fast Ethernet Adapter Driver"
[ProductType]
STF_PRODUCT = Winnt
STF_PLATFORM = I386
STF_PLATFORM = Alpha
;============================================================================
[Files-Inf]
2, oemsetup.inf, SIZE=1000, RENAME=$(!UG_Filename)
[Files-FET-NT4]
1, fetnd4.sys , SIZE=999
[Files-FET-NT351]
1, fetnd3.sys , SIZE=999
[Files-SubID]
1, pcienum.sys , SIZE=999
[Files-PropUI]
1, ntutil.dll , SIZE=999
1, fetndh.hlp , SIZE=999
;============================================================================
[LanguagesSupported]
ENG
[OptionsTextENG]
FET = "VIA PCI 10/100Mb Fast Ethernet 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:"
ProductSoftwareDescription = "PCI 10/100Mb Fast Ethernet Adapter Driver"
FunctionFETTitle = "PCI 10/100Mb Fast Ethernet Adapter Setup"
ShellCodeErrorTitle = "Error: "$(Function$(Option)Title)
ShellCodeErrorText = "Shell Code Error."
CANNOT_FIND_ANY_CARD = "Network card is not present in the system"
; Add for New UI ****************
PropertyKeyList = ^(Properties$(Option), 1)
PropertyList = ^(Properties$(Option), 2)
KeyValueList = ^(Properties$(Option), 3)
ComboValueList = ^(Properties$(Option), 4)
ValueTypeList = ^(Properties$(Option), 5)
[DialogConstantsENG]
Help = "&Help"
Exit = "Cancel"
OK = "OK"
HelpContext = ""
Continue = "Continue"
Cancel = "Cancel"
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.