; ; 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.