OEMSETUP.INF Driver File Contents (d9331f.exe)

; "OEMSETUP.INF" -- Windows/NT Installation Script for 100VG/AnyLAN Adapters.
; Written 27-May-97 by Jack R. Ellis of Racore Corporation, Salt Lake City UT.
;
[Identification]
    OptionType = NetAdapter

[GeneralConstants]
MAXIMUM_ALLOWED = 33554432
RegErrorNo      = NO_ERROR
ErrorMsg        = ""
ProductKey      = ""
ParameterKey    = ""
AdapterRulesKey = ""
NetRulesKey     = ""
TRUE            = 1
FALSE           = 0
NoTitle         = 0
ExitState       = "Active"
DriverPath      = $(!STF_NTPATH)\drivers
;
; Product Information
;
Mfgr     = "Racore"
ProdMajV = "3"
ProdMinV = "11"
ProdVer  = $(ProdMajV)"."$(ProdMinV)
;
; Filenames
;
UShell = "UTILITY.INF"
SShell = "SUBROUTN.INF"
SWType = "driver"
NetEventDLL = "%SystemRoot%\System32\netevent.dll"
;
; Software Configuration Registry Information
;
ProdSWName        = "Rvgndis"
ProdSWImagePath   = "%SystemRoot%\System32\drivers\rvgndis.sys"
NetRuleSWType     = "rvgndisSys ndisDriver rvgndisDriver"
NetRuleSWUse      = $(SWType)
NetRuleSWBindForm = """RvgndisSys"" yes no container"
NetRuleSWClass    = {"rvgndisDriver basic"}
NetRuleSWBindable = {"rvgndisDriver rvgndisAdapter non exclusive 100"}
;
; Hardware Configuration Registry Information
;
ProdHWName        = "Rvgndis"
NetRuleHWType     = "rvgndis rvgndisAdapter"
NetRuleHWBindForm = " yes yes container"
NetRuleHWClass    = {"rvgndisAdapter basic"}
;
; Registry Keys
;
ProdKeyName  = $(!NTN_SoftwareBase)"\"$(Mfgr)"\"$(ProdSWName)"\CurrentVersion"
ParamKeyName = $(!NTN_ServiceBase)"\"$(ProdHWName)"\Parameters"

[ProductType]
STF_PRODUCT  = Winnt
STF_PLATFORM = I386

[LangSupport]
    ENG

[BusSupport]
    ISA
    EISA
    PCI

[Options]
    RVGNDIS

[Source Media Descriptions]
    1  = "Racore 100VG Windows/NT Driver, V1.14 (970527).", TAGFILE = disk.id

[Files-Inf]
    2, oemsetup.inf, SIZE=1000, RENAME=$(!UG_Filename)

[Files-Rvgndis]
    1 = 1, rvgndis.sys

[Files-Dll]
    1 = 1, rvgndis.dll

[OptionsTextENG]
    RVGNDIS = "Racore 100VG/AnyLAN NDIS Driver"

[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 = "RVGNDIS 100VG/AnyLAN Adapter Setup"

ProdSWDescr = "Rvgndis 100VG/AnyLAN Adapter Driver"
ProdHWDescr = "Racore 100VG/AnyLAN Adapter"

ProdSWTitle = "Rvgndis 100VG/AnyLAN Adapter Driver"
ProdHWTitle = "Racore 100VG/AnyLAN Adapter"

ShellErrorTitle = "Error: "$(FunctionTitle)
ShellErrorText  = "Shell Code Error."

BIOTxtList = ^(BIOTable, 1)
BIOValList = ^(BIOTable, 2)

IRQTxtList = ^(IRQTable, 1)
IRQValList = ^(IRQTable, 2)

[DialogConstantsENG]
Exit        = "Cancel"
OK          = "OK"
HelpContext = ""
Continue    = "Continue"
Cancel      = "Cancel"

[FileConfigDlgENG]

DlgText = "Please select values for the follwing fields:"

DlgType = "RadioCombination"
DlgTemplate = "RVGNDIS"
Caption = $(FunctionTitle)

CBOptionsGreyed = {}
NotifyFields = {NO, NO}

Combo1Label = "&Base I-O Port:"
Combo2Label = "&IRQ Level:"

Edit1Label = "&Network Address:"

Check1Label = "&Priority Transmissions"

ComboListItemsIn  = {Combo1List, Combo2List}
ComboListItemsOut = {Combo1Out, Combo2Out}

EditTextLim = {"",""}

;
; Identify -- Verifies that this script file deals with the same type of
;             options as we are choosing currently.
;
;    OUTPUT:  $($R0):  STATUS_SUCCESSFUL
;             $($R1):  Option Type (COMPUTER ...)
;             $($R2):  Diskette description
;
[Identify]
    set Status = STATUS_SUCCESSFUL
    set Ident  = NetAdapter
    set Media  = #("Source Media Descriptions", 1, 1)
    return $(Status) $(Ident) $(Media)

;
; ReturnOptions -- Returns the option list supported by this INF and the
;                  localized text list representing the options.
;
;    INPUT:   $($0):   Language used (ENG, FRN, etc.).
;
;    OUTPUT:  $($R0):  Status (SUCCESSFUL, NOLANGUAGE, or NOTSUPPORTED)
;             $($R1):  Option List
;             $($R2):  Option Text List
;
[ReturnOptions]
    set Status = STATUS_SUCCESSFUL      ;Default return status to "success".
    set OptionList = {}                 ;Default return list/text to "empty".
    set OptionText = {}                 ;(In case of errors below).
    set LangList = ^(LangSupport, 1)    ;See if caller's language is supported.
    ifcontains(i) $($0) not-in $(LangList)
	set Status = STATUS_NOLANGUAGE  ;No??  Goodbye!!
	return $(Status) $(OptionList) $(OptionText)
	endif
    ifstr(i) $($1) == ""                ;Did caller specify a CPU bus type?
	set OptionList = ^(Options, 1)  ;No, just pass options back to caller.
	set OptionText = ^(OptionsText$($0), 1)
	return $(Status) $(OptionList) $(OptionText)
	endif
    set BusList = ^(BusSupport, 1)      ;See if caller's CPU bus is supported.
    ifcontains(i) $($1) not-in $(BusList)
	set Status = STATUS_NOTSUPPORTED ;No??  Goodbye!!
	return $(Status) $(OptionList) $(OptionText)
	endif
    set OptionList = ^(Options, 1)      ;Pass options back to caller & exit.
    set OptionText = ^(OptionsText$($0), 1)
    return $(Status) $(OptionList) $(OptionText)

;
; Installation -- This section is invoked as a "shell" by main installation
;                 processing or by NCPASHEL.INF during a reconfig, removal,
;                 update, etc.
;
; INPUT:   $($0):   Language to use
;          $($1):   OptionID to install
;          $($2):   SourceDirectory
;          $($3):   AddCopy  (YES | NO)
;          $($4):   DoCopy   (YES | NO)
;          $($5):   DoConfig (YES | NO)
;
; OUTPUT:  $($R0):  Status (SUCCESSFUL, NOLANGUAGE, USERCANCEL, FAILED, etc.)
;
[InstallOption]
    debug-output "Starting 100VG scripts"
    set OEM_ABANDON_OPTIONS = ""        ;Set default exiting status.
    set OEM_ABANDON_SOFTWARE = FALSE
    set OEM_ABANDON_ON = TRUE
    set Option   = $($1)                ;Get operator parameters.
    set SrcDir   = $($2)
    set AddCopy  = $($3)
    set DoCopy   = $($4)
    set DoConfig = $($5)
    set LangList = ^(LangSupport, 1)    ;See if desired language is supported.
    Ifcontains(i) $($0) NOT-IN $(LangList)
	return STATUS_NOLANGUAGE
	endif
    read-syms GeneralConstants          ;Set up all our internal variables.
    read-syms DialogConstants$(!STF_LANGUAGE)
    read-syms FileConstants$(!STF_LANGUAGE)
    set Status = STATUS_SUCCESSFUL
    set-title  $(FunctionTitle)
    detect date                         ;Get current system date.
    endwait                             ;Get rid of the "wait" icon.
    set BIOText = *($(BIOTxtList), 1)   ;Set default 100VG parameters.
    set IRQText = *($(IRQTxtList), 1)
    set NetAddrValue = ""
    set PriorityValue = "0"
    set StartLabel = installadapter     ;Default to our installation routine.
    ifstr(i) $(!NTN_InstallMode) == deinstall  ;See what our boy wants to do --
	set StartLabel = removeadapter
	endif
    ifstr(i) $(!NTN_InstallMode) == Update
	set StartLabel = Upgrade
	endif
    ifstr(i) $(!NTN_InstallMode) == bind
	set Error = "100VG Binding:  Sorry, not yet implemented."
	goto fatalmsg
	endif
    ifstr(i) $(!NTN_InstallMode) == configure
	ifstr(i) $(ProdKeyName) == $(!NTN_RegBase)
	    debug-output "Cannot configure the Rvgndis driver software."
	    shell $(UShell), RegistryErrorString, CANNOT_CONFIGURE_SOFTWARE
	    set ErrorMsg = "getting config-error message."
	    ifint $($ShellCode) != $(!SHELL_CODE_OK)
		goto shellerror
		endif
	    shell $(SShell) SetupMessage, $(!STF_LANGUAGE), "STATUS", $($R0)
	    set ErrorMsg = "displaying config-error message."
	    ifint $($ShellCode) != $(!SHELL_CODE_OK)
		goto shellerror
		endif
	    return STATUS_USERCANCEL
	    endif
	set Status = STATUS_REBOOT
	set StartLabel = configureadapter
	set SrcDir = $(!STF_CWDDIR)
	endif
    goto $(StartLabel)                  ;Go do what our boy wants.
;
; Install-Adapter & Install-Software Setup Routine.
;
installadapter = +
    set StartLabel = addnewsoftware     ;Add new software/adapter after dialog.
    set Combo1List = $(BIOTxtList)      ;Set default dialog-list parameters.
    set Combo1Out  = {}
    set Combo2List = $(IRQTxtList)
    set Combo2Out  = {}
    set CheckItemsIn = {OFF}
    set CheckItemsOut = {}
    openregkey $(!REG_H_LOCAL) "" $(ProdKeyName) $(MAXIMUM_ALLOWED) ProductKey
    ifstr $(ProductKey) != ""           ;Is same version already installed?
	closeregkey $(ProductKey)       ;Yes, close product key.
	set ProductKey = ""
	ifstr(i) !(NTN_RegBase) == $(ProdKeyName) ;Can't install same software!
	    shell $(UShell), VerExistedDlg, $(ProdSWTitle), $(ProdVer)
	    set ErrorMsg = "getting software version-exists message."
	    ifint $($ShellCode) != $(!SHELL_CODE_OK)
		goto shellerror
		endif
	    return $(Status)
	    endif
	shell $(UShell), CardExistedDlg ;Confirm that we are adding an adapter.
	set ErrorMsg = "getting hardware version-exists message."
	ifint $($ShellCode) != $(!SHELL_CODE_OK)
	    goto shellerror
	    endif
	ifstr(i) $($R1) != "OK"         ;Is another adapter really wanted?
	    return STATUS_USERCANCEL    ;No??  Goodbye!!
	    endif
	set StartLabel = addnewadapter  ;Add only a new adapter after dialog.
	goto adapterdialog              ;Go run operator dialog (below).
	endif
    shell $(UShell), DoAskSource, $(!STF_CWDDIR), ""  ;Input new adapter files.
    set ErrorMsg = "getting source-file directory."
    Ifint $($ShellCode) != $(!SHELL_CODE_OK)
	goto shellerror
	endif
    ifstr(i) $($R0) == STATUS_FAILED
	return STATUS_FAILED
	endif
    ifstr(i) $($R0) == STATUS_USERCANCEL
	return STATUS_USERCANCEL
	endif
    install "Copy-Files"
    ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
	set Error = "100VG Install:  file copy failed."
	goto fatalmsg
	endif
    goto adapterdialog                  ;Go run operator dialog (below).
;
; Configure-Adapter Setup Routine.   First, get current registry parameters.
;
configureadapter = +
    openregkey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) ProductKey
    ifstr $(ProductKey) == ""
	set ErrorMsg = "cannot find component product key"
	set RegErrorNo = CANNOT_FIND_COMPONENT_SERVICE
	goto registryerror
	endif
    debug-output "INF: Shelling to FindService"
    shell $(UShell) FindService, $(ProductKey)
    set ErrorMsg = "finding component service."
    set chkerrexit = chkreturn1
    goto checkerrors
chkreturn1 = +
    set ParameterKey = $($R2)
    closeregkey $($R1)
    ifstr $(ParameterKey) == ""
	set ErrorMsg = "cannot find component service"
	set RegErrorNo = CANNOT_FIND_COMPONENT_SERVICE
	goto registryerror
	endif
    set ValueName = ""                  ;Get old 100VG values from registry.
    set ValueData = ""
    set ValueList = {}
    enumregvalue $(ParameterKey) ValueList
    forlistdo $(ValueList)
	set ValueItem = $($)
	set ValueName = *($(ValueItem),1)
	set ValueData = *($(ValueItem),4)
	ifstr(i) $(ValueName) == "IOAddress"
	    set BIOValue = $(ValueData)
	    endif
	ifstr(i) $(ValueName) == "IRQLevel"
	    set IRQValue = $(ValueData)
	    endif
	ifstr(i) $(ValueName) == "NetworkAddress"
	    set NetAddrValue = $(ValueData)
	    endif
	ifstr(i) $(ValueName) == "Priority"
	    set PriorityValue = $(ValueData)
	    endif
	endforlistdo
    set BIOText = *($(BIOTxtList), ~($(BIOValList), $(BIOValue)))
    set IRQText = *($(IRQTxtList), ~($(IRQValList), $(IRQValue)))
    set Combo1List = {*($(BIOTxtList), ~($(BIOValList), $(BIOValue)))}
    forlistdo $(BIOValList)
	set NewVal = $($)
	ifint $(NewVal) != $(BIOValue)
	    set NewText    = *($(BIOTxtList), ~($(BIOValList), $(NewVal)))
	    set Combo1List = >($(Combo1List), $(NewText)) 
	    endif
	endforlistdo
    set Combo2List = {*($(IRQTxtList), ~($(IRQValList), $(IRQValue)))}
    forlistdo $(IRQValList)
	set NewVal = $($)
	ifint $(NewVal) != $(IRQValue)
	    set NewText    = *($(IRQTxtList), ~($(IRQValList), $(NewVal)))
	    set Combo2List = >($(Combo2List), $(NewText)) 
	    endif
	endforlistdo
    set StartLabel = updateparameters   ;Just update parameters after dialog.
    debug-output "Old I-O Base = "$(BIOText)","$(BIOValue)
    debug-output "Old IRQ Level = "$(IRQText)","$(IRQValue)
    debug-output "Old NetAddress = "$(NetAddrValue)
    debug-output "Old Priority = "$(PriorityValue)
;
; Display operator-dialog box & let our boy set or modify adapter parameters.
;
adapterdialog = +
    set EditTextIn = {$(NetAddrValue)}
    set CheckItemsIn = {OFF}
    ifstr(i) $(PriorityValue) != "0"
	set PriorityValue = "1"
	set CheckItemsIn = {ON}
	endif
    loadlibrary "" $(SrcDir)"\rvgndis.dll" hLib
    read-syms FileConfigDlg$(!STF_LANGUAGE)
    ui start "InputDlg" $(hLib)
    ifstr(i) $(DLGEVENT) != "CONTINUE"  ;Did he finish with the "continue" key?
	freelibrary $(hLib)             ;No??  Assume dialog was exlaxed!!
	ui pop 1
	return STATUS_USERCANCEL
	endif
    set BIOText = $(Combo1Out)          ;Set & display new 100VG parameters.
    set IRQText = $(Combo2Out)
    set BIOValue = *($(BIOValList), ~($(BIOTxtList), $(BIOText)))
    set IRQValue = *($(IRQValList), ~($(IRQTxtList), $(IRQText)))
    set NetAddrValue = *($(EditTextOut),1)
    set PriorityIndex = *($(CheckItemsOut),1)
    set PriorityValue = "0"
    ifstr(i) $(PriorityIndex) == "ON"
	set PriorityValue = "1"
	endif
    debug-output "New I-O Base = "$(BIOText)","$(BIOValue)
    debug-output "New IRQ Level = "$(IRQText)","$(IRQValue)
    debug-output "New NetAddress = "$(NetAddrValue)
    debug-output "New Priority = "$(PriorityValue)
    freelibrary $(hLib)                 ;Clear dialog box from the screen.
    ui pop 1
    startwait                           ;Display the "wait" icon.
    goto $(StartLabel)                  ;Go make requested additions/updates.
;
; Create required registry keys for a new software component.
;
addnewsoftware = +
    debug-output "Invoking AddSoftwareComponent"
    set OEM_ABANDON_SOFTWARE = TRUE
    shell $(UShell), AddSoftwareComponent, $(Mfgr), $(ProdSWName), +
	$(ProdSWName), $(ProdSWTitle), $(STF_CONTEXTINFNAME), +
	$(ProdSWImagePath), "kernel", "NDIS" , {}, "", $(NetEventDLL)
    set ErrorMsg = "adding software component."
    set chkerrexit = chkreturn2
    goto checkerrors
chkreturn2 = +
    set ProductKey  = $($R1)            ;Set our product & netrules keys.
    set NetRulesKey = $($R2)
    closeregkey $($R3)                  ;Close "new services" key.
    closeregkey $($R4)                  ;Close parameters key.
    closeregkey $($R5)                  ;Close "linkage" key.
    set NewList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SWType)},+
		   {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProdMajV)},+
		   {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProdMinV)},+
		   {Title,$(NoTitle),$(!REG_VT_SZ),$(ProdSWTitle)},+
		   {Description,$(NoTitle),$(!REG_VT_SZ),$(ProdSWDescr)},+
		   {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProdSWName)},+
		   {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
    shell $(UShell), AddValueList, $(ProductKey), $(NewList)
    set ErrorMsg = "adding product values."
    set chkerrexit = chkreturn3
    goto checkerrors
chkreturn3 = +
    set NewList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSWType)},+
		   {use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSWUse)}, +
		   {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSWBindForm)}, +
		   {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSWClass)}, +
		   {bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSWBindable)}, +
		   {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
    shell $(UShell), AddValueList, $(NetRulesKey), $(NewList)
    set ErrorMsg = "adding software netrules."
    set chkerrexit = chkreturn4
    goto checkerrors
chkreturn4 = +
    closeregkey $(ProductKey)
    set ProductKey = ""
    closeregkey $(NetRulesKey)
    set NetRulesKey = ""
;
; Create the hardware entries and corresponding service for a new adapter.
;
addnewadapter = +
    debug-output "Invoking AddHardwareComponent <"$(STF_CONTEXTINFNAME)">"
    shell $(UShell), AddHardwareComponent, $(ProdHWName),$(STF_CONTEXTINFNAME),$(ProdKeyName)
    set ErrorMsg = "adding hardware component."
    set chkerrexit = chkreturn5
    goto checkerrors
chkreturn5 = +
    ifint $($R4) != -1
	set OEM_ABANDON_OPTIONS = $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4)
	endif
    ;
    ; At this point:
    ;   $R1 = Registry key variable for HARDWARE\Netcard\(n)
    ;   $R2 = Registry key variable for HARDWARE\Netcard\(n)\\NetRules
    ;   $R3 = Registry key handle for <service>\Parameters key
    ;   $R4 = Adapter number assigned to adapter
    ;   $R5 = Service name generated by combining svc name with adapter number
    ;
    set ParameterKey = $($R3)
    set AdapterRulesKey = $($R2)
    set AdapterNumber = $($R4)
    set NewList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Mfgr)},+
		   {Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProdHWTitle)},+
		   {Description,$(NoTitle),$(!REG_VT_SZ),$(ProdHWDescr)},+
		   {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProdHWName)},+
		   {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
		   {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
    shell $(UShell), AddValueList, $($R1), $(NewList)
    set ErrorMsg = "adding hardware values."
    set chkerrexit = chkreturn6
    goto checkerrors
chkreturn6 = +
    closeregkey $($R1)
    set TempProdName = """"$(ProdHWName)$(AdapterNumber)""""
    set TempBindForm = $(TempProdName)$(NetRuleHWBindForm)
    set NewList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHWType)},+
		   {bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, +
		   {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHWClass)}, +
		   {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
    shell $(UShell), AddValueList, $(AdapterRulesKey), $(NewList)
    set ErrorMsg = "adding hardware netrules."
    set chkerrexit = chkreturn7
    goto checkerrors
chkreturn7 = +
    closeregkey $(AdapterRulesKey)
    set AdapterRulesKey = ""
;
; Update adapter parameters in the registry.
;
updateparameters = +
    set CPUBusNum = 0                   ;Default bus number to zero.
    set BusTypeNum = 2                  ;Set EISA bus-type.
    ifint $(BIOValue) > 1023            ;Is this an EISA adapter?
	goto updateregistrylist         ;Yes, go update registry.
	endif
    set BusTypeNum = 1                  ;Set ISA bus-type.
    ifint $(BIOValue) > 0               ;Is this an ISA adapter?
	goto updateregistrylist         ;Yes, go update registry.
	endif
    set BusTypeNum = 5                  ;Set PCI bus-type.
    Shell $(UShell), GetBusTypeDialog, $(ProdHWDescr) $(BusTypeNum) $(CPUBusNum)
    set ErrorMsg = "getting PCI bus number."
    set chkerrexit = chkreturn8
    goto checkerrors
chkreturn8 = +
    set CPUBusNum = $($R2)
updateregistrylist = +
    set NewList = {{BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusTypeNum)},+
		   {BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(CPUBusNum)},+
		   {MediaType,$(NoTitle),$(!REG_VT_DWORD),1},+
		   {IOAddress,$(NoTitle),$(!REG_VT_DWORD),$(BIOValue)},+
		   {IRQLevel,$(NoTitle),$(!REG_VT_DWORD),$(IRQValue)},+
		   {SharedMemory,$(NoTitle),$(!REG_VT_DWORD),0},+
		   {NetworkAddress,$(NoTitle),$(!REG_VT_SZ),$(NetAddrValue)},+
		   {Multicasts,$(NoTitle),$(!REG_VT_DWORD),16},+
		   {Priority,$(NoTitle),$(!REG_VT_SZ),$(PriorityValue)},+
		   {Speed,$(NoTitle),$(!REG_VT_SZ),"3"},+
		   {Mode,$(NoTitle),$(!REG_VT_SZ),"1"}}
    shell $(UShell), AddValueList, $(ParameterKey), $(NewList)
    set ErrorMsg = "updating adapter parameters."
    set chkerrexit = chkreturn9
    goto checkerrors
chkreturn9 = +
    closeregkey $(ParameterKey)         ;Close our parameter key.
    endwait                             ;Get rid of the "wait" icon.
    return $(Status)                    ;We're done -- exit.
;
; Upgrade Routine.
;
Upgrade = +
    ifstr(i) $(ProdKeyName) != $(!NTN_RegBase)  ;Is this a hardware upgrade?
	goto UpgradeHardware                    ;Yes, use logic below.
	endif
    ;
    ; Upgrade all of our software files (i.e., read in the new files).
    ;
    openregkey $(!REG_H_LOCAL) "" $(ProdKeyName) $(MAXIMUM_ALLOWED) ProductKey
    ifstr $(ProductKey) == ""           ;If our software doesn't exist, error!
	set Error = "Cannot open 100VG software product key for upgrade."
	goto fatalmsg
	endif
    getregvalue $(ProductKey),"MajorVersion", VersionInfo
    set Version = *($(VersionInfo), 4)
    shell $(UShell), GetInfFileNameFromRegistry, $(ProductKey)
    set ErrorMsg = "getting registry file name."
    ifint $($ShellCode) != $(!SHELL_CODE_OK)
	goto shellerror
	endif
    set !UG_Filename = $($R0)
    ifstr(i) $(!UG_Filename) != ""
	set STF_OVERWRITE = "VERIFYSOURCEOLDER"
	install "Copy-Files"
	ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
	    set Error = "100VG Upgrade:  file copy failed."
	    goto fatalmsg
	    endif
	endif
    ;
    ; Upgrade the software version number.
    ;
    setregvalue $(ProductKey) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProdMajV)}
    setregvalue $(ProductKey) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProdMinV)}
    closeregkey $(ProductKey)           ;Close our product key.
    endwait                             ;Get rid of the "wait" icon.
    return $(Status)                    ;We're done -- exit.
;
; Upgrade/update a hardware component (no difference).   First, get the
;   desired service name, then make any desired rules changes.
;
UpgradeHardware = +
    openregkey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) AdapterRulesKey
    ifstr(i) $(AdapterRulesKey) == ""
	set Error = "Cannot open 100VG adapter rules key for upgrade."
	goto fatalmsg
	endif
    getregvalue $(AdapterRulesKey),"ServiceName", ServiceNameInfo
    set ServiceName = *($(ServiceNameInfo), 4)
    openregkey $(AdapterRulesKey) "" "NetRules" $(MAXIMUM_ALLOWED) NetRulesKey
    ifstr(i) $(NetRulesKey) == ""
	set Error = "Cannot open 100VG net rules key for upgrade."
	goto fatalmsg
	endif
    ;
    ; Make any desired rules changes here (none at present).
    ;
    closeregkey $(NetRulesKey)
    set NetRulesKey = ""
    closeregkey $(AdapterRulesKey)
    set AdapterRulesKey = ""
;
; Change the hardware service section (ParameterName & value changes, etc.).
;
    openregkey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"$(ServiceName) +
	       $(MAXIMUM_ALLOWED) AdapterRulesKey
    ifstr(i) $(AdapterRulesKey) == ""
	set Error = "Cannot open 100VG hardware-service key for upgrade."
	goto fatalmsg
	endif
    ;
    ; Get the ServiceKey to change the Start or Type values, or open
    ;   Parameters key to change the hardware parameters if desired.
    ;   (No changes made at present).
    ;
    closeregkey $(AdapterRulesKey)      ;Close hardware-service key.
    endwait                             ;Get rid of the "wait" icon.
    return $(Status)                    ;We're done -- exit.
;
; Remove-Adapter Routine.
;
removeadapter = +
    ifstr(i) $(ProdKeyName) == $(!NTN_RegBase)
	shell $(UShell), RemoveSoftwareComponent, $(Mfgr), +
	    $(ProdSWName)
	set ErrorMsg = "removing software component."
	set chkerrexit = chkreturn10
	goto checkerrors
	endif
    shell $(UShell), RemoveHardwareComponent, $(Mfgr), +
	$(ProdSWName), $(!NTN_RegBase)
    set ErrorMsg = "removing hardware component."
    set chkerrexit = chkreturn10
    goto checkerrors
chkreturn10 = +
    endwait                             ;Get rid of the "wait" icon.
    return $(Status)                    ;We're done -- exit.

;
; Subroutine to check for errors following a "Shell $(UShell)" call.
;
checkerrors = +
    ifint $($ShellCode) != $(!SHELL_CODE_OK)  ;Did utility shell run O.K.?
	goto ShellError                       ;No??  Goodbye!!
	endif
    set RegErrorNo = $($R0)                   ;Get returned error code.
    ifstr(i) $(RegErrorNo) == NO_ERROR        ;Did utility shell find an error?
	goto $(chkerrexit)                    ;No, exit back to caller.
	endif                                 ;Otherwise --
;
; Error-Handling Routines.
;
registryerror = +
    Debug-Output "*** Error:  "$(ErrorMsg)
    shell $(UShell) RegistryErrorString $(RegErrorNo)
    set ErrorMsg = "getting registry-error message."
    ifint $($ShellCode) != $(!SHELL_CODE_OK)
	goto shellerror
	endif
    set Error = $($R0)
fatalmsg = +
    shell $(SShell) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
    set ErrorMsg = "displaying fatal-error message."
    ifint $($ShellCode) == $(!SHELL_CODE_OK)
	goto errorexit
	endif
shellerror = +
    Debug-Output "*** Shell error:  "$(ErrorMsg)
    set DlgType      = "MessageBox"
    set STF_MB_TITLE = $(ShellErrorTitle)
    set STF_MB_TEXT  = $(ShellErrorText)
    set STF_MB_TYPE  = 1
    set STF_MB_ICON  = 3
    set STF_MB_DEF   = 1
    ui start "Error Message"
errorexit = +
    endwait                             ;Get rid of the "wait" icon.
    ifstr(i) $(OEM_ABANDON_ON) == FALSE ;Have we already come through here?
	return STATUS_FAILED            ;Yes, exit fast!!
	endif
    set OEM_ABANDON_ON = FALSE          ;Prevent infinite-loop if shell errors.
    ifstr $(ProductKey) != ""           ;Close any registry keys left open.
	closeregkey $(ProductKey)
	endif
    ifstr $(ParameterKey) != ""
	closeregkey $(ParameterKey)
	endif
    ifstr $(AdapterRulesKey) != ""
	closeregkey $(AdapterRulesKey)
	endif
    ifstr $(NetRulesKey) != ""
	closeregkey $(NetRulesKey)
	endif
    ifstr $(OEM_ABANDON_OPTIONS) != ""
	set ErrorMsg = "abandoning hardware component."
	shell $(UShell), RemoveHardwareComponent, $(Mfgr), +
	    $(ProdSWName), $(OEM_ABANDON_OPTIONS)
	set chkerrexit = chkreturn11
	goto checkerrors
	endif
chkreturn11 = +
    ifstr(i) $(OEM_ABANDON_SOFTWARE) == TRUE
	shell $(UShell), RemoveSoftwareComponent, $(Mfgr), +
	    $(ProdSWName), FALSE
	set ErrorMsg = "abandoning software component."
	set chkerrexit = chkreturn12
	goto checkerrors
	endif
chkreturn12 = +
    return STATUS_FAILED                ;"Hasta la vista ... baybee!"

;
; Subroutine to copy in the "rvgndis" files, normally from a user diskette.
; Note that the following "copy" commands may NOT be used in main-line code!
;
[Copy-Files]
   debug-output "Copying new RVGNDIS files --"
   set STF_VITAL = ""
   AddSectionKeyFileToCopyList Files-Rvgndis 1 $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
   AddSectionKeyFileToCopyList Files-Dll 1 $(SrcDir) $(!STF_WINDOWSSYSPATH)
   set !STF_NCPA_FLUSH_COPYLIST = TRUE
   CopyFilesInCopyList

;
; Subroutine to get the current system date.
;
[date]
    Now = {} ? $(!LIBHANDLE) GetSystemDate

[BIOTable]
BIO_1 = "--- PCI card ---",0
BIO_2 = "300  (ISA only)",768
BIO_3 = "340  (ISA only)",832
BIO_4 = "380  (ISA only)",896
BIO_5 = "2C0  (ISA only)",704
BIO_6 = "280  (ISA only)",640
BIO_7 = "240  (ISA only)",576
BIO_8 = "200  (ISA only)",512
BIO_9 = "1C0  (ISA only)",448
BIO_10 = "180  (ISA only)",384
BIO_11 = "140  (ISA only)",320
BIO_12 = "100  (ISA only)",256
BIO_13 = "EISA Slot 1",7224
BIO_14 = "EISA Slot 2",11320
BIO_15 = "EISA Slot 3",15416
BIO_16 = "EISA Slot 4",19512
BIO_17 = "EISA Slot 5",23608
BIO_18 = "EISA Slot 6",27704
BIO_19 = "EISA Slot 7",31800
BIO_20 = "EISA Slot 8",35896
BIO_21 = "EISA Slot 9",39992
BIO_22 = "EISA Slot 10",44088
BIO_23 = "EISA Slot 11",48184
BIO_24 = "EISA Slot 12",52280
BIO_25 = "EISA Slot 13",56376
BIO_26 = "EISA Slot 14",60472
BIO_27 = "EISA Slot 15",64568

[IRQTable]
IRQ_1 = "EEprom/PCI value",1
IRQ_2 = "9",9
IRQ_3 = "10",10
IRQ_4 = "11",11
IRQ_5 = "12 (PS/2 Mouse!)",12
IRQ_6 = "15 (IDE Port 2!)",15
IRQ_7 = "3 (SerialPort 2!)",3
IRQ_8 = "4 (SerialPort 1!)",4
IRQ_9 = "5 (8-Bit Port 2!)",5
IRQ_10 = "6 (Diskette!)",6
IRQ_11 = "7 (8-Bit Port 1!)",7
Download Driver Pack

How To Update Drivers Manually

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.

server: web5, load: 1.41