986 lines
38 KiB
INI
986 lines
38 KiB
INI
|
; BUGBUG - what should Manufacturer be?
|
||
|
; BUGBUG - what should version be? 1.0 or 3.5?
|
||
|
; BUGBUG - what should the Source Media Descriptions be?
|
||
|
|
||
|
; ------------------------------------------------------------------------
|
||
|
; Microsoft Windows NT 3.5 Driver Installation
|
||
|
; Thomas-Conrad Driver for TCNS and generic ARCNET Adapters
|
||
|
; Copyright 1994 Thomas-Conrad Corporation
|
||
|
; v1.00 (940713)
|
||
|
; ------------------------------------------------------------------------
|
||
|
|
||
|
[FileConstants]
|
||
|
Manufacturer = "Thomas-Conrad"
|
||
|
TccBaseName = "tcarc"
|
||
|
SoftwareMajorVersion = "4"
|
||
|
SoftwareMinorVersion = "0"
|
||
|
InterruptTextList = ^(InterruptChoices, 1)
|
||
|
InterruptValueList = ^(InterruptChoices, 2)
|
||
|
IoBaseTextList = ^(IoBaseChoices, 1)
|
||
|
IoBaseValueList = ^(IoBaseChoices, 2)
|
||
|
MemoryBaseTextList = ^(MemoryBaseChoices, 1)
|
||
|
MemoryBaseValueList = ^(MemoryBaseChoices, 2)
|
||
|
EisaSlotTextList = ^(EisaSlotChoices, 1)
|
||
|
EisaSlotValueList = ^(EisaSlotChoices, 2)
|
||
|
NetEventDLL = "%SystemRoot%\System32\netevent.dll"
|
||
|
IoLogMsgDLL = "%SystemRoot%\System32\IoLogMsg.dll"
|
||
|
UtilityInf = "UTILITY.INF"
|
||
|
SubroutineInf = "SUBROUTN.INF"
|
||
|
SoftwareType = "driver"
|
||
|
Exit_Code = 0
|
||
|
SoftwareVersion = $(SoftwareMajorVersion)"."$(SoftwareMinorVersion)
|
||
|
SoftwareImage = "\SystemRoot\System32\drivers\"$(TccBaseName)".sys"
|
||
|
NetRuleSoftwareType = $(TccBaseName)"Sys ndisDriver "$(TccBaseName)"Driver"
|
||
|
NetRuleSoftwareBindForm = """"$(TccBaseName)"Sys"" yes no container"
|
||
|
NetRuleSoftwareBindable = {""$(TccBaseName)"Driver "$(TccBaseName)"Adapter non exclusive 100"}
|
||
|
NetRuleSoftwareClass = {""$(TccBaseName)"Driver basic"}
|
||
|
NetRuleSoftwareUse = $(SoftwareType)
|
||
|
NetRuleHardwareType = $(TccBaseName)" "$(TccBaseName)"Adapter"
|
||
|
NetRuleHardwareClass = {""$(TccBaseName)"Adapter basic"}
|
||
|
NetRuleHardwareBindForm = " yes yes container"
|
||
|
ProductOpSupport = 134 ; 0x0086 ; Display,Removable,Properties,Not Updatable
|
||
|
KeyName_SoftwareRoot = $(!NTN_SoftwareBase)"\"$(Manufacturer)
|
||
|
KeyName_Software = $(KeyName_SoftwareRoot)"\"$(TccBaseName)"\CurrentVersion"
|
||
|
|
||
|
[InterruptChoices]
|
||
|
Interrupt_1 = "2/9", 2
|
||
|
Interrupt_2 = "3" , 3
|
||
|
Interrupt_3 = "4" , 4
|
||
|
Interrupt_4 = "5" , 5
|
||
|
Interrupt_5 = "6" , 6
|
||
|
Interrupt_6 = "7" , 7
|
||
|
Interrupt_7 = "10" , 10
|
||
|
Interrupt_8 = "11" , 11
|
||
|
Interrupt_9 = "12" , 12
|
||
|
Interrupt_10 = "14" , 14
|
||
|
Interrupt_11 = "15" , 15
|
||
|
|
||
|
[MemoryBaseChoices]
|
||
|
MemoryBaseChoice_1 = "C0000", 49152
|
||
|
MemoryBaseChoice_2 = "C4000", 50176
|
||
|
MemoryBaseChoice_3 = "C8000", 51200
|
||
|
MemoryBaseChoice_4 = "CC000", 52224
|
||
|
MemoryBaseChoice_5 = "D0000", 53248
|
||
|
MemoryBaseChoice_6 = "D4000", 54272
|
||
|
MemoryBaseChoice_7 = "D8000", 55296
|
||
|
MemoryBaseChoice_8 = "DC000", 56320
|
||
|
|
||
|
[IoBaseChoices]
|
||
|
IoBaseChoice_1 = "260", 608
|
||
|
IoBaseChoice_2 = "290", 656
|
||
|
IoBaseChoice_3 = "2E0", 736
|
||
|
IoBaseChoice_4 = "2F0", 752
|
||
|
IoBaseChoice_5 = "300", 768
|
||
|
IoBaseChoice_6 = "350", 848
|
||
|
IoBaseChoice_7 = "380", 896
|
||
|
IoBaseChoice_8 = "3E0", 992
|
||
|
|
||
|
[EisaSlotChoices]
|
||
|
EisaSlot_1 = "1", 1
|
||
|
EisaSlot_2 = "2", 2
|
||
|
EisaSlot_3 = "3" , 3
|
||
|
EisaSlot_4 = "4" , 4
|
||
|
EisaSlot_5 = "5" , 5
|
||
|
EisaSlot_6 = "6" , 6
|
||
|
EisaSlot_7 = "7" , 7
|
||
|
EisaSlot_8 = "8" , 8
|
||
|
EisaSlot_9 = "9" , 9
|
||
|
EisaSlot_10 = "10" , 10
|
||
|
EisaSlot_11 = "11" , 11
|
||
|
EisaSlot_12 = "12" , 12
|
||
|
|
||
|
[TcarcIsaDlg]
|
||
|
DlgType = "RadioCombination"
|
||
|
Label1 = $(InterruptLabel)
|
||
|
Label2 = $(BaseIoLabel)
|
||
|
Label3 = $(MemoryLabel)
|
||
|
DlgTemplate = "UBNDIS"
|
||
|
Caption = $(FunctionTitle)
|
||
|
Combo1List = $(InterruptTextList)
|
||
|
Combo1Out = $(InterruptTextDlgDefault)
|
||
|
Combo2List = $(IoBaseTextList)
|
||
|
Combo2Out = $(IoBaseTextDlgDefault)
|
||
|
Combo3List = $(MemoryBaseTextList)
|
||
|
Combo3Out = $(MemoryBaseTextDlgDefault)
|
||
|
RadioIn = {}
|
||
|
ComboListItemsIn = {Combo1List,Combo2List,Combo3List}
|
||
|
ComboListItemsOut = {Combo1Out,Combo2Out,Combo3Out}
|
||
|
CBOptionsGreyed = {}
|
||
|
EditTextIn = ""
|
||
|
EditTextLim = ""
|
||
|
NotifyFields = {NO, NO, NO}
|
||
|
HelpContext = $(!IDH_DB_OEMNADAR1_INS)
|
||
|
|
||
|
[TcnsIsaDlg]
|
||
|
DlgType = "RadioCombination"
|
||
|
Label1 = $(InterruptLabel)
|
||
|
Label2 = $(BaseIoLabel)
|
||
|
Label3 = $(MemoryLabel)
|
||
|
DlgTemplate = "UBNDIS"
|
||
|
Caption = $(TcnsCaption)
|
||
|
Combo1List = $(InterruptTextList)
|
||
|
Combo1Out = $(InterruptTextDlgDefault)
|
||
|
Combo2List = $(IoBaseTextList)
|
||
|
Combo2Out = $(IoBaseTextDlgDefault)
|
||
|
Combo3List = $(MemoryBaseTextList)
|
||
|
Combo3Out = $(MemoryBaseTextDlgDefault)
|
||
|
RadioIn = {}
|
||
|
ComboListItemsIn = {Combo1List,Combo2List,Combo3List}
|
||
|
ComboListItemsOut = {Combo1Out,Combo2Out,Combo3Out}
|
||
|
CBOptionsGreyed = {}
|
||
|
EditTextIn = ""
|
||
|
EditTextLim = ""
|
||
|
NotifyFields = {NO, NO, NO}
|
||
|
HelpContext = $(!IDH_DB_OEMNADAR2_INS)
|
||
|
|
||
|
[TcnsEisaDlg]
|
||
|
DlgType = "RadioCombination"
|
||
|
Label1 = $(SlotNumberLabel)
|
||
|
DlgTemplate = "SINGLE_COMBO"
|
||
|
Caption = $(TcnsEISACaption)
|
||
|
Combo1List = $(EisaSlotTextList)
|
||
|
Combo1Out = $(EisaSlotTextDlgDefault)
|
||
|
RadioIn = {}
|
||
|
ComboListItemsIn = {Combo1List}
|
||
|
ComboListItemsOut = {Combo1Out}
|
||
|
CBOptionsGreyed = {}
|
||
|
EditTextIn = ""
|
||
|
EditTextLim = ""
|
||
|
NotifyFields = {NO}
|
||
|
HelpContext = $(!IDH_DB_OEMNADAR3_INS)
|
||
|
|
||
|
[Identify]
|
||
|
set Status = STATUS_SUCCESSFUL
|
||
|
set Identifier = NetAdapter
|
||
|
set Media = #("Source Media Descriptions", 1, 1)
|
||
|
Return $(Status) $(Identifier) $(Media)
|
||
|
|
||
|
[ReturnOptions]
|
||
|
set Status = STATUS_FAILED
|
||
|
set OptionList = {}
|
||
|
set OptionTextList = {}
|
||
|
set LanguageList = ^(LanguagesSupported, 1)
|
||
|
Ifcontains(i) $($0) in $(LanguageList)
|
||
|
ifstr(i) $($1) == ""
|
||
|
goto ReturnOptions_Set
|
||
|
endif
|
||
|
set PlatformList = ^(PlatformsSupported, 1)
|
||
|
Ifcontains(i) $($1) in $(PlatformList)
|
||
|
goto ReturnOptions_Set
|
||
|
else
|
||
|
set Status = STATUS_NOTSUPPORTED
|
||
|
goto ReturnOptions_Exit
|
||
|
endif
|
||
|
else
|
||
|
set Status = STATUS_NOLANGUAGE
|
||
|
goto ReturnOptions_Exit
|
||
|
endif
|
||
|
ReturnOptions_Set = +
|
||
|
set OptionList = ^(OptList$($0), 1)
|
||
|
set OptionTextList = ^(OptList$($0), 2)
|
||
|
set Status = STATUS_SUCCESSFUL
|
||
|
ReturnOptions_Exit = +
|
||
|
Return $(Status) $(OptionList) $(OptionTextList)
|
||
|
|
||
|
[GeneralConstants]
|
||
|
from = ""
|
||
|
to = ""
|
||
|
ExitCodeOk = 0
|
||
|
ExitCodeCancel = 1
|
||
|
ExitCodeFatal = 2
|
||
|
Key_Null = ""
|
||
|
MAXIMUM_ALLOWED = 33554432
|
||
|
RegistryErrorIndex = NO_ERROR
|
||
|
Key_Product = ""
|
||
|
Key_HardwareParameters = ""
|
||
|
TRUE = 1
|
||
|
FALSE = 0
|
||
|
NoTitle = 0
|
||
|
ExitState = "Active"
|
||
|
OldVersionExisted = $(FALSE)
|
||
|
DriverPath = $(!STF_NTPATH)\drivers
|
||
|
|
||
|
[date]
|
||
|
Now = {} ? $(!LIBHANDLE) GetSystemDate
|
||
|
|
||
|
[PlatformsSupported]
|
||
|
ISA
|
||
|
EISA
|
||
|
MCA
|
||
|
|
||
|
[Install-Option]
|
||
|
Debug-Output "$(STF_CONTEXTINFNAME): Entering Install-Option"
|
||
|
set STF_VITAL = ""
|
||
|
ifstr(i) $(AddCopy) == "YES"
|
||
|
set STF_VITAL = "YES"
|
||
|
AddSectionFilesToCopyList Files-Driver $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
|
||
|
endif
|
||
|
ifstr(i) $(DoCopy) == "YES"
|
||
|
set STF_VITAL = "YES"
|
||
|
set !STF_NCPA_FLUSH_COPYLIST = TRUE
|
||
|
CopyFilesInCopyList
|
||
|
endif
|
||
|
ifstr(i) $(DoConfig) == "YES"
|
||
|
endif
|
||
|
exit
|
||
|
|
||
|
[Install-Update]
|
||
|
Debug-Output "$(STF_CONTEXTINFNAME): Entering Install-Update"
|
||
|
set STF_VITAL = "YES"
|
||
|
set STF_OVERWRITE = "VERIFYSOURCEOLDER"
|
||
|
AddSectionFilesToCopyList Files-Driver $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
|
||
|
set !STF_NCPA_FLUSH_COPYLIST = TRUE
|
||
|
CopyFilesInCopyList
|
||
|
exit
|
||
|
|
||
|
[InstallOption]
|
||
|
; set !DebugOutputControl = 1
|
||
|
; set !STF_DISPLAYDEBUGOUTPUT = 1
|
||
|
set TccOption = $($1)
|
||
|
set SrcDir = $($2)
|
||
|
set AddCopy = $($3)
|
||
|
set DoCopy = $($4)
|
||
|
set DoConfig = $($5)
|
||
|
Debug-Output "$(STF_CONTEXTINFNAME): Entering InstallOption"
|
||
|
Debug-Output "$(STF_CONTEXTINFNAME): STF_CWDIR: .$(!STF_CWDIR)."
|
||
|
Debug-Output "$(STF_CONTEXTINFNAME): STF_LANGUAGE: .$(!STF_LANGUAGE)."
|
||
|
Debug-Output "$(STF_CONTEXTINFNAME): !NTN_RegBase .$(!NTN_RegBase)."
|
||
|
Debug-Output "$(STF_CONTEXTINFNAME): !NTN_SoftwareBase .$(!NTN_SoftwareBase)."
|
||
|
Debug-Output "$(STF_CONTEXTINFNAME): TccOption: .$(TccOption). SrcDir: .$(SrcDir)."
|
||
|
Debug-Output "$(STF_CONTEXTINFNAME): AddCopy: .$(AddCopy). DoCopy: .$(DoCopy). DoConfig: .$(DoConfig)."
|
||
|
set LanguageList = ^(LanguagesSupported, 1)
|
||
|
Ifcontains(i) $($0) NOT-IN $(LanguageList)
|
||
|
Return STATUS_NOLANGUAGE
|
||
|
endif
|
||
|
set-subst LF = "\n"
|
||
|
read-syms GeneralConstants
|
||
|
read-syms FileConstants
|
||
|
set OptionNameList = ^(OptList$(!STF_LANGUAGE), 1 )
|
||
|
set OptionHdwrNameList = ^(OptList$(!STF_LANGUAGE), 3 )
|
||
|
set OptionHdwrTitleList = ^(OptList$(!STF_LANGUAGE), 4 )
|
||
|
set OptionHdwrDescList = ^(OptList$(!STF_LANGUAGE), 5 )
|
||
|
set ProductHdwrName = *($(OptionHdwrNameList),+
|
||
|
~($(OptionNameList), $($1)))
|
||
|
set ProductHdwrTitle = *($(OptionHdwrTitleList),+
|
||
|
~($(OptionNameList), $($1)))
|
||
|
set ProductHdwrDesc = *($(OptionHdwrDescList),+
|
||
|
~($(OptionNameList), $($1)))
|
||
|
Debug-Output "$(STF_CONTEXTINFNAME): ProductHdwrName .$(ProductHdwrName)."
|
||
|
Debug-Output "$(STF_CONTEXTINFNAME): ProductHdwrTitle .$(ProductHdwrTitle)."
|
||
|
Debug-Output "$(STF_CONTEXTINFNAME): ProductHdwrDesc .$(ProductHdwrDesc)."
|
||
|
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 = InstallOptionDispatch
|
||
|
set from = InstallOptionDispatch
|
||
|
set CommonStatus = STATUS_SUCCESSFUL
|
||
|
EndWait
|
||
|
|
||
|
InstallOptionDispatch = +
|
||
|
Debug-Output "$(STF_CONTEXTINFNAME): Entering InstallOptionDispatch"
|
||
|
Ifstr(i) $(!NTN_InstallMode) == deinstall
|
||
|
set StartLabel = RemoveAdapterFromRegistry
|
||
|
else-Ifstr(i) $(!NTN_InstallMode) == Update
|
||
|
set StartLabel = UpgradeSoftware
|
||
|
else-Ifstr(i) $(!NTN_InstallMode) == bind
|
||
|
set StartLabel = CheckAdapterBinding
|
||
|
else-Ifstr(i) $(!NTN_InstallMode) == configure
|
||
|
set StartLabel = GetAdapterConfigFromRegistry
|
||
|
Ifstr(i) $(KeyName_Software) == $(!NTN_RegBase)
|
||
|
Debug-Output "$(STF_CONTEXTINFNAME): Cannot configure driver software."
|
||
|
Shell $(UtilityInf), RegistryErrorString, CANNOT_CONFIGURE_SOFTWARE
|
||
|
ifint $($ShellCode) != $(!SHELL_CODE_OK)
|
||
|
set ShellErrorSection = UtilityInf:RegistryErrorString
|
||
|
goto ShellCodeError
|
||
|
endif
|
||
|
set Error = $($R0)
|
||
|
set from = InstallOptionExit
|
||
|
set to = InstallOptionExit
|
||
|
goto SetNonFatalInfo
|
||
|
endif
|
||
|
else
|
||
|
set StartLabel = TestForExistingInstallation
|
||
|
set OEM_ABANDON_OPTIONS = {}
|
||
|
set OEM_ABANDON_SOFTWARE = FALSE
|
||
|
set OEM_ABANDON_ON = TRUE
|
||
|
endif
|
||
|
set InterruptValue = 2
|
||
|
set MemoryBaseValue = 53248
|
||
|
set IoBaseValue = 736
|
||
|
set SlotNumberValue = 1
|
||
|
set BusNumberValue = 0
|
||
|
set BusTypeValue = 1
|
||
|
set MediaTypeValue = 8
|
||
|
set PacketSizeValue = 1024
|
||
|
set NdisInterfaceIsa = 1
|
||
|
set NdisInterfaceEisa = 2
|
||
|
set Tc3047EisaIdValue = 1349464391
|
||
|
set Tc3147EisaIdValue = 1349464135
|
||
|
set from = $(FatalError)
|
||
|
set to = $(FatalError)
|
||
|
goto $(StartLabel)
|
||
|
|
||
|
TestForExistingInstallation = +
|
||
|
set OldVersionExisted = $(FALSE)
|
||
|
Debug-Output "$(STF_CONTEXTINFNAME): Entering TestForExistingInstallation"
|
||
|
OpenRegKey $(!REG_H_LOCAL) "" $(KeyName_Software) $(MAXIMUM_ALLOWED) Key_Product
|
||
|
Ifstr $(Key_Product) != $(Key_Null)
|
||
|
CloseRegKey $(Key_Product)
|
||
|
ifstr(i) $(!NTN_RegBase) == $(KeyName_Software)
|
||
|
Shell $(UtilityInf), VerExistedDlg, $(SoftwareTitle), $(SoftwareVersion)
|
||
|
ifint $($ShellCode) != $(!SHELL_CODE_OK)
|
||
|
set ShellErrorSection = UtilityInf:VerExistedDlg
|
||
|
goto ShellCodeError
|
||
|
endif
|
||
|
goto end
|
||
|
else
|
||
|
Shell $(UtilityInf), CardExistedDlg
|
||
|
ifint $($ShellCode) != $(!SHELL_CODE_OK)
|
||
|
set ShellErrorSection = UtilityInf:CardExistedDlg
|
||
|
goto ShellCodeError
|
||
|
endif
|
||
|
ifstr(i) $($R1) == "OK"
|
||
|
set OldVersionExisted = $(TRUE)
|
||
|
else
|
||
|
goto InstallOptionExit
|
||
|
endif
|
||
|
endif
|
||
|
endif
|
||
|
|
||
|
CopyAdapterFiles = +
|
||
|
Debug-Output "$(STF_CONTEXTINFNAME): Entering CopyAdapterFiles"
|
||
|
ifint $(OldVersionExisted) == $(TRUE)
|
||
|
ifstr(i) $(!NTN_InstallMode) == configure
|
||
|
goto GetAdapterConfigFromUser
|
||
|
endif
|
||
|
endif
|
||
|
StartWait
|
||
|
ifint $(OldVersionExisted) == $(FALSE)
|
||
|
ifstr(i) $(!NTN_InstallMode) == "install"
|
||
|
Ifstr(i) $(DoCopy) == "YES"
|
||
|
Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES
|
||
|
Ifint $($ShellCode) != $(!SHELL_CODE_OK)
|
||
|
set ShellErrorSection = UtilityInf:DoAskSource
|
||
|
Goto ShellCodeError
|
||
|
Else-Ifstr(i) $($R0) == STATUS_FAILED
|
||
|
Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
|
||
|
ifint $($ShellCode) != $(!SHELL_CODE_OK)
|
||
|
set ShellErrorSection = UtilityInf:RegistryErrorString
|
||
|
goto ShellCodeError
|
||
|
endif
|
||
|
set Error = $($R0)
|
||
|
Goto FatalError
|
||
|
Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
|
||
|
Goto ProcessSuccessExit
|
||
|
Endif
|
||
|
Set SrcDir = $($R1)
|
||
|
Endif
|
||
|
install "Install-Option"
|
||
|
ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
|
||
|
Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE"
|
||
|
ifint $($ShellCode) != $(!SHELL_CODE_OK)
|
||
|
set ShellErrorSection = UtilityInf:RegistryErrorString
|
||
|
goto ShellCodeError
|
||
|
endif
|
||
|
set Error = $($R0)
|
||
|
goto FatalError
|
||
|
endif
|
||
|
endif
|
||
|
endif
|
||
|
|
||
|
GetAdapterConfigFromRegistry = +
|
||
|
Debug-Output "$(STF_CONTEXTINFNAME): Entering GetAdapterConfigFromRegistry"
|
||
|
ifstr(i) $(!NTN_InstallMode) == "install"
|
||
|
goto GetAdapterConfigFromUser
|
||
|
else
|
||
|
Ifstr $(Key_Product) == $(Key_Null)
|
||
|
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) Key_Product
|
||
|
Ifstr $(Key_Product) == $(Key_Null)
|
||
|
set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
|
||
|
Debug-Output $(STF_CONTEXTINFNAME)": Cannot find component product key"
|
||
|
goto FatalRegistryError
|
||
|
Endif
|
||
|
Endif
|
||
|
Shell $(UtilityInf) FindService, $(Key_Product)
|
||
|
Ifint $($ShellCode) != $(!SHELL_CODE_OK)
|
||
|
set ShellErrorSection = UtilityInf:FindService
|
||
|
Goto ShellCodeError
|
||
|
Endif
|
||
|
Ifstr(i) $($R0) != NO_ERROR
|
||
|
Debug-Output "$(STF_CONTEXTINFNAME): Utility:FindService error: $($R0)"
|
||
|
Goto FatalRegistryError
|
||
|
endif
|
||
|
set Key_HardwareParameters = $($R2)
|
||
|
CloseRegKey $($R1)
|
||
|
Ifstr $(Key_HardwareParameters) == $(Key_Null)
|
||
|
set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
|
||
|
Debug-Output $(STF_CONTEXTINFNAME)": Cannot find component service"
|
||
|
goto FatalRegistryError
|
||
|
endif
|
||
|
set OldVersionExisted = $(TRUE)
|
||
|
set ValueName = ""
|
||
|
set ValueData = ""
|
||
|
set ValueStr = ""
|
||
|
set ValueList = {}
|
||
|
EnumRegValue $(Key_HardwareParameters) ValueList
|
||
|
ForListDo $(ValueList)
|
||
|
set ValueItem = $($)
|
||
|
set ValueName = *($(ValueItem),1)
|
||
|
set ValueData = *($(ValueItem),4)
|
||
|
Ifstr(i) $(ValueName) == "AdapterType"
|
||
|
set AdapterTypeValue = $(ValueData)
|
||
|
else-Ifstr(i) $(ValueName) == "BusNumber"
|
||
|
set BusNumberValue = $(ValueData)
|
||
|
else-Ifstr(i) $(ValueName) == "BusType"
|
||
|
set BusTypeValue = $(ValueData)
|
||
|
else-Ifstr(i) $(ValueName) == "Interrupt"
|
||
|
set InterruptValue = $(ValueData)
|
||
|
else-Ifstr(i) $(ValueName) == "IoBase"
|
||
|
set IoBaseValue = $(ValueData)
|
||
|
else-Ifstr(i) $(ValueName) == "MediaType"
|
||
|
set MediaTypeValue = $(ValueData)
|
||
|
else-Ifstr(i) $(ValueName) == "MemoryBase"
|
||
|
set MemoryBaseValue = $(ValueData)
|
||
|
else-Ifstr(i) $(ValueName) == "PacketSize"
|
||
|
set PacketSizeValue = $(ValueData)
|
||
|
else-Ifstr(i) $(ValueName) == "SlotNumber"
|
||
|
set SlotNumberValue = $(ValueData)
|
||
|
endif
|
||
|
Debug-Output "$(STF_CONTEXTINFNAME): $(ValueName) == .$(ValueData)."
|
||
|
EndForListDo
|
||
|
Endif
|
||
|
|
||
|
GetAdapterConfigFromUser = +
|
||
|
Debug-Output "$(STF_CONTEXTINFNAME): Entering GetAdapterConfigFromUser"
|
||
|
set from = GetAdapterConfigFromUser
|
||
|
set InterruptTextDlgDefault = *($(InterruptTextList),+
|
||
|
~($(InterruptValueList), +
|
||
|
$(InterruptValue)))
|
||
|
set MemoryBaseTextDlgDefault = *($(MemoryBaseTextList),+
|
||
|
~($(MemoryBaseValueList), +
|
||
|
$(MemoryBaseValue)))
|
||
|
set IoBaseTextDlgDefault = *($(IoBaseTextList),+
|
||
|
~($(IoBaseValueList), +
|
||
|
$(IoBaseValue)))
|
||
|
set SlotTextDlgDefault = ~($(SlotSupportValueList), +
|
||
|
$(SlotSupportValue))
|
||
|
ifstr(i) $(TccOption) == "tc$arcnet"
|
||
|
read-syms TcarcIsaDlg
|
||
|
else-ifstr(i) $(TccOption) == "tc$tcns"
|
||
|
read-syms TcnsIsaDlg
|
||
|
else-ifstr(i) $(TccOption) == "tc$3147"
|
||
|
read-syms TcnsEisaDlg
|
||
|
else
|
||
|
read-syms TcarcIsaDlg
|
||
|
endif
|
||
|
ui start "InputDlg"
|
||
|
ifstr(i) $(DLGEVENT) == "CONTINUE"
|
||
|
ifstr(i) $(TccOption) == "tc$3147e"
|
||
|
set SlotNumberValue = *($(SlotValueList),+
|
||
|
~($(SlotTextList),+
|
||
|
$(Combo1Out)))
|
||
|
else
|
||
|
set InterruptValue = *($(InterruptValueList),+
|
||
|
~($(InterruptTextList),+
|
||
|
$(Combo1Out)))
|
||
|
set IoBaseValue = *($(IoBaseValueList),+
|
||
|
~($(IoBaseTextList),+
|
||
|
$(Combo2Out)))
|
||
|
set MemoryBaseValue = *($(MemoryBaseValueList),+
|
||
|
~($(MemoryBaseTextList),+
|
||
|
$(Combo3Out)))
|
||
|
endif
|
||
|
ui pop 1
|
||
|
Debug-Output "$(STF_CONTEXTINFNAME): After Dialog..."
|
||
|
Debug-Output "$(STF_CONTEXTINFNAME): InterruptValue == .$(InterruptValue)."
|
||
|
Debug-Output "$(STF_CONTEXTINFNAME): IoBaseValue == .$(IoBaseValue)."
|
||
|
Debug-Output "$(STF_CONTEXTINFNAME): MemoryBaseValue == .$(MemoryBaseValue)."
|
||
|
Debug-Output "$(STF_CONTEXTINFNAME): SlotValue == .$(SlotValue)."
|
||
|
else-ifstr(i) $(DLGEVENT) == "CANCEL"
|
||
|
set CommonStatus = STATUS_USERCANCEL
|
||
|
Debug-Output "$(STF_CONTEXTINFNAME): Dialog Action Exit. Bye."
|
||
|
ui pop 1
|
||
|
goto InstallOptionExit
|
||
|
else
|
||
|
set CommonStatus = STATUS_USERCANCEL
|
||
|
ui pop 1
|
||
|
Debug-Output "$(STF_CONTEXTINFNAME): Dialog Action Unknown. Bye."
|
||
|
goto InstallOptionExit
|
||
|
endif
|
||
|
|
||
|
AddAdapterSoftwareToRegistry = +
|
||
|
Ifstr(i) $(!NTN_InstallMode) == configure
|
||
|
goto AddAdapterConfigurationToRegistry
|
||
|
Endif
|
||
|
ifint $(OldVersionExisted) == $(TRUE)
|
||
|
goto AddAdapterHardwareToRegistry
|
||
|
Endif
|
||
|
Shell $(UtilityInf), +
|
||
|
AddSoftwareComponent, +
|
||
|
$(Manufacturer), +
|
||
|
$(TccBaseName), +
|
||
|
$(TccBaseName), +
|
||
|
$(SoftwareTitle), +
|
||
|
$(STF_CONTEXTINFNAME), +
|
||
|
$(SoftwareImage), +
|
||
|
"kernel", "NDIS", {}, "",+
|
||
|
$(NetEventDLL)
|
||
|
Set OEM_ABANDON_SOFTWARE = TRUE
|
||
|
ifint $($ShellCode) != $(!SHELL_CODE_OK)
|
||
|
set ShellErrorSection = UtilityInf:AddSoftwareComponent
|
||
|
goto ShellCodeError
|
||
|
endif
|
||
|
set RegistryErrorIndex = $($R0)
|
||
|
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
|
||
|
EndWait
|
||
|
Debug-Output $(STF_CONTEXTINFNAME)": AddAdapterSoftware - add component error"
|
||
|
CloseRegKey $($R1)
|
||
|
CloseRegKey $($R2)
|
||
|
CloseRegKey $($R3)
|
||
|
CloseRegKey $($R4)
|
||
|
CloseRegKey $($R5)
|
||
|
goto FatalRegistryError
|
||
|
endif
|
||
|
Set Key_SoftwareProduct = $($R1)
|
||
|
Set Key_SoftwareNetRules = $($R2)
|
||
|
CloseRegKey $($R3)
|
||
|
CloseRegKey $($R4)
|
||
|
CloseRegKey $($R5)
|
||
|
set NewValueList = {+
|
||
|
{SoftwareType, $(NoTitle), $(!REG_VT_SZ), $(SoftwareType)},+
|
||
|
{MajorVersion, $(NoTitle), $(!REG_VT_DWORD), $(SoftwareMajorVersion)},+
|
||
|
{MinorVersion, $(NoTitle), $(!REG_VT_DWORD), $(SoftwareMinorVersion)},+
|
||
|
{Title, $(NoTitle), $(!REG_VT_SZ), $(SoftwareTitle)},+
|
||
|
{Description, $(NoTitle), $(!REG_VT_SZ), $(SoftwareDescription)},+
|
||
|
{ServiceName, $(NoTitle), $(!REG_VT_SZ), $(TccBaseName)},+
|
||
|
{InstallDate, $(NoTitle), $(!REG_VT_DWORD), *($(Now),1)}+
|
||
|
}
|
||
|
Shell $(UtilityInf), AddValueList, $(Key_SoftwareProduct), $(NewValueList)
|
||
|
ifint $($ShellCode) != $(!SHELL_CODE_OK)
|
||
|
set ShellErrorSection = UtilityInf:AddValueList
|
||
|
goto ShellCodeError
|
||
|
endif
|
||
|
Set RegistryErrorIndex = $($R0)
|
||
|
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
|
||
|
EndWait
|
||
|
Debug-Output $(STF_CONTEXTINFNAME)": AddAdapterSoftware - add value list error"
|
||
|
CloseRegKey $(Key_SoftwareProduct)
|
||
|
CloseRegKey $(Key_SoftwareNetRules)
|
||
|
goto FatalRegistryError
|
||
|
endif
|
||
|
Set NewValueList = {+
|
||
|
{type, $(NoTitle), $(!REG_VT_SZ), $(NetRuleSoftwareType)},+
|
||
|
{use, $(NoTitle), $(!REG_VT_SZ), $(NetRuleSoftwareUse)}, +
|
||
|
{bindform, $(NoTitle), $(!REG_VT_SZ), $(NetRuleSoftwareBindForm)}, +
|
||
|
{class, $(NoTitle), $(!REG_VT_MULTI_SZ), $(NetRuleSoftwareClass)}, +
|
||
|
{bindable, $(NoTitle), $(!REG_VT_MULTI_SZ), $(NetRuleSoftwareBindable)}, +
|
||
|
{InfOption, $(NoTitle), $(!REG_VT_SZ), $(TccOption)}+
|
||
|
}
|
||
|
Shell $(UtilityInf), AddValueList, $(Key_SoftwareNetRules), $(NewValueList)
|
||
|
ifint $($ShellCode) != $(!SHELL_CODE_OK)
|
||
|
set ShellErrorSection = UtilityInf:AddValueList
|
||
|
goto ShellCodeError
|
||
|
endif
|
||
|
Set RegistryErrorIndex = $($R0)
|
||
|
CloseRegKey $(Key_SoftwareProduct)
|
||
|
CloseRegKey $(Key_SoftwareNetRules)
|
||
|
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
|
||
|
EndWait
|
||
|
Debug-Output $(STF_CONTEXTINFNAME)": AddAdapterSoftware - add NetRule error"
|
||
|
goto FatalRegistryError
|
||
|
endif
|
||
|
|
||
|
AddAdapterHardwareToRegistry = +
|
||
|
Shell $(UtilityInf), +
|
||
|
AddHardwareComponent, +
|
||
|
$(ProductHdwrName), +
|
||
|
$(STF_CONTEXTINFNAME), +
|
||
|
$(KeyName_Software)
|
||
|
ifint $($R4) != -1
|
||
|
Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4))
|
||
|
endif
|
||
|
ifint $($ShellCode) != $(!SHELL_CODE_OK)
|
||
|
set ShellErrorSection = UtilityInf:AddHardwareComponent
|
||
|
goto ShellCodeError
|
||
|
endif
|
||
|
set RegistryErrorIndex = $($R0)
|
||
|
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
|
||
|
EndWait
|
||
|
Debug-Output $(STF_CONTEXTINFNAME)": AddAdapterHardware - add component error"
|
||
|
CloseRegKey $($R1)
|
||
|
CloseRegKey $($R2)
|
||
|
CloseRegKey $($R3)
|
||
|
goto FatalRegistryError
|
||
|
endif
|
||
|
set Key_HardwareNetRules = $($R2)
|
||
|
set Key_HardwareParameters = $($R3)
|
||
|
set AdapterNumber = $($R4)
|
||
|
set NewValueList = {+
|
||
|
{Manufacturer, $(NoTitle), $(!REG_VT_SZ), $(Manufacturer)},+
|
||
|
{Title, $(NoTitle), $(!REG_VT_SZ), "["$($R4)"] "$(ProductHdwrTitle)},+
|
||
|
{Description, $(NoTitle), $(!REG_VT_SZ), $(ProductHdwrDesc)},+
|
||
|
{ProductName, $(NoTitle), $(!REG_VT_SZ), $(ProductHdwrName)},+
|
||
|
{ServiceName, $(NoTitle), $(!REG_VT_SZ), $($R5)},+
|
||
|
{OperationsSupport,$(NoTitle),$(!REG_VT_DWORD),$(ProductOpSupport)},+
|
||
|
{InstallDate, $(NoTitle), $(!REG_VT_DWORD), *($(Now),1)}+
|
||
|
}
|
||
|
Shell $(UtilityInf), AddValueList, $($R1), $(NewValueList)
|
||
|
ifint $($ShellCode) != $(!SHELL_CODE_OK)
|
||
|
set ShellErrorSection = UtilityInf:AddValueList
|
||
|
goto ShellCodeError
|
||
|
endif
|
||
|
CloseRegKey $($R1)
|
||
|
set TempProdName = """"$(ProductHdwrName)$(AdapterNumber)""""
|
||
|
set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
|
||
|
set NewValueList = {+
|
||
|
{type, $(NoTitle), $(!REG_VT_SZ), $(NetRuleHardwareType)},+
|
||
|
{bindform, $(NoTitle), $(!REG_VT_SZ), $(TempBindForm)}, +
|
||
|
{class, $(NoTitle), $(!REG_VT_MULTI_SZ), $(NetRuleHardwareClass)}, +
|
||
|
{InfOption, $(NoTitle), $(!REG_VT_SZ), $(TccOption)}+
|
||
|
}
|
||
|
Shell $(UtilityInf), AddValueList, $(Key_HardwareNetRules), $(NewValueList)
|
||
|
ifint $($ShellCode) != $(!SHELL_CODE_OK)
|
||
|
set ShellErrorSection = UtilityInf:AddValueList
|
||
|
goto ShellCodeError
|
||
|
endif
|
||
|
set RegistryErrorIndex = $($R0)
|
||
|
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
|
||
|
EndWait
|
||
|
Debug-Output $(STF_CONTEXTINFNAME)": AddAdapterHardware - add NetRule error"
|
||
|
CloseRegKey $(Key_HardwareParameters)
|
||
|
CloseRegKey $(Key_HardwareNetRules)
|
||
|
goto FatalRegistryError
|
||
|
endif
|
||
|
CloseRegKey $(Key_HardwareNetRules)
|
||
|
goto AddAdapterConfigurationToRegistry
|
||
|
|
||
|
AddAdapterConfigurationToRegistry = +
|
||
|
Debug-Output "$(STF_CONTEXTINFNAME): Entering AddAdapterConfigurationToRegistry"
|
||
|
Shell $(UtilityInf),GetBusTypeDialog,$(ProductHardware$(Option)Description) $(BusInterfaceType) $(BusNumber)
|
||
|
ifint $($ShellCode) != $(!SHELL_CODE_OK)
|
||
|
Shell $(UtilityInf), GetBusTypeNum
|
||
|
ifint $($ShellCode) != $(!SHELL_CODE_OK)
|
||
|
set ShellErrorSection = UtilityInf:GetBusTypeNum
|
||
|
goto ShellCodeError
|
||
|
else
|
||
|
set BusTypeValue = $($R1)
|
||
|
set BusNumberValue = 0
|
||
|
endif
|
||
|
else
|
||
|
set BusTypeValue = $($R1)
|
||
|
set BusNumberValue = $($R2)
|
||
|
endif
|
||
|
ifstr(i) $(TccOption) == "tc$arcnet"
|
||
|
set NewValueList = {+
|
||
|
{AdapterType, $(NoTitle), $(!REG_VT_DWORD), $(NdisInterfaceIsa)},+
|
||
|
{BusNumber, $(NoTitle), $(!REG_VT_DWORD), $(BusNumberValue)},+
|
||
|
{BusType, $(NoTitle), $(!REG_VT_DWORD), $(BusTypeValue)},+
|
||
|
{Interrupt, $(NoTitle), $(!REG_VT_DWORD), $(InterruptValue)},+
|
||
|
{IoBase, $(NoTitle), $(!REG_VT_DWORD), $(IoBaseValue)},+
|
||
|
{MediaType, $(NoTitle), $(!REG_VT_DWORD), $(MediaTypeValue)},+
|
||
|
{MemoryBase, $(NoTitle), $(!REG_VT_DWORD), $(MemoryBaseValue)},+
|
||
|
{PacketSize, $(NoTitle), $(!REG_VT_DWORD), $(PacketSizeValue)},+
|
||
|
}
|
||
|
else-ifstr(i) $(TccOption) == "tc$tcns"
|
||
|
set NewValueList = {+
|
||
|
{AdapterType, $(NoTitle), $(!REG_VT_DWORD), $(NdisInterfaceIsa)},+
|
||
|
{BusNumber, $(NoTitle), $(!REG_VT_DWORD), $(BusNumberValue)},+
|
||
|
{BusType, $(NoTitle), $(!REG_VT_DWORD), $(BusTypeValue)},+
|
||
|
{Interrupt, $(NoTitle), $(!REG_VT_DWORD), $(InterruptValue)},+
|
||
|
{IoBase, $(NoTitle), $(!REG_VT_DWORD), $(IoBaseValue)},+
|
||
|
{MediaType, $(NoTitle), $(!REG_VT_DWORD), $(MediaTypeValue)},+
|
||
|
{MemoryBase, $(NoTitle), $(!REG_VT_DWORD), $(MemoryBaseValue)},+
|
||
|
{PacketSize, $(NoTitle), $(!REG_VT_DWORD), $(PacketSizeValue)},+
|
||
|
}
|
||
|
else-ifstr(i) $(TccOption) == "tc$3147e"
|
||
|
set NewValueList = {+
|
||
|
{AdapterType, $(NoTitle), $(!REG_VT_DWORD), $(NdisInterfaceEisa)},+
|
||
|
{BusNumber, $(NoTitle), $(!REG_VT_DWORD), $(BusNumberValue)},+
|
||
|
{BusType, $(NoTitle), $(!REG_VT_DWORD), $(BusTypeValue)},+
|
||
|
{EisaCompressedId, $(NoTitle), $(!REG_VT_DWORD), $(Tc3147EisaIdValue)},+
|
||
|
{MediaType, $(NoTitle), $(!REG_VT_DWORD), $(MediaTypeValue)},+
|
||
|
{PacketSize, $(NoTitle), $(!REG_VT_DWORD), $(PacketSizeValue)},+
|
||
|
{SlotNumber, $(NoTitle), $(!REG_VT_DWORD), $(SlotNumberValue)},+
|
||
|
}
|
||
|
else
|
||
|
set NewValueList = {+
|
||
|
{AdapterType, $(NoTitle), $(!REG_VT_DWORD), $(NdisInterfaceIsa)},+
|
||
|
{BusNumber, $(NoTitle), $(!REG_VT_DWORD), $(BusNumberValue)},+
|
||
|
{BusType, $(NoTitle), $(!REG_VT_DWORD), $(BusTypeValue)},+
|
||
|
{Interrupt, $(NoTitle), $(!REG_VT_DWORD), $(InterruptValue)},+
|
||
|
{IoBase, $(NoTitle), $(!REG_VT_DWORD), $(IoBaseValue)},+
|
||
|
{MediaType, $(NoTitle), $(!REG_VT_DWORD), $(MediaTypeValue)},+
|
||
|
{MemoryBase, $(NoTitle), $(!REG_VT_DWORD), $(MemoryBaseValue)},+
|
||
|
{PacketSize, $(NoTitle), $(!REG_VT_DWORD), $(PacketSizeValue)},+
|
||
|
}
|
||
|
Endif
|
||
|
Shell $(UtilityInf), AddValueList, $(Key_HardwareParameters), $(NewValueList)
|
||
|
CloseRegKey $(Key_HardwareParameters)
|
||
|
ifint $($ShellCode) != $(!SHELL_CODE_OK)
|
||
|
set ShellErrorSection = UtilityInf:AddValueList
|
||
|
goto ShellCodeError
|
||
|
endif
|
||
|
set RegistryErrorIndex = $($R0)
|
||
|
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
|
||
|
Debug-Output $(STF_CONTEXTINFNAME)": AddAdapterConfiguration - add value list error"
|
||
|
goto FatalRegistryError
|
||
|
endif
|
||
|
EndWait
|
||
|
goto ProcessSuccessExit
|
||
|
|
||
|
CheckAdapterBinding =+
|
||
|
Debug-Output "$(STF_CONTEXTINFNAME): Entering CheckAdapterBinding"
|
||
|
set Error = "CheckAdapterBinding: not required for this adapter"
|
||
|
goto FatalError
|
||
|
|
||
|
RemoveAdapterFromRegistry = +
|
||
|
Debug-Output "$(STF_CONTEXTINFNAME): Entering RemoveAdapterFromRegistry"
|
||
|
OpenRegKey $(!REG_H_LOCAL) "" $(KeyName_Software) $(MAXIMUM_ALLOWED) KeyToReferenceCount
|
||
|
Ifstr $(KeyToReferenceCount) == ""
|
||
|
Debug-Output "$(STF_CONTEXTINFNAME): Could not open Software Base Key"
|
||
|
set RefCountBeforeRemove = 2
|
||
|
goto InstallOptionExit
|
||
|
endif
|
||
|
GetRegValue $(KeyToReferenceCount),"RefCount", RefCountInfo
|
||
|
set RefCountBeforeRemove = *($(RefCountInfo), 4)
|
||
|
CloseRegKey $(KeyToReferenceCount)
|
||
|
Debug-Output "$(STF_CONTEXTINFNAME): Removing Hardware Component"
|
||
|
Shell $(UtilityInf), +
|
||
|
RemoveHardwareComponent, +
|
||
|
$(Manufacturer), +
|
||
|
$(TccBaseName), +
|
||
|
$(!NTN_RegBase)
|
||
|
ifint $($ShellCode) != $(!SHELL_CODE_OK)
|
||
|
set ShellErrorSection = UtilityInf:RemoveHardwareComponent
|
||
|
goto ShellCodeError
|
||
|
endif
|
||
|
Ifstr(i) $($R0) != NO_ERROR
|
||
|
Ifstr(i) $($R0) != REF_COUNT_NOT_ZERO
|
||
|
goto FatalRegistryError
|
||
|
endif
|
||
|
endif
|
||
|
ifint $(RefCountBeforeRemove) == 1
|
||
|
OpenRegKey $(!REG_H_LOCAL) "" $(KeyName_SoftwareRoot) $(MAXIMUM_ALLOWED) Key_SoftwareRoot
|
||
|
EnumRegKey $(Key_SoftwareRoot) KeyList
|
||
|
EnumRegValue $(Key_SoftwareRoot) ValueList
|
||
|
CloseRegKey $(Key_SoftwareRoot)
|
||
|
Debug-Output "$(STF_CONTEXTINFNAME): Reg Key .$(KeyName_SoftwareRoot). opened"
|
||
|
Debug-Output "$(STF_CONTEXTINFNAME): KeyList == .$(KeyList)."
|
||
|
Debug-Output "$(STF_CONTEXTINFNAME): ValueList == .$(ValueList)."
|
||
|
ifstr $(KeyList) == "{}"
|
||
|
ifstr $(ValueList) == "{}"
|
||
|
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_SoftwareBase) $(MAXIMUM_ALLOWED) Key_SoftwareBase
|
||
|
DeleteRegKey $(Key_SoftwareBase) $(Manufacturer)
|
||
|
CloseRegKey $(Key_SoftwareBase)
|
||
|
endif
|
||
|
endif
|
||
|
endif
|
||
|
goto InstallOptionExit
|
||
|
|
||
|
UpgradeSoftware = +
|
||
|
Debug-Output "$(STF_CONTEXTINFNAME): Entering UpgradeSoftware"
|
||
|
ifstr(i) $(KeyName_Software) == $(!NTN_RegBase)
|
||
|
OpenRegKey $(!REG_H_LOCAL) "" $(KeyName_Software) $(MAXIMUM_ALLOWED) Key_Product
|
||
|
Ifstr $(Key_Product) != $(Key_Null)
|
||
|
GetRegValue $(Key_Product),"MajorVersion", VersionInfo
|
||
|
set Version = *($(VersionInfo), 4)
|
||
|
Shell $(UtilityInf), GetInfFileNameFromRegistry, $(Key_Product)
|
||
|
ifint $($ShellCode) != $(!SHELL_CODE_OK)
|
||
|
set ShellErrorSection = UtilityInf:GetFileNameFromRegistry
|
||
|
goto ShellCodeError
|
||
|
endif
|
||
|
set !UG_Filename = $($R0)
|
||
|
ifstr(i) $(!UG_Filename) != ""
|
||
|
install "Install-Update"
|
||
|
ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
|
||
|
goto FatalError
|
||
|
endif
|
||
|
endif
|
||
|
SetRegValue $(Key_Product) {MajorVersion, $(NoTitle), $(!REG_VT_SZ), $(SoftwareMajorVersion)}
|
||
|
SetRegValue $(Key_Product) {MinorVersion, $(NoTitle), $(!REG_VT_SZ), $(SoftwareMinorVersion)}
|
||
|
ifint $(Version) != $(SoftwareVersion)
|
||
|
Debug-Output "$(STF_CONTEXTINFNAME): Version .$(Version). != SoftwareVersion .$(SoftwareVersion)."
|
||
|
endif
|
||
|
CloseRegKey $(Key_Product)
|
||
|
else
|
||
|
goto FatalRegistryError
|
||
|
endif
|
||
|
else
|
||
|
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) NetworkCardKey
|
||
|
Ifstr(i) $(NetworkCardKey) != $(Key_Null)
|
||
|
GetRegValue $(NetworkCardKey),"ServiceName", ServiceNameInfo
|
||
|
set ServiceName = *($(ServiceNameInfo), 4)
|
||
|
OpenRegKey $(NetworkCardKey) "" "NetRules" $(MAXIMUM_ALLOWED) NetRuleKey
|
||
|
Ifstr(i) $(NetRuleKey) != $(Key_Null)
|
||
|
Debug-Output "$(STF_CONTEXTINFNAME): NetRuleKey .$(NetRuleKey). != Key_Null .$(Key_Null)."
|
||
|
else
|
||
|
goto FatalRegistryError
|
||
|
endif
|
||
|
CloseRegKey $(NetRules)
|
||
|
CloseRegKey $(NetworkCardKey)
|
||
|
else
|
||
|
goto FatalRegistryError
|
||
|
endif
|
||
|
OpenRegKey $(!REG_H_LOCAL) +
|
||
|
"" $(!NTN_ServiceBase)"\"$(ServiceName) +
|
||
|
$(MAXIMUM_ALLOWED) +
|
||
|
ServiceKey
|
||
|
Ifstr(i) $(ServiceKey) != $(Key_Null)
|
||
|
CloseRegKey $(ServiceKey)
|
||
|
else
|
||
|
goto FatalRegistryError
|
||
|
endif
|
||
|
endif
|
||
|
|
||
|
;
|
||
|
; Enumerate all netcards installed of this type and update them
|
||
|
;
|
||
|
set iSearch = 1
|
||
|
nextnetcard = +
|
||
|
Shell $(UtilityInf), FindNextNetworkCard, $(TccBaseName), $(iSearch)
|
||
|
set KeyNetcard = $($R0)
|
||
|
set iSearch = $($R1)
|
||
|
Debug-Output "OemNadEp.Inf: FindNextNetworkCard "$(KeyNetcard)","$(iSearch)
|
||
|
Ifstr $(KeyNetcard) != $(KeyNull)
|
||
|
Debug-Output "OemNadEp.Inf: Setting OperationsSupport value"
|
||
|
SetRegValue $(KeyNetcard) {OperationsSupport,$(NoTitle),$(!REG_VT_DWORD),$(ProductOpSupport)}
|
||
|
CloseRegKey $(KeyNetcard)
|
||
|
|
||
|
goto nextnetcard
|
||
|
Endif
|
||
|
|
||
|
goto InstallOptionExit
|
||
|
|
||
|
ProcessSuccessExit = +
|
||
|
goto InstallOptionExit
|
||
|
|
||
|
ProcessAbandonInstall = +
|
||
|
ForListDo $(OEM_ABANDON_OPTIONS)
|
||
|
Shell $(UtilityInf), +
|
||
|
RemoveHardwareComponent, +
|
||
|
$(Manufacturer), +
|
||
|
$(TccBaseName), +
|
||
|
$($)
|
||
|
ifint $($ShellCode) != $(!SHELL_CODE_OK)
|
||
|
set ShellErrorSection = UtilityInf:RemoveHardwareComponent
|
||
|
goto ShellCodeError
|
||
|
endif
|
||
|
set RegistryErrorIndex = $($R0)
|
||
|
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
|
||
|
goto FatalRegistryError
|
||
|
endif
|
||
|
EndForListDo
|
||
|
Ifstr(i) $(OEM_ABANDON_SOFTWARE) == TRUE
|
||
|
Shell $(UtilityInf), +
|
||
|
RemoveSoftwareComponent, +
|
||
|
$(Manufacturer), +
|
||
|
$(TccBaseName), +
|
||
|
FALSE
|
||
|
ifint $($ShellCode) != $(!SHELL_CODE_OK)
|
||
|
set ShellErrorSection = UtilityInf:RemoveSoftwareComponent
|
||
|
goto ShellCodeError
|
||
|
endif
|
||
|
set RegistryErrorIndex = $($R0)
|
||
|
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
|
||
|
goto FatalRegistryError
|
||
|
endif
|
||
|
endif
|
||
|
goto InstallOptionExit
|
||
|
|
||
|
ProcessWarningMessage = +
|
||
|
Shell $(SubroutineInf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
|
||
|
ifint $($ShellCode) != $(!SHELL_CODE_OK)
|
||
|
set ShellErrorSection = SubroutineInf:SetupMessage
|
||
|
goto ShellCodeError
|
||
|
endif
|
||
|
ifstr(i) $($R1) == "OK"
|
||
|
goto $(to)
|
||
|
else-ifstr(i) $($R1) == "CANCEL"
|
||
|
goto $(from)
|
||
|
else
|
||
|
goto "InstallOptionExit"
|
||
|
endif
|
||
|
|
||
|
SetNonFatalInfo = +
|
||
|
Set CommonStatus = STATUS_USERCANCEL
|
||
|
Set Severity = STATUS
|
||
|
goto ProcessNonFatalMessage
|
||
|
|
||
|
ProcessNonFatalMessage = +
|
||
|
ifstr(i) $(Error) == ""
|
||
|
Set Severity = NONFATAL
|
||
|
Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
|
||
|
ifint $($ShellCode) != $(!SHELL_CODE_OK)
|
||
|
set ShellErrorSection = UtilityInf:RegistryErrorString
|
||
|
goto ShellCodeError
|
||
|
endif
|
||
|
set Error = $($R0)
|
||
|
endif
|
||
|
Shell $(SubroutineInf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
|
||
|
ifint $($ShellCode) != $(!SHELL_CODE_OK)
|
||
|
set ShellErrorSection = SubroutineInf:SetupMessage
|
||
|
goto ShellCodeError
|
||
|
endif
|
||
|
ifstr(i) $($R1) == "OK"
|
||
|
goto $(from)
|
||
|
else
|
||
|
goto "InstallOptionExit"
|
||
|
endif
|
||
|
|
||
|
FatalRegistryError = +
|
||
|
Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
|
||
|
ifint $($ShellCode) != $(!SHELL_CODE_OK)
|
||
|
set ShellErrorSection = UtilityInf:RegistryErrorString
|
||
|
goto ShellCodeError
|
||
|
endif
|
||
|
set Error = $($R0)
|
||
|
goto FatalError
|
||
|
|
||
|
FatalError = +
|
||
|
ifstr(i) $(Error) == ""
|
||
|
Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
|
||
|
ifint $($ShellCode) != $(!SHELL_CODE_OK)
|
||
|
set ShellErrorSection = UtilityInf:RegistryErrorString
|
||
|
goto ShellCodeError
|
||
|
endif
|
||
|
set Error = $($R0)
|
||
|
endif
|
||
|
Shell $(SubroutineInf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
|
||
|
ifint $($ShellCode) != $(!SHELL_CODE_OK)
|
||
|
set ShellErrorSection = UtilityInf:SetupMessage
|
||
|
goto ShellCodeError
|
||
|
endif
|
||
|
goto SetFailedStatusAndExit
|
||
|
|
||
|
ShellCodeError = +
|
||
|
Debug-Output $(STF_CONTEXTINFNAME)": Shell error, $(ShellErrorSection)"
|
||
|
set DlgType = "MessageBox"
|
||
|
set STF_MB_TITLE = "Error: "$(FunctionTitle)
|
||
|
set STF_MB_TEXT = "Shell Code Error"
|
||
|
set STF_MB_TYPE = 1
|
||
|
set STF_MB_ICON = 3
|
||
|
set STF_MB_DEF = 1
|
||
|
ui start "Error Message"
|
||
|
goto SetFailedStatusAndExit
|
||
|
|
||
|
SetFailedStatusAndExit = +
|
||
|
set CommonStatus = STATUS_FAILED
|
||
|
ifstr(i) $(OEM_ABANDON_ON) == TRUE
|
||
|
set OEM_ABANDON_ON = FALSE
|
||
|
goto ProcessAbandonInstall
|
||
|
endif
|
||
|
goto InstallOptionExit
|
||
|
|
||
|
InstallOptionExit = +
|
||
|
Return $(CommonStatus)
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|