;============================================================================= ; ;ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ ;ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ ;ƒƒƒƒƒƒƒ ƒƒƒ ƒƒƒ ƒƒƒƒƒ ƒ ƒƒƒƒ ƒƒƒƒƒƒƒƒ ƒƒ ;ƒƒƒƒƒ ƒƒ ƒ ƒƒ ƒ ƒƒ ƒƒƒƒƒ ƒ ;ƒƒƒƒ ƒƒƒƒƒƒƒ ƒƒƒ ƒ ƒ ƒƒ ƒ ƒƒƒƒ ƒƒƒ ƒƒ ;ƒƒƒ ƒƒƒƒƒƒƒ ƒƒƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒƒƒ ƒƒƒ ƒƒƒ ;ƒƒ ƒƒƒƒƒƒƒ ƒƒƒ ƒ ƒƒ ƒƒ ƒ ƒƒ ƒƒ ƒƒƒ ƒƒƒƒ ;ƒ ƒ ƒ ƒƒƒƒƒƒƒ ƒ ƒƒƒƒƒƒƒ ƒƒƒ ƒ ƒƒƒƒƒ ;ƒ ƒƒ ƒƒ ƒƒƒƒƒƒƒ ƒ ƒƒƒƒƒƒƒ ƒƒƒƒ ƒƒ ƒ ƒƒƒ ;ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ ;ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ ;ƒƒƒƒƒ ƒƒƒƒ ƒƒƒƒƒƒƒƒƒ ƒƒƒƒƒƒƒƒƒ ƒƒ ƒƒ ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ ƒƒƒƒƒƒƒƒ ;ƒƒƒƒƒ ƒƒƒ ƒƒ ƒƒƒ ƒƒƒ ƒƒ ƒƒ ƒƒƒƒƒƒƒ ƒƒƒ ƒƒ ƒ ƒƒƒ ƒƒƒƒƒƒƒƒ ;ƒƒƒƒƒ ƒƒ ƒ ƒƒ ƒ ƒ ƒƒ ƒ ƒƒ ƒƒ ƒƒ ƒƒ ƒ ƒƒ ƒ ƒ ƒ ƒƒƒƒƒƒƒ ;ƒƒƒƒƒ ƒ ƒ ƒ ƒƒ ƒƒ ƒ ƒƒ ƒƒ ƒƒ ƒƒ ƒ ƒ ƒƒƒ ƒƒ ƒƒƒƒƒƒƒƒ ;ƒƒƒƒƒ ƒƒ ƒ ƒƒƒƒƒƒ ƒƒ ƒƒƒƒƒ ƒƒ ƒƒ ƒƒ ƒƒ ƒ ƒƒƒƒƒ ƒƒƒ ƒƒ ƒƒƒƒƒƒƒƒ ;ƒƒƒƒƒ ƒƒƒ ƒ ƒƒ ƒƒ ƒƒ ƒƒ ƒ ƒƒ ƒƒ ƒƒ ƒƒ ƒ ƒƒ ƒ ƒƒƒ ƒƒ ƒƒƒƒƒƒƒƒ ;ƒƒƒƒƒ ƒƒƒƒ ƒƒ ƒƒƒƒ ƒƒ ƒƒƒ ƒƒ ƒƒ ƒƒ ƒƒ ƒƒ ƒƒƒ ƒƒƒ ƒƒƒƒƒƒƒ ;ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ ;ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ ƒƒ ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ ;ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ ;ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ ; ; Windows NT Install script ; Compaq Netelligent and NetFlex-3 Network Interface Cards. ; ; Original Copyright 1996, 1997 Compaq Computer Corporation ; ; Copyright 1993-1997, Microsoft Corporation ; ;============================================================================= [Identification] OptionType = NetAdapter [PlatformsSupported] PCI EISA [Options] CpqNF3 ; ; File names, etc. ; [FileConstants] UtilityInf = "UTILITY.INF" subroutineinf = "SUBROUTN.INF" SoftwareType = "driver" MS_InfName = "oemnadvt.inf" Exit_Code = 0 NETFLEX3_E_1BYTE = 15798542 NETFLEX3_E_4BYTE = 552669454 NETFLEX3_2_E_4BYTE = 1089540366 ; ; EventLog Message Files ; NetEventDLL = "%SystemRoot%\System32\Netevent.dll;%SystemRoot%\System32\Drivers\NetFlx3.Sys" IoLogMsgDLL = "%SystemRoot%\System32\IoLogMsg.dll" ; ; Product Info ; Manufacturer = "Compaq" ProductMajorVersion = "3" ProductMinorVersion = "5" ProductVersion = $(ProductMajorVersion)"."$(ProductMinorVersion) ; ; Software ; ProductSoftwareName = "CpqNF3" ProductSoftwareImagePath = "\SystemRoot\System32\Drivers\NetFlx3.sys" NetRuleSoftwareType = "CpqNF3Sys ndisDriver CpqNF3Driver" NetRuleSoftwareUse = $(SoftwareType) NetRuleSoftwareBindForm = """CpqNF3Sys"" yes no container" NetRuleSoftwareClass = {"CpqNF3Driver basic"} NetRuleSoftwareBindable = {"CpqNF3Driver CpqNF3Adapter non exclusive 100"} ; ; Hardware ; ProductHardwareName = "CpqNF3" NetRuleHardwareType = "CpqNF3 CpqNF3Adapter" NetRuleHardwareBindForm = " yes yes container" NetRuleHardwareClass = {"CpqNF3Adapter basic"} ; ; Registry Key ; ProductKeyName = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion" ProductKeyNetRulesName = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion\NetRules" ParamKeyName = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters" NetCardKeyName = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\Windows NT\CurrentVersion\NetworkCards" [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 ;AdapterList = {{}} AddAdapterCount = 0 CPL_FileName = $(!STF_WINDOWSSYSPATH)\NETFLX3.CPL [date] Now = {} ? $(!LIBHANDLE) GetSystemDate [adapter] AdapterList = {} ? $(!NETFLEX3_HANDLE) NetFlex3FindAdapter ;--------------------------------------------------------------------------- ; 1. Identify ; ; DESCRIPTION: To verify that this INF deals with the same type of options ; as we are choosing currently. ; ; INPUT: None ; ; OUTPUT: $($R0): STATUS: STATUS_SUCCESSFUL ; $($R1): Option Type (COMPUTER ...) ; $($R2): Diskette description ;--------------------------------------------------------------------------- [Identify] Debug-Output "In [Identify]" read-syms Identification set Status = STATUS_SUCCESSFUL set Identifier = $(OptionType) set Media = #("Source Media Descriptions", 1, 1) Return $(Status) $(Identifier) $(Media) ;------------------------------------------------------------------------ ; 2. ReturnOptions: ; ; DESCRIPTION: To return the option list supported by this INF and the ; localised text list representing the options. ; ; ; INPUT: $($0): Language used. ( ENG | FRN | ... ) ; ; OUTPUT: $($R0): STATUS: STATUS_SUCCESSFUL | ; STATUS_NOLANGUAGE ; STATUS_FAILED ; STATUS_NOTSUPPORTED ; ; $($R1): Option List ; $($R2): Option Text List ;------------------------------------------------------------------------ [ReturnOptions] set Status = STATUS_FAILED set OptionList = {} set OptionTextList = {} set LanguageList = ^(LanguagesSupported, 1) Debug-Output "Running Return Options" 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) set OptionTextList = ^(OptionsText$($0), 1) set Status = STATUS_SUCCESSFUL finish_ReturnOptions = + Debug-Output "Status: "$(Status) Debug-Output "OptionList: "$(OptionList) Debug-Output "OptionTextList: "$(OptionTextList) Return $(Status) $(OptionList) $(OptionTextList) ;------------------------------------------------------------------------ ; ; 3. InstallOption: ; ; This section is shelled to by main installation processing ; or by NCPASHEL.INF during reconfig, removal, update, etc. ; ; ; FUNCTION: To copy files representing Options ; To configure the installed option ; To update the registry for the installed option ; ; 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: STATUS_SUCCESSFUL | ; STATUS_NOLANGUAGE | ; STATUS_USERCANCEL | ; STATUS_FAILED ; ;------------------------------------------------------------------------ [InstallOption] set Option = $($1) set SrcDir = $($2) set AddCopy = $($3) set DoCopy = $($4) set DoConfig = $($5) set LanguageList = ^(LanguagesSupported, 1) Ifcontains(i) $($0) NOT-IN $(LanguageList) Return STATUS_NOLANGUAGE endif set !DebugOutputControl = 1 Debug-Output "Starting Install option..." read-syms GeneralConstants read-syms FileConstants read-syms DialogConstants$(!STF_LANGUAGE) ; ******************************************************************* ; 19 April 1996, PJM ; Removed Helpdir reference as we are no longer respnsible for ; copying generic help files. ; ---------------- ; Split-String $(SrcDir), "\", DiskLocInfo ; QueryListSize Size $(DiskLocInfo) ; ifint $(Size) >= 5 ; ifstr(i) *($(DiskLocInfo), $(Size)) == "\" ; set HelpDir = $(SrcDir)"..\..\" ; else ; set HelpDir = $(SrcDir)"\..\..\" ; endif ; else ; set HelpDir = $(SrcDir) ; endif ; ******************************************************************* Debug-Output "SrcDir = "$(SrcDir) Debug-Output "DoCopy = "$(DoCopy) Debug-Output "Add Copy = "$(AddCopy) Debug-Output "DoConfig = "$(DoConfig) Debug-Output "NTN_InstallMode = "$(!NTN_InstallMode) Debug-Output "NTN_InstallPhase = "$(!NTN_InstallPhase) Debug-Output "NTN_Origination = "$(!NTN_Origination) Debug-Output "STF_INSTALL_MODE = "$(!STF_INSTALL_MODE) Debug-Output "STF_GUI_UNATTENDED = "$(!STF_GUI_UNATTENDED) Debug-Output "STF_UNATTENDED = "$(!STF_UNATTENDED) Debug-Output "About to detect NT version" read-syms NtVer detect NtVer Debug-Output "Back from NT version detect" Debug-Output "Ver ="$(NtVersion) Split-String $(NtVersion) "{}," TempList ; ; MainVer number will wither be 3 or 4 ; set MainVerNumber = *($(TempList),2) Debug-Output "MainVerNumber = "$(MainVerNumber) ; debug-output "HelpDir = "$(HelpDir) Debug-Output "STF_CONTEXTINFNAME is: "$(STF_CONTEXTINFNAME) Debug-Output $(STF_CONTEXTINFNAME)": STF_CWDIR is: "$(!STF_CWDIR) Debug-Output $(STF_CONTEXTINFNAME)": STF_LANGUAGE is: "$(!STF_LANGUAGE) Debug-Output $(STF_CONTEXTINFNAME)": Option = "$(Option) set-subst LF = "\n" 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 = + ; Lets see if we can get the INF name from registry. Otherwise we ; will use the STF_CONTEXTINFNAME value.... ; SOFTWARE\Compaq\CpqNf3\CurrentVersion\NetRules Key, InfName Value OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) + $(MAXIMUM_ALLOWED) + KeyProduct Ifstr $(KeyProduct) != $(KeyNull) Shell $(UtilityInf), GetInfFileNameFromRegistry, $(KeyProduct) CloseRegKey $(KeyProduct) ifint $($ShellCode) != $(!SHELL_CODE_OK) set ShellErrorSection = UtilityInf:GetFileNameFromRegistry Debug-Output "ShellErrorSection = "$(ShellErrorSection) goto ShellCodeError endif Debug-Output "Inf Name from registry is:"$($R0) set UG_InfName = $($R0) set UG_FileName = $(!STF_WINDOWSSYSPATH)\$(UG_InfName) else Debug-Output "Inf Name does not exist in the registry" ; use the STF_CONTEXTINFNAME set UG_FileName = $(STF_CONTEXTINFNAME) set UG_InfName = $(UG_FileName) ; chop off the path part and save the name of the file in UG_InfName Split-String $(UG_InfName) "\" TempList ForListDo $(TempList) set UG_InfName = $($) EndForListDo endif ; the name of the inf file with no path Debug-Output "UG_InfName = "$(UG_InfName) ; the complete path and name of the inf file Debug-Output "UG_FileName = "$(UG_FileName) Debug-Output "Install mode:"$(!NTN_InstallMode) 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 Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase) Debug-Output "Cannot configure the Compaq NetFlex-3 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 nonfatal endif set CommonStatus = STATUS_REBOOT set StartLabel = ConfigureAdapter else set StartLabel = InstallAdapter set OEM_ABANDON_OPTIONS = {} set OEM_ABANDON_SOFTWARE = FALSE set OEM_ABANDON_ON = TRUE endif set from = $(fatal) set to = $(fatal) goto $(StartLabel) ;----------------------------------------------- ; Binding section ;----------------------------------------------- bindingadapter =+ set Error = "Binding: Sorry, not yet implemented." goto fatal ;----------------------------------------------- ; Removeadapter section ;----------------------------------------------- removeadapter = + Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase) Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), + $(ProductSoftwareName) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "ShellCode error - RemoveSoftwareComponent" 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 - RemoveHardwareComponent" goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR goto fatalregistry endif OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct Ifint $(RegLastError) != $(!REG_ERROR_SUCCESS) Debug-Output "The software component has been removed" AddFileToDeleteList $(UG_FileName) AddFileToDeleteList $(CPL_FileName) else CloseRegKey $(KeyProduct) endif endif goto end ;----------------------------------------------- ; Installation Section ;----------------------------------------------- InstallAdapter = + Debug-Output $(STF_CONTEXTINFNAME)": Install Adapter" OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct Ifstr $(KeyProduct) != $(KeyNull) CloseRegKey $(KeyProduct) ifstr(i) !(NTN_RegBase) == $(ProductKeyName) Shell $(UtilityInf), VerExistedDlg, $(ProductSoftwareTitle),+ $(ProductVersion) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif goto end else ; set OldVersionExisted = $(TRUE) set OldVersionExisted = $(FALSE) endif endif Debug-Output "Old Version Existed: "$(OldVersionExisted) ifint $(OldVersionExisted) == $(FALSE) install "Install-Option" ; install "AddIcon" endif ; ; If the file copy worked, first test what ver of nt is being used, then test custom/express, then test primary/secondary ; Debug-Output "About to test the install mode" ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_SUCCESS" ifstr(i) $(MainVerNumber) == "3" ;NT 3.51 Install ifstr(i) $(!STF_GUI_UNATTENDED) == "YES" ;Unattended install, only install NICS one at a time Debug-Output "V4 Unattended Install Mode, launching NETFLX3.EXE /I /O /S3 /N$(UG_FileName)" RunProgram ExitCode "Compaq NT Support Software Diskette" "" netflx3.exe /I /O /S3 /N$(UG_FileName) ifstr(i) $(ExitCode) != "0" ;Netflex App returned a change, New adapter installed ;Need to find last CPQNF3 device installed and overwrite Default values with Adapter ;parameters specified in unattended install script Set Indx = 0 Set TestParamKeyName = $(!NTN_ServiceBase)"\"$(ProductHardwareName)$(Indx)"\Parameters" FindLastNF3LoopHead =+ ;Iterate to find last CPQNF3 device Set-add Indx = $(Indx),1 Set TestParamKeyNameLast = $(TestParamKeyName) Set TestParamKeyName = $(!NTN_ServiceBase)"\"$(ProductHardwareName)$(Indx)"\Parameters" OpenRegKey $(!REG_H_LOCAL) "" $(TestParamKeyName) $(MAXIMUM_ALLOWED) KeyParameters Ifstr $(KeyParameters) != $(KeyNull) ;Found device, keep checking to see if it is the last CloseRegKey $(KeyParameters) goto FindLastNF3LoopHead else ;Device not found, last one found is the last device OpenRegKey $(!REG_H_LOCAL) "" $(TestParamKeyNameLast) $(MAXIMUM_ALLOWED) KeyParameters endif ;Get parameters from install script and add them to the registry Shell $(UtilityInf),AddDefaultNetCardParameters,$(KeyParameters) CloseRegKey $(KeyParameters) endif else ifstr(i) $(!STF_INSTALL_MODE) == "CUSTOM" ifstr(i) $(!NTN_InstallPhase) == "primary" Debug-Output "V3 Custom Primary Install Mode, launching NETFLX3.EXE /I /S3 /N$(UG_FileName)" RunProgram ExitCode "Compaq NT Support Software Diskette" "" netflx3.exe /I /S3 /N$(UG_FileName) else Debug-Output "V3 Custom Secondary Install Mode, launching NETFLX3.EXE /I /N$(UG_FileName)" RunProgram ExitCode "Compaq NT Support Software Diskette" "" netflx3.exe /I /N$(UG_FileName) endif else ifstr(i) $(!NTN_InstallPhase) == "primary" Debug-Output "V3 Express Primary Install Mode, launching NETFLX3.EXE /I /E /S3 /N$(UG_FileName)" RunProgram ExitCode "Compaq NT Support Software Diskette" "" netflx3.exe /I /E /S3 /N$(UG_FileName) else Debug-Output "V3 Express Secondary Install Mode *****!!! This case should never happen !!!*****" ; can't do EXPRESS in secondary phase endif endif endif else ;NT 4.00 Install ifstr(i) $(!STF_GUI_UNATTENDED) == "YES" ;Unattended install, only install NICS one at a time Debug-Output "V4 Unattended Install Mode, launching NETFLX3.EXE /I /O /S4 /N$(UG_FileName)" RunProgram ExitCode "Compaq NT Support Software Diskette" "" netflx3.exe /I /O /S4 /N$(UG_FileName) ifstr(i) $(ExitCode) != "0" ;Netflex App returned a change, New adapter installed ;Need to find last CPQNF3 device installed and overwrite Default values with Adapter ;parameters specified in unattended install script Set Indx = 0 Set TestParamKeyName = $(!NTN_ServiceBase)"\"$(ProductHardwareName)$(Indx)"\Parameters" FindLastNF3LoopHead =+ ;Iterate to find last CPQNF3 device Set-add Indx = $(Indx),1 Set TestParamKeyNameLast = $(TestParamKeyName) Set TestParamKeyName = $(!NTN_ServiceBase)"\"$(ProductHardwareName)$(Indx)"\Parameters" OpenRegKey $(!REG_H_LOCAL) "" $(TestParamKeyName) $(MAXIMUM_ALLOWED) KeyParameters Ifstr $(KeyParameters) != $(KeyNull) ;Found device, keep checking to see if it is the last CloseRegKey $(KeyParameters) goto FindLastNF3LoopHead else ;Device not found, last one found is the last device OpenRegKey $(!REG_H_LOCAL) "" $(TestParamKeyNameLast) $(MAXIMUM_ALLOWED) KeyParameters endif ;Get parameters from install script and add them to the registry Shell $(UtilityInf),AddDefaultNetCardParameters,$(KeyParameters) CloseRegKey $(KeyParameters) endif else ifstr(i) $(!STF_INSTALL_MODE) == "CUSTOM" ifstr(i) $(!NTN_InstallPhase) == "primary" Debug-Output "V4 Custom Primary Install Mode, launching NETFLX3.EXE /I /E /S4 /N$(UG_FileName)" RunProgram ExitCode "Compaq NT Support Software Diskette" "" netflx3.exe /I /E /S4 /N$(UG_FileName) else Debug-Output "V4 Custom Secondary Install Mode, launching NETFLX3.EXE /I /N$(UG_FileName)" RunProgram ExitCode "Compaq NT Support Software Diskette" "" netflx3.exe /I /N$(UG_FileName) endif else ifstr(i) $(!NTN_InstallPhase) == "primary" Debug-Output "V4 Express Primary Install Mode, launching NETFLX3.EXE /I /E /S4 /N$(UG_FileName)" RunProgram ExitCode "Compaq NT Support Software Diskette" "" netflx3.exe /I /E /S4 /N$(UG_FileName) else Debug-Output "V4 Express Secondary Install Mode *****!!! This case should never happen !!!*****" ; can't do EXPRESS in secondary phase endif endif endif endif ifstr(i) $(ExitCode) != "0" debug-output "need to reboot" set CommonStatus = STATUS_SUCCESSFUL else debug-output "reboot NOT needed" set CommonStatus = STATUS_NO_EFFECT endif endif goto successful ;----------------------------------------------- ; Configuration Section ;----------------------------------------------- ConfigureAdapter = + Debug-Output $(STF_CONTEXTINFNAME)": Configure Adapter" Debug-Output "Configure mode, Spawning NETFLX3.EXE /C" RunProgram ExitCode "Compaq NT Support Software Diskette" "" netflx3.exe /C ifstr(i) $(ExitCode) != "0" debug-output "need to reboot" set CommonStatus = STATUS_REBOOT else debug-output "reboot NOT needed" set CommonStatus = STATUS_NO_EFFECT endif goto successful ;----------------------------------------------- ; Upgrade Software section ;----------------------------------------------- UpgradeSoftware = + ; ; First determine whether we want to do upgrade or update for software ; or hardware component. Then we will determine whether the Mode is ; update or upgrade. ; ; If the same version of the product existed in the registry, we do ; update. Otherwise, we will do a upgrade ; Debug-Output $(STF_CONTEXTINFNAME)": UpgradeSoftware" Debug-Output $(STF_CONTEXTINFNAME)": ProductKeyName ="$(ProductKeyName) Debug-Output $(STF_CONTEXTINFNAME)": !NTN_RegBase ="$(!NTN_RegBase) ; ; Upgrade software component ; OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct Ifstr $(KeyProduct) != $(KeyNull) Shell $(UtilityInf), GetInfFileNameFromRegistry, $(KeyProduct) ifint $($ShellCode) != $(!SHELL_CODE_OK) set ShellErrorSection = UtilityInf:GetFileNameFromRegistry goto ShellCodeError endif Debug-Output "Inf Name from registry is:"$($R0) set UG_InfName = $($R0) Debug-Output "UG_InfName = "$(UG_InfName) ; ******************************************************************* ; 19 April 1996, PJM ; Removed Helpdir reference as we are no longer respnsible for ; copying generic help files. ; ----------- ; ifstr(i) $(UG_InfName) != "" ; ; ; ; set the HelpDir based on location of the NetFlx3 Directory. ; ; ; Split-String $(SrcDir), "\", DiskLocInfo ; QueryListSize Size $(DiskLocInfo) ; ifint $(Size) >= 5 ; ifstr(i) *($(DiskLocInfo), $(Size)) == "\" ; set HelpDir = $(SrcDir)"..\..\" ; else ; set HelpDir = $(SrcDir)"\..\..\" ; endif ; else ; set HelpDir = $(SrcDir) ; endif ; debug-output "HelpDir = "$(HelpDir) ; ******************************************************************* install "Install-Update" ; install "AddIcon" ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS goto Fatal endif set CommonStatus = STATUS_REBOOT ; Upgrade the version number ; SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)} SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)} ; ; do nothing for update ; CloseRegKey $(KeyProduct) else goto fatalregistry endif endif goto end ;----------------------------------------------- ; Success completion ;----------------------------------------------- successful = + ; ; If the STF_CONTEXTINFNAME is not equal to the UG_InfName variable that was pulled out of the registry then ; delete the STF_CONTEXINFTNAME because it is just a second copy of UG_InfName that we don't need afterwards. ; It is not possible to stop NCPA from copying the oemsetup.inf to STF_CONTEXINFTNAME when we hit the install section ; so we just erase it. (unless there was no inf name in the registry, then we keep the file) ifstr(i) $(STF_CONTEXTINFNAME) != $(UG_FileName) AddFileToDeleteList $(STF_CONTEXTINFNAME) endif goto end ;----------------------------------------------- ; Section called when we are abandoning ;----------------------------------------------- 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 ;----------------------------------------------- ; Section used when we need to issue a warning ;----------------------------------------------- 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 nonfatal = + 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), "NONFATAL", $(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 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 = + Debug-Output $(STF_CONTEXTINFNAME)": Shell error, $(ShellErrorSection)" 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-Option] Debug-Output "In [Install-Option]" set STF_VITAL = "" set STF_OVERWRITE = "VERIFYSOURCEOLDER" ifstr(i) $(AddCopy) == "YES" AddSectionFilesToCopyList Files-Driver $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers AddSectionFilesToCopyList Files-DLL $(SrcDir) $(!STF_WINDOWSSYSPATH) AddSectionFilesToCopyList Files-INF $(SrcDir) $(!STF_WINDOWSSYSPATH) AddSectionFilesToCopyList Files-APP $(SrcDir) $(!STF_WINDOWSSYSPATH) endif ifstr(i) $(DoCopy) == "YES" set !STF_NCPA_FLUSH_COPYLIST = TRUE CopyFilesInCopyList ; during an NT install the files must be copied right away else-ifstr(i) $(!NTN_InstallMode) == "install" ifstr(i) $(!STF_GUI_UNATTENDED) == "NO" set !STF_NCPA_FLUSH_COPYLIST = TRUE CopyFilesInCopyList endif endif Exit [Install-Update] Debug-Output "In [Install-Update]" set STF_VITAL = "" set STF_OVERWRITE = "VERIFYSOURCEOLDER" AddSectionFilesToCopyList Files-Driver $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers AddSectionFilesToCopyList Files-DLL $(SrcDir) $(!STF_WINDOWSSYSPATH) AddSectionFilesToCopyList Files-INF $(SrcDir) $(!STF_WINDOWSSYSPATH) AddSectionFilesToCopyList Files-APP $(SrcDir) $(!STF_WINDOWSSYSPATH) set !STF_NCPA_FLUSH_COPYLIST = TRUE CopyFilesInCopyList Exit [AddIcon] set ProgGroup = "Administrative Tools" set AppName = "NetFlex-3 Setup Utility" set CmdLine = $(!STF_WINDOWSSYSPATH)"\netflx3.exe" ; ; Remove the existing item -- assuming it's in the Administrative Tools ; group ; RemoveProgmanItem $(ProgGroup) + $(AppName) ; ; Re-add the item. ; CreateProgmanItem $(ProgGroup) + $(AppName) + $(CmdLine) + $(CmdLine) + 0 exit [NtVer] NtVersion = "" ? $(!LIBHANDLE) GetWindowsNtVersion [Source Media Descriptions] 1 = "Windows NT Setup Disk #1" , TAGFILE = disk1 2 = "Windows NT Workstation CD-ROM" , TAGFILE = cdrom.w 3 = "Compaq Netelligent Driver Disk", TAGFILE = CPQDISK.NET [Signature] FileType = MICROSOFT_FILE [GetSignature] read-syms Signature return $(FileType) [ProductType] STF_PRODUCT = Winnt STF_PLATFORM = I386 [Files-Inf] 3, oemsetup.inf, SIZE=1000, RENAME=$(UG_InfName) [Files-DLL] 3, NetFlx3.DLL, SIZE=999 [Files-Driver] 3, NetFlx3.SYS, SIZE=999 [Files-APP] 3, NETFLX3.EXE, SIZE=999 3, NETFLX3.HLP, SIZE=999 3, NETFLX3.CPL, SIZE=999 [LanguagesSupported] ENG [OptionsTextENG] NetFlex3 = "Compaq Netelligent/NetFlex-3 Controller" [FileConstantsENG] ProCaption = "Windows NT Setup" ProCancel = "Cance&l" 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 = "Compaq NetFlex-3 Controller Setup" ProductSoftwareDescription = "Compaq NetFlex-3 NDIS 3.0 Miniport Driver" ProductHardwareNetFlex3PDescription = "Compaq NetFlex-3/P Controller" ProductHardwareNetFlex3EDescription = "Compaq NetFlex-3/E Controller" CANNOT_FIND_ANY_CARD = "Network card is not present in the system." ProductSoftwareTitle = "Compaq NetFlex-3 Driver" ProductHardwareNetFlex3PTitle = "NetFlex-3" ProductHardwareNetFlex3ETitle = "NetFlex-3" ProductHardwareNetFlex3PSuffix = "/P" ProductHardwareNetFlex3ESuffix = "/E" ShellCodeErrorTitle = "Error: "$(FunctionTitle) ShellCodeErrorText = "Shell Code Error." [DialogConstantsENG] Help = "&Help" Exit = "Cancel" OK = "OK" HelpContext = "" Continue = "Continue" Cancel = "Cancel"Download Driver Pack
After your driver has been downloaded, follow these simple steps to install it.
Expand the archive file (if the download file is in zip or rar format).
If the expanded file has an .exe extension, double click it and follow the installation instructions.
Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.
Find the device and model you want to update in the device list.
Double-click on it to open the Properties dialog box.
From the Properties dialog box, select the Driver tab.
Click the Update Driver button, then follow the instructions.
Very important: You must reboot your system to ensure that any driver updates have taken effect.
For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.