;
; 12/02/96 v 3.05b
;
; Windows NT 4.0 .inf file
;
; SMC Ethernet (8416, 8216, 8013, MCA, etc..,)
;
[Identification]
OptionType = NetAdapter
[PlatformsSupported]
MCA
ISA
EISA
"Jazz-Internal Bus"
[Options]
SMC8416
SMC8216
SMC8013
SMC8003
[CardInfo]
SMCISA = 0, 0, smcisa, 0
[FileConstants]
ParamInf = "NCPARAM.INF"
UtilityInf = "UTILITY.INF"
subroutineinf = "SUBROUTN.INF"
SoftwareType = "driver"
Exit_Code = 0
NetEventDLL = "%SystemRoot%\System32\netevent.dll"
IoLogMsgDLL = "%SystemRoot%\System32\IoLogMsg.dll"
CardList = ^(CardInfo,0)
Card1ByteList = ^(CardInfo, 1)
Card2ByteList = ^(CardInfo, 2)
CardRuleList = ^(CardInfo, 3)
CardIDList = ^(CardInfo, 4 )
Card1Byte = *($(Card1ByteList), ~($(CardList), $(Option)))
Card2Byte = *($(Card2ByteList), ~($(CardList), $(Option)))
NETCARD_ID = *($(CardIDList), ~($(CardList), $(Option)))
CardRule = *($(CardRuleList), ~($(CardList), $(Option)))
EthernetCards = { SMCISA }
TokenRingCards = { WD8115TR }
Manufacturer = "SMC"
ProductMajorVersion = "3"
ProductMinorVersion = "05"
ProductVersion = $(ProductMajorVersion)"."$(ProductMinorVersion)
ProductSoftwareName = "SMC8000N"
ProductSoftwareImagePath = "%SystemRoot%\System32\drivers\smc8000n.sys"
NetRuleSoftwareType = "smc8000nSys ndisDriver smc8000nDriver"
NetRuleSoftwareUse = $(SoftwareType)
NetRuleSoftwareBindForm = """Smc8000nDriver"" yes no container"
NetRuleSoftwareClass = {"smc8000nDriver basic"}
ProductHardwareName = $(Option)
;NetRuleHardwareType = "smcisa smcisaAdapter"
NetRuleHardwareType = $(CardRule)" "$(CardRule)"Adapter"
NetRuleHardwareTypeMCA = $(CardRule)" "$(CardRule)"Adapter"
NetRuleHardwareBindForm = " yes yes container"
;NetRuleHardwareClass = {"smcisaAdapter basic"}
NetRuleHardwareClass = {""$(CardRule)"Adapter basic"}
NetRuleHardwareClassMCA = {""$(CardRule)"Adapter basic"}
ProductKeyName = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion"
ParamKeyName = $(!NTN_ServiceBase)$(ProductHardwareName)"\Parameters"
[GeneralConstants]
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
[SmcIrqs]
IRQ0 = "3",3
IRQ1 = "5",5
IRQ2 = "7",7
IRQ3 = "9",9
IRQ4 = "10",10
IRQ5 = "11",11
IRQ6 = "15",15
[SmcIoBase]
Base0 = "0x300",0x0300
Base1 = "0x200",0x0200
Base2 = "0x220",0x0220
Base3 = "0x240",0x0240
Base4 = "0x260",0x0260
Base5 = "0x280",0x0280
Base6 = "0x2A0",0x02A0
Base7 = "0x2C0",0x02C0
Base8 = "0x2E0",0x02E0
Base9 = "0x320",0x0320
Base10 = "0x340",0x0340
Base11 = "0x360",0x0360
Base12 = "0x380",0x0380
Base13 = "0x3A0",0x03A0
Base14 = "0x3C0",0x03C0
Base15 = "0x3E0",0x03E0
[SmcMemAddr]
MemAddr0 = "IOMapped",IOMapped
MemAddr0 = "0xC0000",0xC0000
MemAddr0 = "0xC2000",0xC2000
MemAddr0 = "0xC4000",0xC4000
MemAddr0 = "0xC6000",0xC6000
MemAddr0 = "0xC8000",0xC8000
MemAddr0 = "0xCA000",0xCA000
MemAddr0 = "0xCC000",0xCC000
MemAddr0 = "0xCE000",0xCE000
MemAddr0 = "0xD0000",0xD0000
MemAddr0 = "0xD2000",0xD2000
MemAddr0 = "0xD4000",0xD4000
MemAddr0 = "0xD6000",0xD6000
MemAddr0 = "0xD8000",0xD8000
MemAddr0 = "0xDA000",0xDA000
MemAddr0 = "0xDC000",0xDC000
MemAddr0 = "0xDE000",0xDE000
[date]
Now = {} ? $(!LIBHANDLE) GetSystemDate
[Identify]
read-syms Identification
set Status = STATUS_SUCCESSFUL
set Identifier = $(OptionType)
set Media = #("Source Media Descriptions", 3, 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)
ifstr(i) $(!NTN_InstallMode) == Update
set OptionList = >($(OptionList),SMCISA)
endif
set OptionTextList = ^(OptionsText$($0), 1)
set Status = STATUS_SUCCESSFUL
finish_ReturnOptions = +
Return $(Status) $(OptionList) $(OptionTextList)
[InstallOption]
set JOption = $($1)
set Option = SMCISA
set SrcDir = $($2)
set AddCopy = $($3)
set DoCopy = $($4)
set DoConfig = $($5)
set LanguageList = ^(LanguagesSupported, 1)
; The following lines were to set the dllpath properly
; in NT 3.51, they are not needed in NT 4.0
; Split-String $(!p:AdapterINF) "\" DestList
; set Drve = *($(DestList),1)
; Split-String $(!STF_WINDOWSSYSPATH) "\" DestList
; set RtDrve = *($(DestList),1)
; ifstr(i) $(Drve) == $(RtDrve)
; set DLLPATH = $(SrcDir)
; else
; set DLLPATH = $(!STF_WINDOWSSYSPATH)
; endif
set DLLPATH = $(SrcDir)
Ifcontains(i) $($0) NOT-IN $(LanguageList)
Return STATUS_NOLANGUAGE
endif
Debug-Output "OEMNADWD.INF: STF_LANGUAGE is: "$(!STF_LANGUAGE)
set-subst LF = "\n"
read-syms GeneralConstants
read-syms FileConstants
Shell $(UtilityInf), GetBindingInfo, "WD"
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "ShellCode error: cannot get an error string."
goto ShellCodeError
endif
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 $(FunctionTitle)
set to = Begin
set from = Begin
set CommonStatus = STATUS_SUCCESSFUL
EndWait
Begin = +
set ActivateDetection = FALSE
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
set CommonStatus = STATUS_REBOOT
set ActivateDetection = TRUE
set StartLabel = configureadapter
Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
Debug-Output "Cannot configure the DEC 100 driver software."
Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "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
ifstr $(Option) != SMCISA
goto skipdetection
endif
Debug-Output "OEMNADWD.INF: =================================================="
Debug-Output "OEMNADWD.INF: STF_CWDIR is: "$(!STF_CWDIR)
Debug-Output "OEMNADWD.INF: STF_LANGUAGE is: "$(!STF_LANGUAGE)
Debug-Output "OEMNADWD.INF: Option is: "$(Option)
Debug-Output "OEMNADWD.INF: !STF_NCDETECT is: "$(!STF_NCDETECT)
Debug-Output "OEMNADWD.INF: !STF_NCOPTION is: "$(!STF_NCOPTION)
Debug-Output "OEMNADWD.INF: !STF_NCDETCARD is: "$(!STF_NCDETCARD)
Debug-Output "OEMNADWD.INF: !STF_NCDETINFO is: "$(!STF_NCDETINFO)
Debug-Output "OEMNADWD.INF: =================================================="
Set DetectedCard = FALSE
Ifstr(i) $(ActivateDetection) != TRUE
Goto skipdetection
Endif
Set TypeList = {{IRQ,IRQ_List,IRQLevel},+
{IOADDR, IOBaseAddressDecList, IOBaseValue},+
{MEMADDR, WinBaseAddressDecList, WinBaseValue}}
Debug-Output "OEMNADWD.INF: Calling Param_BuildTypeLists"
Shell $(ParamInf) Param_BuildTypeLists $(Option) $(TypeList)
Set Status = $($R0)
ifstr(i) $(Status) != STATUS_SUCCESSFUL
Goto fataldetect
Endif
Debug-Output "OEMNADWD.INF: Calling Param_SetDefaults"
Shell $(ParamInf) Param_SetDefaults {}
Shell $(ParamInf) HexListFromDecList $(IOBaseAddressDecList)
Set IOBaseAddressHexList = $($R0)
Shell $(ParamInf) HexListFromDecList $(WinBaseAddressDecList)
Set WinBaseAddressHexList = $($R0)
Debug-Output "The !STFNCOPTION is "$(!STF_NCOPTION)
Ifstr(i) $(!STF_NCDETECT) == YES
Ifstr(i) $(!STF_NCOPTION) == $(JOption)
Set DetectedCard = $(TRUE)
Debug-Output "OEMNADWD.INF: Setting DetectedCard to TRUE"
Endif
Endif
skipdetection =+
set from = $(fatal)
set to = $(fatal)
goto $(StartLabel)
installadapter = +
OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
Debug-Output "ProductKeyName= "$(ProductKeyName)
set OldVerIO = 999
Ifstr $(KeyProduct) != $(KeyNull)
CloseRegKey $(KeyProduct)
ifstr(i) !(NTN_RegBase) == $(ProductKeyName)
Shell $(UtilityInf), VerExistedDlg, $(ProductSoftwareTitle),+
$(ProductVersion)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "ShellCode error: cannot get an error string."
goto ShellCodeError
endif
goto end
else
Shell $(UtilityInf), CardExistedDlg
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "ShellCode error: cannot get an error string."
goto ShellCodeError
endif
ifstr(i) $($R1) != "OK"
set CommonStatus = STATUS_USERCANCEL
goto end
endif
set OldVersionExisted = $(TRUE)
set numcinst = 0
findcardnum = +
set-add numcinst = $(numcinst),1
set currregloc = "SYSTEM\CurrentControlSet\Services\SMCISA"$(numcinst)
OpenRegKey $(!REG_H_LOCAL) "" $(currregloc) $(MAXIMUM_ALLOWED) TKey
ifint $(numcinst) < 5
Ifstr $(TKey) == $(KeyNull)
goto findcardnum
endif
endif
CloseRegKey $(TKey)
set Old_RegBase = "SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$(numcinst)
OpenRegKey $(!REG_H_LOCAL) "" $(Old_RegBase) $(MAXIMUM_ALLOWED) PKey
Ifstr $(PKey) != $(KeyNull)
Shell $(UtilityInf) FindService, $(PKey)
Ifstr(i) $($R0) == NO_ERROR
Set KeyParameters = $($R2)
CloseRegKey $($R1)
Ifstr $(KeyParameters) != $(KeyNull)
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) == "IOBase"
set OldVerIO = $(ValueData)
endif
EndForListDo
endif
endif
endif
endif
endif
;MCA
CloseRegKey $(PKey)
Ifstr $(Option) != SMCISA
Goto installproduct
Endif
install "Install-Option"
Shell "" PrepareDetectionDll "smcncdet.dll"
detectloop = +
Shell $(ParamInf) Param_SetDefaults {}
set TextStatus = "Setup found no "$(JOption)", using default settings"
set DetectedIO = ""
set JError = 1
ifint $(DetectedCard) != $(TRUE)
set !STF_NCOPTION = ""
shell $(ParamInf) Param_DetectCard
set JError = *($($R0),1)
ifint $(JError) == 0
set JIndex = *($($R0),3)
set !STF_NCDETCARD = $(JIndex)
set JAdptr = *($($R0),2)
ifstr(i) $(JAdptr) == ""
set JError = 1
endif
set !STF_NCOPTION = $(JAdptr)
ifstr(i) $(!STF_NCOPTION) == "SMCSCND"
set !STF_NCOPTION = $(JOption)
endif
else
Debug-Output "Param_DetectCard failed with result="$(JError)
endif
endif
Debug-Output "OEMNADWD: The JOption is "$(JOption)
Debug-Output "OEMNADWD: The !STFNCOPTION is "$(!STF_NCOPTION)
ifstr(i) $(JOption) == $(!STF_NCOPTION)
shell $(ParamInf) Param_QueryCard $(!STF_NCDETCARD)
ifstr(i) $($R0) == STATUS_SUCCESSFUL
set DetectedParams = $($R1)
set TextStatus = "Setup detected an "$(JOption)" and these parameters"
shell $(ParamInf) Param_SetDefaults $(DetectedParams)
ForListDo $(DetectedParams)
set PItem = $($)
set PLabel = *($(PItem),1)
set PValue = *($(PItem),2)
Ifstr(i) $(PLabel) == "IOADDR"
set IOBaseValueDet = $(PValue)
set DetectedIO = $(PValue)
endif
Ifstr(i) $(PLabel) == "IRQ"
set IRQLevelDet = $(PValue)
endif
Ifstr(i) $(PLabel) == "MEMADDR"
set WinBaseValueDet = $(PValue)
endif
endForListDo
else
Debug-Output "Param_QueryCard Failed, status = "$($R0)
endif
else
ifint $(JError) == 0
goto detectloop
endif
endif
ifint $(DetectedIO) == $(OldVerIO)
goto detectloop
endif
Shell $(ParamInf) Param_ControlDetection DTEND
goto adapteroptions
configureadapter = +
set JOption = $($1)
ifstr $(Option) != SMCISA
goto end
endif
set TextStatus = "These are the currently configured settings"
set DLLPATH = $(!STF_CWDDIR)
Ifstr $(KeyProduct) == $(KeyNull)
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) KeyProduct
Ifstr $(KeyProduct) == $(KeyNull)
set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
goto fatalregistry
Endif
Endif
Debug-Output "INF: Shelling to FindService"
Shell $(UtilityInf) FindService, $(KeyProduct)
Ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "INF: FindService shell failure"
Goto ShellCodeError
Endif
Ifstr(i) $($R0) != NO_ERROR
Debug-Output "INF: FindService Shell error: "$($R0)
Goto fatalregistry
endif
set KeyParameters = $($R2)
CloseRegKey $($R1)
Ifstr $(KeyParameters) == $(KeyNull)
set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
Debug-Output "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) == "Irq"
set IRQLevel = $(ValueData)
else-Ifstr(i) $(ValueName) == "IOBase"
set IOBaseValue = $(ValueData)
else-Ifstr(i) $(ValueName) == "RamAddress"
set WinBaseValue = $(ValueData)
endif
EndForListDo
adaptersetup =+
Shell $(ParamInf) Param_ParameterConfidence
Ifstr(i) $($R0) != STATUS_SUCCESSFUL
Debug-Output "OEMNADWD.INF: parameter confidence too low to bypass configuration"
Goto adapteroptions
Endif
Ifstr(i) $(DetectedCard) == TRUE
Ifstr(i) $(!STF_INSTALL_MODE) != CUSTOM
Goto adapterverify
Endif
Endif
goto adapteroptions
adapteroptions = +
set from = adapteroptions
set WinBaseAddress = *($(WinBaseAddressHexList), ~($(WinBaseAddressDecList),+
$(WinBaseValue)))
set IOBaseAddress = *($(IOBaseAddressHexList), ~($(IOBaseAddressDecList),+
$(IOBaseValue)))
read-syms FileDependentDlg$(!STF_LANGUAGE)
ifstr(i) $(WinBaseValue) == "10"
set Combo3Out = "IOMapped"
; set Combo3List = {"IOMapped"}
endif
ifstr(i) $(WinBaseValue) == "0"
set Combo3Out = "IOMapped"
; set Combo3List = {"IOMapped"}
endif
; set Combo2List = {$(IOBaseAddress)}
set EditTextIn = {}
set NotifyFields = {NO, NO, NO}
set EditTextLim = {12}
set EditFocusOn = ""
ifstr(i) $(DLLPATH) != ""
Split-String $(DLLPATH) "\" TempList
QueryListSize ListSize $(TempList)
ifstr(i) *($(TempList), $(ListSize)) != "\"
set DLLPATH = $(DLLPATH)"\"
endif
endif
SetHelpFile $(!STF_WINDOWSSYSPATH)\smc8000.hlp 30100 30105
loadlibrary "SMC 8000 Install Diskette" $(!STF_WINDOWSSYSPATH)\SMC8000.dll DllHandle
loadlibrary "SMC 8000 Install Diskette" $(!STF_WINDOWSSYSPATH)\smcncdet.dll DetHandle
ifstr(i) $(StartLabel) == "configureadapter"
set JOption = "SMC8416"
set JError = 0
endif
diaretry = +
ui start "InputDlg" $(DllHandle)
ifstr(i) $(DLGEVENT) == "CONTINUE"
ifint $(JError) == 0
ifstr(i) $(JOption) == "SMC8416"
ifstr(i) $(IOBaseAddress) != $(Combo2Out)
set Result = "Clear"
ifstr(i) $(StartLabel) == "configureadapter"
set Result = "Config"
endif
Debug-Output "The chosen is diferent from the previous."
set IODec = *($(IOBaseAddressDecList), ~($(IOBaseAddressHexList),+
$(IOBaseAddress)))
set ComboDec = *($(IOBaseAddressDecList), ~($(IOBaseAddressHexList),+
$(Combo2Out)))
Debug-Output "The iobaseaddress is "$(IODec)
Debug-Output "The chosen address is "$(ComboDec)
ifstr(i) $(OldVerIO) == $(ComboDec)
set Result = "Used"
endif
ifstr(i) $(Result) == "Clear"
ifstr(i) $(OldVerIO) != 999
Debug-Output "The oldversion io is being given to chkandput: "$(OldVerIO)
LibraryProcedure Result $(DetHandle) ChkAndPut $(ComboDec) $(IODec) $(OldVerIO)
else
LibraryProcedure Result $(DetHandle) ChkAndPut $(ComboDec) $(IODec)
endif
endif
ifstr(i) $(Result) == "Config"
shell $(subroutineinf) SetupMessage $(!STF_LANGUAGE) WARNING "When restarting your computer, be sure to power off the machine for the new settings to take effect."
ifstr(i) $($R1) == "OK"
LibraryProcedure Result $(DetHandle) ChkAndPut $(ComboDec) $(IODec) 8
else
ifstr(i) $($R1) == "CANCEL"
ui pop 1
set Combo2Out = $(IOBaseAddress)
goto diaretry
endif
endif
endif
ifstr(i) $(Result) == "Pnpwarn"
shell $(subroutineinf) SetupMessage $(!STF_LANGUAGE) WARNING "Changing the I/O base will disable PnP on your card."
ifstr(i) $($R1) == "OK"
shell $(subroutineinf) SetupMessage $(!STF_LANGUAGE) WARNING "When restarting your computer, be sure to power off the machine for the new settings to take effect."
ifstr(i) $($R1) == "OK"
ifstr(i) $(StartLabel) == "configureadapter"
LibraryProcedure Result $(DetHandle) ChkAndPut $(ComboDec) $(IODec) 6
else
LibraryProcedure Result $(DetHandle) ChkAndPut $(ComboDec) $(IODec) 7
endif
endif
endif
ifstr(i) $($R1) == "CANCEL"
ui pop 1
set Combo2Out = $(IOBaseAddress)
goto diaretry
endif
endif
ifstr(i) $(Result) == "Used"
set TextStatus = "That i/o address is taken, choose another"
ui pop 1
goto diaretry
endif
endif ; end for if the iorange is diferent
endif ; end for if it is an 8416
endif ; end for if the JError is 0 (a detected card)
ui pop 1
freelibrary $(DllHandle)
freelibrary $(DetHandle)
set IRQLevel = $(Combo1Out)
set IOBaseAddress = $(Combo2Out)
set WinBaseAddress = $(Combo3Out)
else-ifstr(i) $(DLGEVENT) == "BACK"
set CommonStatus = STATUS_USERCANCEL
Debug-Output "Action: exit. Bye."
ui pop 1
freelibrary $(DllHandle)
freelibrary $(DetHandle)
goto end
else
ui pop 1
freelibrary $(DllHandle)
freelibrary $(DetHandle)
Debug-Output "Action: unknown. Bye."
goto end
endif
set WinBaseValue = *($(WinBaseAddressDecList), ~($(WinBaseAddressHexList),+
$(WinBaseAddress)))
set IOBaseValue = *($(IOBaseAddressDecList), ~($(IOBaseAddressHexList),+
$(IOBaseAddress)))
adapterverify =+
Ifstr(i) $(DetectedCard) != TRUE
Goto skipoptions
Endif
Debug-Output "OEMNADWD.INF: Calling Param_VerifyCard"
Shell $(ParamInf) Param_VerifyCard $(!STF_NCDETCARD)
Ifstr(i) $($R0) == STATUS_SUCCESSFUL
Debug-Output "OEMNADWD.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
;MCA
installproduct = +
StartWait
Shell $(UtilityInf), MCAFindBus, $(Card1Byte), $(Card2Byte)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
ifstr $($R0) != "NO_ERROR"
set Error = $($R0)
goto fatal
endif
ifstr(i) $($R1) == {}
set Error = $(CANNOT_FIND_ANY_CARD)
set CommonStatus = STATUS_USERCANCEL
set from = "end"
goto nonfatal
endif
set AdapterList = $($R1)
; goto mcaincluded
skipoptions = +
ifint $(OldVersionExisted) == $(TRUE)
ifstr(i) $(!NTN_InstallMode) == configure
ifstr $(Option) == SMCISA
goto writeparameters
;MCA
else
set Error = "Configure: Sorry, not yet implemented."
goto fatal
endif
endif
endif
mcaincluded = +
set AdapterList = $($R1)
ifint $(OldVersionExisted) == $(FALSE)
; ifstr(i) $(DLLPATH) == $(SrcDir)
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
; endif
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 "ShellCode error"
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
EndWait
Debug-Output "Registry error: add software components"
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)
Debug-Output "softlinkage #1 :"$($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)
Debug-Output "ShellCode error."
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
EndWait
Debug-Output "Resgitry error: add value list."
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),$(NetRuleSoftwareBindable)}, +
{InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
Shell $(UtilityInf), AddValueList, $(SoftNetRuleKey), $(NewValueList)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "ShellCode error."
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
CloseRegKey $(SoftProductKey)
CloseRegKey $(SoftNetRuleKey)
CloseRegKey $(SoftServiceKey)
CloseRegKey $(SoftParameterKey)
CloseRegKey $(SoftLinkageKey)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
EndWait
Debug-Output "Resgitry error: add value list."
goto fatalregistry
endif
endif
set BusNum = *($($),1)
;MCA
ifstr $(Option) != SMCISA
ForListDo $(AdapterList)
set BusNum = *($($),1)
set SlotNum = *($($),2)
Shell $(UtilityInf), IsNetCardAlreadyInstalled, $(BusNum), +
$(SlotNum), $(ProductHardwareDescriptionMCA), $(ProductHardwareName)
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
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)"] "$(ProductHardwareTitleMCA)},+
{Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareDescriptionMCA)},+
{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
Shell $(UtilityInf), GetBusTypeNum
set BusTypeNum = $($R1)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "ShellCode error."
goto ShellCodeError
endif
IfContains $(Option) in $(EthernetCards)
set CardMediaType = 1
set NewValueList = {{BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNum)},+
{McaPosId,$(NoTitle),$(!REG_VT_DWORD),$(NETCARD_ID)},+
{BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusTypeNum)},+
{SlotNumber,$(NoTitle),$(!REG_VT_DWORD),$(SlotNum)},+
{MediaType,$(NoTitle),$(!REG_VT_DWORD), $(CardMediaType)}}
else
set CardMediaType = 2
set NewValueList = {{BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNum)},+
{McaPosId,$(NoTitle),$(!REG_VT_DWORD),$(NETCARD_ID)},+
{BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusTypeNum)},+
{SlotNumber,$(NoTitle),$(!REG_VT_DWORD),$(SlotNum)},+
{MediaType,$(NoTitle),$(!REG_VT_DWORD), $(CardMediaType)},+
{MaximumPacketSize,$(NoTitle),$(!REG_VT_DWORD), 8192}}
endif
Shell $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
set TempProdName = """"$(ProductHardwareName)$(AdapterNumber)""""
set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardwareTypeMCA)},+
{bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, +
{class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardwareClassMCA)}, +
{InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
Shell $(UtilityInf), AddValueList, $(HardNetRuleKey), $(NewValueList)
CloseRegKey $(HardNetCardKey)
CloseRegKey $(HardNetRuleKey)
CloseRegKey $(HardParameterKey)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
endif
EndForListDo
EndWait
goto successful
endif
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)
Debug-Output "Cannot add hardware component"
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
EndWait
Debug-Output "Registry error: add hardware component"
Debug-Output $(RegistryErrorIndex)
CloseRegKey $($R1)
CloseRegKey $($R2)
CloseRegKey $($R3)
goto fatalregistry
endif
set KeyParameters = $($R3)
set KeyAdapterRules = $($R2)
set AdapterNumber = $($R4)
set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+
{Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardwareTitle)},+
{Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareDescription)},+
{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 "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 "ShellCode error."
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
EndWait
Debug-Output "Resgitry error: add value list."
CloseRegKey $(KeyParameters)
CloseRegKey $(KeyAdapterRules)
goto fatalregistry
endif
CloseRegKey $(KeyAdapterRules)
goto writeparameters
writeparameters = +
Shell $(UtilityInf), GetBusTypeNum
set BusTypeNum = $($R1)
; The following checks if the reported bus type is PCi, if it is,
; then we assume that the machine is a two-bus system and change
; BusTypeNum to ISA.
ifint $(BusTypeNum) == 5
set BusTypeNum = 1
endif
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "ShellCode error."
goto ShellCodeError
endif
IfContains $(Option) in $(EthernetCards)
set CardMediaType = 1
set NewValueList = {+
{BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNum)},+
{BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusTypeNum)},+
{IOBase,$(NoTitle),$(!REG_VT_DWORD),$(IOBaseValue)},+
{Irq,$(NoTitle),$(!REG_VT_DWORD),$(IRQLevel)},+
{RamAddress,$(NoTitle),$(!REG_VT_DWORD),$(WinBaseValue)},+
{IOBaseDet,$(NoTitle),$(!REG_VT_DWORD),$(IOBaseValueDet)},+
{IrqDet,$(NoTitle),$(!REG_VT_DWORD),$(IRQLevelDet)},+
{RamAddressDet,$(NoTitle),$(!REG_VT_DWORD),$(WinBaseValueDet)},+
{MediaType,$(NoTitle),$(!REG_VT_DWORD),$(CardMediaType)}+
}
else
set CardMediaType = 2
set NewValueList = {+
{BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNum)},+
{BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusTypeNum)},+
{IOBase,$(NoTitle),$(!REG_VT_DWORD),$(IOBaseValue)},+
{Irq,$(NoTitle),$(!REG_VT_DWORD),$(IRQLevel)},+
{RamAddress,$(NoTitle),$(!REG_VT_DWORD),$(WinBaseAddress)},+
{MediaType,$(NoTitle),$(!REG_VT_DWORD),$(CardMediaType)},+
{MaximumPacketSize,$(NoTitle),$(!REG_VT_DWORD),8192}+
}
endif
Shell $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "ShellCode error."
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
CloseRegKey $(KeyParameters)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
Debug-Output "Registry error: Add value list"
goto fatalregistry
endif
EndWait
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)
Debug-Output "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 "ShellCode error"
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
goto fatalregistry
endif
endif
goto end
UpgradeSoftware = +
ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
Ifstr $(KeyProduct) != $(KeyNull)
GetRegValue $(KeyProduct),"MajorVersion", VersionInfo
set Version = *($(VersionInfo), 4)
Shell $(UtilityInf), GetInfFileNameFromRegistry, $(KeyProduct)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "ShellCode error"
goto ShellCodeError
endif
set !UG_Filename = $($R0)
ifstr(i) $(!UG_Filename) != ""
install "Install-Update"
ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
goto fatal
endif
endif
SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)}
SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)}
ifint $(Version) != $(ProductVersion)
endif
CloseRegKey $(KeyProduct)
else
goto fatalregistry
endif
else
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) +
$(MAXIMUM_ALLOWED) NetworkCardKey
Ifstr(i) $(NetworkCardKey) != $(KeyNull)
GetRegValue $(NetworkCardKey),"ServiceName", ServiceNameInfo
set ServiceName = *($(ServiceNameInfo), 4)
OpenRegKey $(NetworkCardKey) "" "NetRules" +
$(MAXIMUM_ALLOWED) NetRuleKey
Ifstr(i) $(NetRuleKey) != $(KeyNull)
else
goto fatalregistry
endif
CloseRegKey $(NetRules)
CloseRegKey $(NetworkCardKey)
else
goto fatalregistry
endif
OpenRegKey $(!REG_H_LOCAL) "" +
$(!NTN_ServiceBase)"\"$(ServiceName) +
$(MAXIMUM_ALLOWED) ServiceKey
Ifstr(i) $(ServiceKey) != $(KeyNull)
CloseRegKey $(ServiceKey)
else
goto fatalregistry
endif
endif
;
; All I want to do is copy a new driver over the old one
;
install "Install-Update"
ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
goto fatal
endif
goto end
successful = +
goto end
abandon = +
ForListDo $(OEM_ABANDON_OPTIONS)
Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
$(ProductSoftwareName), $($)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "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 "ShellCode error"
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
fataldetect = +
Shell $(UtilityInf),RegistryErrorString,CANNOT_DETECT
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "ShellCode error: cannot get an error string."
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-DetDll]
set STF_VITAL = ""
AddSectionFilesToCopyList Files-smcncdet $(SrcDir) $(!STF_WINDOWSSYSPATH)
set !STF_NCPA_FLUSH_COPYLIST = TRUE
CopyFilesInCopyList
Exit
[Install-Option]
set STF_VITAL = ""
ifstr(i) $(AddCopy) == "YES"
AddSectionFilesToCopyList Files-SMCISA $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
AddSectionFilesToCopyList Files-Dll $(SrcDir) $(!STF_WINDOWSSYSPATH)
endif
ifstr(i) $(DoCopy) == "YES"
set !STF_NCPA_FLUSH_COPYLIST = TRUE
CopyFilesInCopyList
endif
ifstr(i) $(DoConfig) == "YES"
endif
Exit
[Install-Update]
set STF_VITAL = ""
;set STF_OVERWRITE = "VERIFYSOURCEOLDER"
AddSectionFilesToCopyList Files-SMCISA $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
; AddSectionFilesToCopyList Files-Inf $(SrcDir) $(!STF_WINDOWSSYSPATH)
set !STF_NCPA_FLUSH_COPYLIST = TRUE
CopyFilesInCopyList
exit
[Source Media Descriptions]
; 1 = "Windows NT Setup Disk #1" , TAGFILE = disk1
; 2 = "Windows NT Setup CD-ROM Disk" , TAGFILE = disk2
3 = "SMC SUPER DISK"
[ProductType]
STF_PRODUCT = Winnt
STF_PLATFORM = I386
[Files-Inf]
3,oemsetup.inf, SIZE=1000, RENAME=$(!UG_Filename)
[Files-SMCISA]
3,win95nt\SMC8000.SY_ , SIZE=40000, RENAME=smc8000n.sys
[Files-Dll]
3,win95nt\smc8000.dl_, SIZE=40000, RENAME=smc8000.dll
3,win95nt\smc8000.hl_, SIZE=40000, RENAME=smc8000.hlp
[Files-smcncdet]
3, win95nt\smcncdet.dl_, SIZE=40000, RENAME=smcncdet.dll
[LanguagesSupported]
ENG
[OptionsTextENG]
SMC8416 = "SMC8416 EtherEZ"
SMC8216 = "SMC8216 EtherCard Elite16 Ultra"
SMC8013 = "SMC8013 EtherCard Elite"
SMC8003 = "SMC8003 EtherCard PLUS"
[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:"
FunctionTitle = "SMC Adapter Card Setup"
ProductSoftwareDescription = "SMC EtherCard Family Driver"
ProductHardwareDescription = "SMC ISA EtherCard Family "
ProductHardwareDescriptionMCA = "SMC "$(Option)" EtherCard "
ProductSoftwareTitle = "SMC EtherCard Family Driver"
ProductHardwareTitle = "SMC EtherCard Family "
;ProductHardwareTitleMCA = "SMC Micro Channel Adapter"
ProductHardwareTitleMCA = $(Option)" EtherCard Plus Elite"
ShellCodeErrorTitle = "Error: "$(FunctionTitle)
ShellCodeErrorText = "Shell Code Error."
[DialogConstantsENG]
Help = "&Help"
Exit = "Cancel"
OK = "OK"
ContextSMC8000 = 30100
HelpContext = $(ContextSMC8000)
Continue = "Continue"
Cancel = "Cancel"
[FileDependentDlgENG]
DlgType = "RadioCombination"
DlgTemplate = "SMC8000" ; **** This has to be $(Option) *****
CaptionSMC8000 = $(JOption)" Ethernet Adapter Card Setup"
Caption = $(CaptionSMC8000)
Combo1Label = "&IRQ Level:"
Combo2Label = "I/O &Base:"
Combo3Label = "&Memory Address:"
Label3 = "&Network Address:"
IrqList = ^(SmcIrqs, 1)
IoBaseList = ^(SmcIoBase, 1)
MemAddrList = ^(SmcMemAddr, 1)
Combo1List = $(IrqList)
Combo1Out = $(IRQLevel)
Combo2List = $(IoBaseList)
Combo2Out = $(IOBaseAddress)
Combo3List = $(MemAddrList)
Combo3Out = $(WinBaseAddress)
ComboListItemsIn = {Combo1List, Combo2List, Combo3List}
ComboListItemsOut = {Combo1Out, Combo2Out, Combo3Out}
CBOptionsGreyed = {}
RCCtlFocusOn = 403
[PrepareDetectionDll]
read-syms GeneralConstants
read-syms FileConstants
read-syms FileConstants$(!STF_LANGUAGE)
Set NewDllName = $($0)
set SrcDir = $(!p:SrcDir)
Set Status = STATUS_FAILED
Set DllValueName = "NetcardDlls"
ifstr(i) $(SrcDir) != ""
Split-String $(SrcDir) "\" TempList
QueryListSize ListSize $(TempList)
ifstr(i) *($(TempList), $(ListSize)) != "\"
set SrcDir = $(SrcDir)"\"
endif
endif
OpenRegKey $(!REG_H_LOCAL) "" "System\Setup" $(MAXIMUM_ALLOWED) KeySetup
Ifstr(i) $(KeySetup) == $(KeyNull)
Debug-Output "System\Setup key is NULL"
Goto PDD_Return
Endif
Set DllFound = 0
GetRegValue $(KeySetup) $(DllValueName) DllNamesValue
Ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
Debug-Output "LastError != Success"
Shell $(UtilityInf),RegistryErrorString,$(RegLastError)
Shell "" FatalError $($R0)
Goto PDD_Return
Endif
Set DllNames = *($(DllNamesValue),4)
Debug-Output "DLL names are: "$(DllNames)
ForListDo $(DllNames)
Ifstr(i) $($) == $(NewDllName)
Set DllFound = 1
Endif
EndForListDo
Ifint $(DllFound) == 0
Set DllNames = >($(DllNames),$(NewDllName))
Set ValueInfo = {$(DllValueName), $(NoTitle), $(!REG_VT_MULTI_SZ), $(DllNames)}
SetRegValue $(KeySetup) $(ValueInfo)
Ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
; Shell "" SetCopy "YES" $(AddCopy) $(SrcDir) "Install-Detection-Dll"
set STF_OVERWRITE = "VERIFYSOURCEOLDER"
install "Install-DetDll"
Shell $(ParamInf) Param_ControlDetection DTEND
Shell $(ParamInf) Param_ControlDetection DTSTART
Set Status = STATUS_SUCCESSFUL
Else
Shell $(UtilityInf),RegistryErrorString,$(RegLastError)
Shell "" FatalError $($R0)
Endif
Else
Shell $(ParamInf) Param_ControlDetection DTEND
set STF_OVERWRITE = "VERIFYSOURCEOLDER"
install "Install-DetDll"
; Shell "" SetCopy "YES" $(AddCopy) $(SrcDir) "Install-Detection-Dll"
Shell $(ParamInf) Param_ControlDetection DTSTART
set Status = STATUS_SUCCESSFUL
Endif
CloseRegKey $(KeySetup)
PDD_Return = +
Debug-Output "Status from PrepareDetectionDll = "$(Status)
Return $(Status)
[Install-Detection-Dll]
LibraryProcedure STATUS,$(!LIBHANDLE), CopySingleFile $(SrcDir)"\smcncdet.dll" $(!STF_WINDOWSSYSPATH)"\smcncdet.dll"
exit
[SetCopy]
read-syms GeneralConstants
read-syms FileConstants
read-syms FileConstants$(!STF_LANGUAGE)
set DoCopy = $($0)
set AddCopy = $($1)
set SrcDir = $($2)
set InstallSection = $($3)
set Needcopy = $(FALSE)
Ifstr(i) $(DoCopy) == "YES"
set NeedCopy = $(TRUE)
else-ifstr(i) $(AddCopy) == "YES"
set NeedCopy = $(TRUE)
else
Return $(TRUE)
endif
set BuiltIn = "YES"
ifstr(i) $(!NTN_Origination) == "NCPA"
set BuiltIn = "NO"
endif
Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) $(BuiltIn)
Ifstr(i) $($R0) == STATUS_FAILED
Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
Shell "" FatalError $($R0)
Return $(FALSE)
Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
Return $(FALSE)
Endif
Set SrcDir = $($R1)
install $(InstallSection)
ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE"
Shell "" FatalError $($R0)
Return $(FALSE)
endif
Return $(TRUE)
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.