;
; 11/21/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 = "0"
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
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 $(DLLPATH)smc8000.hlp 30100 30105
loadlibrary "SMC 8000 Install Diskette" $(DLLPATH)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,SMC8000N.SYS , SIZE=36864
[Files-Dll]
3,smc8000.dll, SIZE=40000
3,smc8000.hlp, SIZE=40000
[Files-smcncdet]
3, smcncdet.dll, SIZE=40000
[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)