oemsetup.inf Driver File Contents (LightPls.zip)

; 
; -----------------------------------------------------------------------
; OEMSETUP FILE FOR Emulex PCI LightPulse Bus-Master adapter.
; Copyright (c) 2002 Emulex Corporation.  All rights reserved.
; -----------------------------------------------------------------------
;
; OS: Windows NT Version 4.0
; Platform type: Intel x86
;
; Supported adapters:
; -------------------
; Emulex PCI FibreChannel Bus-master Adapter (LP6000)
;
; Usage:
;
;   This file is used for the installation/configuration/deinstallation
;   procedure of PCI FibreChannel for Windows NT. 
;
; Current Version: %VER 2.00 (for testing 10/05/98)
;
; History:
;   v2.00   {TN}	    - Change version for Port Driver interface
;                       - Remove the adapter detection part
;			- Remove LP6Conf call: Port Driver is doing it
;   v1.00A6 {TN}:           - Add RunProgram LPdetect.exe for DeviceID detection
;                           - Change to run LP6Conf.exe at Control Panel/Properties
;                             without asking user to enter directory
;           {DY}:    CR 521 - Shorten the driver title and description
;   v1.00A4 {TN/DY}: Changed driver name from LP6000 to LP6NDLAN
;   v1.0    {khh}: Initial Version 
;
;------------------------------------------------------------------------
;

[Identification]
    OptionType = NetAdapter

[PlatformsSupported]
    PCI

[Options]
    LP6000  ; PCI LightPulse 6000 FibreChannel

[FileConstants]
    UtilityInf                  = "UTILITY.INF"
    subroutineinf               = "SUBROUTN.INF"
    SoftwareType                = "driver"
    Exit_Code                   = 0
    NetEventDLL                 = "%SystemRoot%\System32\netevent.dll;%SystemRoot%\System32\drivers\lp6ndlan.sys"
    IoLogMsgDLL                 = "%SystemRoot%\System32\IoLogMsg.dll"

    Manufacturer                = "Emulex"
    ProductMajorVersion         = "2"
    ProductMinorVersion         = "00"
    ProductVersion              = $(ProductMajorVersion)"."$(ProductMinorVersion)
    ProductSoftwareName         = "LP6NDLAN"
    ProductSoftwareImagePath    = "%SystemRoot%\System32\drivers\lp6ndlan.sys"
    NetRuleSoftwareType         = "LP6NDLANSys ndisDriver LP6NDLANDriver"
    NetRuleSoftwareUse          = $(SoftwareType)
    NetRuleSoftwareBindForm     = """LP6NDLANSys"" yes no container"
    NetRuleSoftwareClass        = {"LP6NDLANDriver basic"}
    NetRuleSoftwareBindable     = {"LP6NDLANDriver LP6000Adapter non exclusive 100"}
    ProductHardwareName         = "LP6NDLAN"
    NetRuleHardwareBindForm     = " yes yes container"

    ProductKeyName              = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion"
    ParamKeyName                = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters"

    FunctionTitle               = "Emulex LP6NDLAN driver setup for LP6/7/8000/9000 Adapter"
    ProductSoftwareDescription  = "Emulex LP6NDLAN driver for LP6/7/8000/9000 Adapter"
    ProductSoftwareTitle        = "Emulex LP6NDLAN driver for LP6/7/8000/9000 Adapter"

    ProductHardwareLP6000Title   = "Emulex LP6/7/8000/9000 PCI-Fibre Channel Adapter"
    ProductHardwareLP6000Description = "Emulex LP6/7/8000/9000 PCI-Fibre Channel Adapter"
    NetRuleHardwareLP6000Type    = "LP6000 LP6000Adapter"
    NetRuleHardwareLP6000Class   = {"LP6000Adapter basic"}
    AdapterLP6000Type            = 5             ;; PCI board

;
;  This is where the PCI device_type may be modified to seach for different
;  adapter types:
;
;  1AE5 = LP6000 set for default device_id (decimal 6885)
;  1AE6 = LP6000 set for LAN specific device_id (used to allow both SCSI and
;         LAN drivers to load on the same system; 1AE5=SCSI, 1AE6=LAN
;  F700 = LP7000 set for default device_id
;  F701 = LP7000 set for LAN specific device_id (used to allow both SCSI and
;         LAN drivers to load on the same system; F700=SCSI, F701=LAN
;  F800 = LP8000 set for default device_id
;  F801 = LP8000 set for LAN specific device_id (used to allow both SCSI and
;         LAN drivers to load on the same system; F800=SCSI, F801=LAN
;
;    LP6000CFID                   = 6886     ;; 0x1AE6, LP6000 LAN only
    LP6000CFID                   = 6885     ;; 0x1AE5, LP6000 SCSI or LAN
;   LP6000CFID                   = 63232    ;; 0xF700, LP7000 SCSI or LAN
;   LP6000CFID                   = 63233    ;; 0xF701, LP7000 LAN only
;   LP6000CFID                   = 63488    ;; 0xF800, LP8000 SCSI or LAN
;   LP6000CFID                   = 63489    ;; 0xF801, LP8000 LAN only

[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
    NT350VersionConstant = "3.50"
    NT310VersionConstant = "3.10"

[date]
    Now = {} ? $(!LIBHANDLE) GetSystemDate

[Identify]
    read-syms Identification
    set Status     = STATUS_SUCCESSFUL
    set Identifier = $(OptionType)
    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
    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 = +
    Return $(Status) $(OptionList) $(OptionTextList)

[InstallOption]
    ; Change "Set !G:DebugOutputControl=0" to 1 in NCAPSHEL.INF for
    ; debug support.
    set !G:DebugOutputControl = 1       ; Debug output {1= on, 0= off}
    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-subst LF = "\n"
    read-syms GeneralConstants
    read-syms FileConstants
;   set NetRuleSoftwareBindable = $($R1)
    read-syms DialogConstants$(!STF_LANGUAGE)
    ifstr(i) $(!NTN_Origination) == "NCPA"
    set Continue = "OK"
    endif
    read-syms FileConstants$(!STF_LANGUAGE)
    detect date
    set-title  $(Function$(Option)Title)
    set to   = Begin
    set from = Begin
    set CommonStatus = STATUS_SUCCESSFUL
    EndWait

Begin = +
    
    ; Get the Version of Windows NT we are installing on.  This will allow
    ; us to use the PCI Support that will be included in NT v3.51
    set CurrentVersionValue = ""
    OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\Windows Nt\CurrentVersion" $(!REG_KEY_READ) KeyNt
    Ifstr(i) $(KeyNt) != ""
    GetRegValue $(KeyNt) "CurrentVersion" CurrentVersionValue
    Debug-Output "$(InfFile) $(Option): WinNT CurrentVersion ="$(CurrentVersionValue)
    CloseRegKey $(KeyNt)
    Endif
    
    ifstr(i) (*($(CurrentVersionValue),4)) == $(NT310VersionConstant)
	; NT v3.10 not supported!
	Debug-Output "$(InfFile) $(Option): Configureadapter"
	set Error = "Windows NT v3.10 is not support by this product"
	goto fatal
    endif
    

    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
	Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
	    Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
	    ifint $($ShellCode) != $(!SHELL_CODE_OK)
	    goto ShellCodeError
	    endif
	    set Error = $($R0)
	    set from = end
	    set to = end
	    goto nonfatalinfo
	else
	    set StartLabel = configureadapter
	endif
    else
	set StartLabel = installadapter
	set OEM_ABANDON_OPTIONS = {}
	set OEM_ABANDON_SOFTWARE = FALSE
	set OEM_ABANDON_ON = TRUE
    endif

    Debug-Output "$(InfFile) $(Option): =================================================="
    Debug-Output "$(InfFile) $(Option): STF_CWDIR is: "$(!STF_CWDIR)
    Debug-Output "$(InfFile) $(Option): STF_SRCDIR is: "$(!STF_SRCDIR)
    Debug-Output "$(InfFile) $(Option): STF_LANGUAGE is: "$(!STF_LANGUAGE)
    Debug-Output "$(InfFile) $(Option): Option is: "$(Option)
    Debug-Output "$(InfFile) $(Option): !STF_NCN_InstallMode is:"$(!NTN_InstallMode)
    Debug-Output "$(InfFile) $(Option): !STF_NCDETECT  is: "$(!STF_NCDETECT)
    Debug-Output "$(InfFile) $(Option): !STF_NCOPTION  is: "$(!STF_NCOPTION)
    Debug-Output "$(InfFile) $(Option): !STF_NCDETCARD is: "$(!STF_NCDETCARD)
    Debug-Output "$(InfFile) $(Option): !STF_NCDETINFO is: "$(!STF_NCDETINFO)
    Debug-Output "$(InfFile) $(Option): !STF_GUI_UNATTENDED is: "$(!STF_GUI_UNATTENDED)
    Debug-Output "$(InfFile) $(Option): !STF_BusType is $(!STF_BUSTYPE)"            ;; Primary Bus
    Debug-Output "$(InfFile) $(Option): !STF_BusTypeList is $(!STF_BUSTYPELIST)"    ;; All Buses
    Debug-Output "$(InfFile) $(Option): =================================================="

    set from = $(fatal)
    set to = $(fatal)
    goto $(StartLabel)

installadapter = +
    
    Debug-Output "$(InfFile) $(Option): Installadapter"
    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)
		Debug-Output "ShellCode error: cannot get an error string."
		goto ShellCodeError
	    endif
	    goto end
	else
;           Shell $(UtilityInf), CardExistedDlg
;           ifint $($ShellCode) != $(!SHELL_CODE_OK)
;               Debug-Output "ShellCode error: cannot get an error string."
;               goto ShellCodeError
;           endif
;           ifstr(i) $($R1) != "OK"
;               set CommonStatus = STATUS_USERCANCEL
;               goto end
;           endif
	    set OldVersionExisted = $(TRUE)
	endif
    Endif
;   Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) NO
;   Ifint $($ShellCode) != $(!SHELL_CODE_OK)
;       Goto ShellCodeError
;   Else-Ifstr(i) $($R0) == STATUS_FAILED
;       Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
;       ifint $($ShellCode) != $(!SHELL_CODE_OK)
;           goto ShellCodeError
;       endif
;       set Error = $($R0)
;       Goto fatal
;   Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
;      Goto successful
;   Endif
;   Set SrcDir = $($R1)

    Set SrcDir = "A:\"

;;*** 
;; HACKHACK - Will copy when we have a help file!
;;     
;;  install "Install-Hlp"
;;
    Goto adapteroptions    

configureadapter = +
    Debug-Output "$(InfFile) $(Option): Configureadapter"

    ;;set Error = "Cannot configure the software component"
    ;;goto fatal

    ;Debug-Output "$(InfFile) $(Option): DoAskSource"

   ;Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) NO
   ;Ifint $($ShellCode) != $(!SHELL_CODE_OK)
       ;Goto ShellCodeError
   ;Else-Ifstr(i) $($R0) == STATUS_FAILED
       ;Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
       ;ifint $($ShellCode) != $(!SHELL_CODE_OK)
	   ;goto ShellCodeError
       ;endif
       ;set Error = $($R0)
       ;Goto fatal
   ;Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
      ;Goto successful
   ;Endif
   ;Set SrcDir = $($R1)

   ;Debug-Output "$(InfFile) $(Option): Source = $(SrcDir)"
   ;RunProgram ExitCode "" "" $(!STF_WINDOWSSYSPATH)\lp6conf.exe

   goto successful


adapteroptions = +
    Debug-Output "$(InfFile) $(Option): Adapteroptions"
    set from = adapteroptions
;   read-syms FileDependentDlg$(!STF_LANGUAGE)
;   SetHelpFile $(!STF_WINDOWSSYSPATH)"\"$(OptionHelpFile) $(MinHelpId) $(MaxHelpId) $(Help$(Option)Id)
;   ui start "InputDlg"
;   ifstr(i) $(DLGEVENT) == "CONTINUE"
;      set ConnectionIndex = $(Combo1Out)
;      ui pop 1
;   else-ifstr(i) $(DLGEVENT) == "BACK"
;      set CommonStatus = STATUS_USERCANCEL
;      ui pop 1
;      goto end
;   else
;      ui pop 1
;      goto end
;   endif
;
;   set ConnectionValue = *($(ConnectionValues), ~($(ConnectionList),$(ConnectionIndex)))
    ifstr(i) $(!NTN_InstallMode) == configure
       goto updateparameters
    endif

installproduct =+
    Debug-Output "$(InfFile) $(Option): installproduct"
    StartWait 
    set AdapterList = $($R1)
    ifint $(OldVersionExisted) == $(FALSE)
	Ifstr(i) $(DoCopy) == "YES"
	    Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) NO
	    ifint $($ShellCode) != $(!SHELL_CODE_OK)
		Goto ShellCodeError
	    Else-Ifstr(i) $($R0) == STATUS_FAILED
		Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
		ifint $($ShellCode) != $(!SHELL_CODE_OK)
		    goto ShellCodeError
		endif
		set Error = $($R0)
		Goto fatal
	    Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
		Goto successful
	    Endif
	    Set SrcDir = $($R1)
	Endif

	install "Install-Option"
	ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
	    Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE"
	    ifint $($ShellCode) != $(!SHELL_CODE_OK)
		goto ShellCodeError
	    endif
	    set Error = $($R0)
	    goto fatal
	endif
    endif

    ; Check to see if the Product Software key exists already in the system
    ; service keys before we try to add the software component.
    OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"$(ProductHardwareName) $(!REG_KEY_READ) KeyNt
    CloseRegKey $(KeyNt)

    Ifstr(i) $(KeyNt) == ""
	Debug-Output "$(InfFile) $(Option): AddSoftwareComponent"
	Debug-Output "$(InfFile) $(Option): --> $(Manufacturer)"
	Debug-Output "$(InfFile) $(Option): --> $(ProductSoftwareName)"
	Debug-Output "$(InfFile) $(Option): --> $(ProductSoftwareTitle)"
	Debug-Output "$(InfFile) $(Option): --> $(STF_CONTEXTINFNAME)"
	Debug-Output "$(InfFile) $(Option): --> $(ProductSoftwareImagePath)"
	Debug-Output "$(InfFile) $(Option): --> $(NetEventDLL)"

	Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), +
	$(ProductSoftwareName), +
	$(ProductSoftwareName), +
	$(ProductSoftwareTitle), $(STF_CONTEXTINFNAME), +
	$(ProductSoftwareImagePath), "kernel", "NDIS", {}, "",+
	$(NetEventDLL)
	
	Set OEM_ABANDON_SOFTWARE = TRUE
	ifint $($ShellCode) != $(!SHELL_CODE_OK)
	    goto ShellCodeError
	endif
	set RegistryErrorIndex = $($R0)
	Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
	    EndWait
	    CloseRegKey $($R1)
	    CloseRegKey $($R2)
	    CloseRegKey $($R3)
	    CloseRegKey $($R4)
	    CloseRegKey $($R5)
	    goto fatalregistry
	endif
	Set SoftProductKey      = $($R1)
	Set SoftNetRuleKey      = $($R2)
	Set SoftServiceKey      = $($R3)
	Set SoftParameterKey    = $($R4)
	Set SoftLinkageKey      = $($R5)
	set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
	       {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)},+
	       {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)},+
	       {Title,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareTitle)},+
	       {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareDescription)},+
	       {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareName)},+
	       {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
	Shell  $(UtilityInf), AddValueList, $(SoftProductKey), $(NewValueList)
	ifint $($ShellCode) != $(!SHELL_CODE_OK)
	    goto ShellCodeError
	endif
	set RegistryErrorIndex = $($R0)
	Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
	    EndWait
	    CloseRegKey $(SoftProductKey)
	    CloseRegKey $(SoftNetRuleKey)
	    CloseRegKey $(SoftServiceKey)
	    CloseRegKey $(SoftParameterKey)
	    CloseRegKey $(SoftLinkageKey)
	    goto fatalregistry
	endif
	set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareType)},+
		{use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareUse)}, +
		{bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareBindForm)}, +
		{class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareClass)}, +
		{bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareBindable)}, +
		{InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
	Shell  $(UtilityInf), AddValueList, $(SoftNetRuleKey), $(NewValueList)
	ifint $($ShellCode) != $(!SHELL_CODE_OK)
	    goto ShellCodeError
	endif
	set RegistryErrorIndex = $($R0)
	CloseRegKey $(SoftProductKey)
	CloseRegKey $(SoftNetRuleKey)
	CloseRegKey $(SoftServiceKey)
	CloseRegKey $(SoftParameterKey)
	CloseRegKey $(SoftLinkageKey)
	Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
	    EndWait
	    goto fatalregistry
	endif
    endif ;; Does Services\el59x exist?
    
    ; If we are v3.51 and above, we can use the PCI detection routines to
    ; figure out where all the boards are (hopefully including different
    ; buses) without user intervention and generate the correct registry
    ; entries.  Otherwise, we can only do one card at a time.
    set NTDetected = $(FALSE)
    Debug-Output "$(InfFile) $(Option): About to look for Emulex LP6000 Cards"
    set TargetVersion = *($(CurrentVersionValue),4)
    Debug-Output "$(InfFile) $(Option): Current Version:"$(TargetVersion)

    ifstr $(TargetVersion) == $(NT350VersionConstant) ; We need to ask on v3.50
	Debug-Output "Running on WindowsNT 3.50"
	set Version350 = $(TRUE)
    else
	;;Debug-Output "Running on WindowsNT 3.51"
	set Version350 = $(FALSE)
    endif

    ifint $(Version350) == $(TRUE)
	Debug-Output "Running on WindowsNT v3.50, Not using PCI Detection!!!"
	ifstr $(!STF_GUI_UNATTENDED) == "YES"
	    Debug-Output "$(InfFile) $(Option): Running in GUI unattended mode"
	    ifstr(i) $(!AutoNetInterfaceType) != ""
		set BusInterfaceType = $(!AutoNetInterfaceType)
	    else
		set BusInterfaceType = 5
	    endif
	    ifstr(i) $(!AutoNetBusNumber) != ""
		set BusNumber = $(!AutoNetBusNumber)
	    else
		set BusNumber = 0
	    endif
	    set NTDetected = $(FALSE)
	    set AdapterList = $(Option) ; 1 Item to install
	    Debug-Output "$(InfFile) $(Option): BusInterfaceType = $(BusInterfaceType)"
	    Debug-Output "$(InfFile) $(Option): BusNumber = $(BusNumber)"
	else        
	    Debug-Output "$(InfFile) $(Option): Running 3.50 Bus Dialog"
	    set BusInterfaceType = 5
	    set BusNumber = 0
	    set NTDetected = $(FALSE)
	    Shell $(UtilityInf),GetBusTypeDialog,$(ProductHardware$(Option)Description) $(BusInterfaceType) $(BusNumber)
	    ifint $($ShellCode) != $(!SHELL_CODE_OK)
		Debug-Output "ShellCode error."
		goto ShellCodeError
	    endif
	    set BusInterfaceType = $($R1)
	    set BusNumber = $($R2)
	    set AdapterList = $(Option)   ;; 1 Item to install
	    Debug-Output "$(InfFile) $(Option): BusInterfaceType = $(BusInterfaceType)"
	    Debug-Output "$(InfFile) $(Option): BusNumber = $(BusNumber)"
	endif    
    else
	;;Debug-Output "$(InfFile) $(Option): Running 3.51 using PCI Detection"
	;;
	;; v3.51 has PCI detection code built in.
	;;
	;;set BusInterfaceType = 5
	;;set BusNumber = 0
	;; Shell $(UtilityInf),GetBusTypeDialog,$(ProductHardware$(Option)Description) $(BusInterfaceType) $(BusNumber)
   


   ;;NO more adapter detection !!!!!!! [lanport]
	    ;;---------------------------------------------[ttt]
;		set WorkFilePath = $(!STF_WINDOWSSYSPATH)\drivers\pcifindd.sys
;	Debug-Output "$(InfFile) $(Option): WorkFile=$(WorkFilePath)"
    
;	;RunProgram ExitCode "" "" $(SrcDir)LPdetect.exe $(WorkFilePath)
;	RunProgram ExitCode "" "" $(!STF_WINDOWSSYSPATH)\LPdetect.exe $(WorkFilePath)
;	Debug-Output "$(InfFile) $(Option): ExitCode = $(ExitCode)"
	
;		ifint $(ExitCode) == 0
;		  Sleep 100
;		  OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\LP6NDLAN" $(MAXIMUM_ALLOWED) KeyNt
;		  Ifstr(i) $(KeyNt) != ""
;			set DetectedBusNumberList = ""
;		set DetectedSlotNumList = ""
;			GetRegValue $(KeyNt) "BusNumber" DetectedBusNumberList
;			GetRegValue $(KeyNt) "SlotNumber" DetectedSlotNumList
;			Debug-Output "$(InfFile) $(Option): BusNumberList = $(DetectedBusNumberList)"
;			Debug-Output "$(InfFile) $(Option): SlotNumList = $(DetectedSlotNumList)"
;			Set DetectedBusNum = *($(DetectedBusNumberList), 4)
;			Set DetectedSlotNum = *($(DetectedSlotNumList), 4)
;			DeleteRegValue $(KeyNt) "BusNumber"
;			DeleteRegValue $(KeyNt) "SlotNumber"
;			CloseRegKey $(KeyNt)
;		  else
;			Debug-Output "$(InfFile) $(Option): OpenReg fails"
;			set Error = $(CANNOT_FIND_ANY_CARD)
;	    set CommonStatus = USER_CANCEL
;	    set from = end
;	    goto nonfatal
;		  endif
;		else
;		  Debug-Output "$(InfFile) $(Option): No adapter found"
;
;		  OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Emulex" $(MAXIMUM_ALLOWED) KeyNt
;	  Ifstr(i) $(KeyNt) != ""
;			DeleteRegTree $(KeyNt) $(ProductSoftwareName)
;			CloseRegKey $(KeyNt)
;		  endif
;
;		  OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services" $(MAXIMUM_ALLOWED) KeyNt
;	  Ifstr(i) $(KeyNt) != ""
;			DeleteRegTree $(KeyNt) $(ProductSoftwareName)
;			CloseRegKey $(KeyNt)
;		  endif
;	  
;		  set Error = $(CANNOT_FIND_ANY_CARD)
;	  set CommonStatus = USER_CANCEL
;	  set from = end
;	  goto nonfatal
;		endif
;		;;-------------------------------------------------------[ttt]
;[lanport]

	set NTDetected = $(TRUE)
	
		;;//////// old stuff //////////////
		;set Vendor = 4319       ;; 0x10df is Emulex's Vendor ID!
	;set-div CFID = $($(Option)CFID) 1
	;Debug-Output "$(InfFile) $(Option): VendorID = $(Vendor)"
	;Debug-Output "$(InfFile) $(Option): CFID = $(CFID)"
	;Shell $(UtilityInf), GetPCIInformation, $(Vendor) $(CFID)
	;ifint $($ShellCode) != $(!SHELL_CODE_OK)
	;    goto ShellCodeError
	;endif
	;ifstr(i) $($R0) == {}
	;    set Error = $(CANNOT_FIND_ANY_CARD)
	;    set CommonStatus = USER_CANCEL
	;    set from = end
	;    goto nonfatal
	;endif
	;set AdapterList = $($R0)
		;;//////////////////////////////////////////////////////[ttt]

    endif   ;;; NT v3.50

    
    ; "AdapterList" has the list of currently installed adapters in the system!
    ;[ttt]Debug-Output "$(InfFile) $(Option): Adapterlist = $(AdapterList)"
    ;[ttt]ForListDo $(AdapterList)
	Set InstallCard = "YES"

;;[lanport]--------------------------------
;	ifint $(NTDetected) == $(TRUE)
;	    ;[ttt]set DetectedBusNum = *($($),1)
;	    ;[ttt]set DetectedSlotNum = *($($),2)
;	    Debug-Output "$(InfFile) $(Option): DetectedBusNumber = $(DetectedBusNum)"
;	    Debug-Output "$(InfFile) $(Option): DetectedSlotNum = $(DetectedSlotNum)"
;
;	    Shell $(UtilityInf), IsNetCardAlreadyInstalled, $(DetectedBusNum), +
;	    $(DetectedSlotNum), $(ProductHardware$(Option)Description), $(ProductHardwareName)
;	    
;	    ifint $($ShellCode) != $(!SHELL_CODE_OK)
;		goto ShellCodeError
;	    endif
;	    ifstr $($R0) != "NO_ERROR"
;		set Error = $($R0)
;		goto fatal
;	    endif
;	    ifstr(i) $($R1) == "YES"
;		set InstallCard = "NO"  ; Don't want to re-install, it's there
;	    endif    
;	endif
;[lanport]

	; Are we installing the card?
	ifstr(i) $(InstallCard) == "NO"

;[lanport]
;	    Debug-Output "$(InfFile) $(Option): Card Already at $(DetectedBusNum):$(DetectedSlotNum) already installed!"
;	    set Error = "An adapter at $(DetectedBusNum):$(DetectedSlotNum) is already installed!"
;	    Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
;	    ifint $($ShellCode) != $(!SHELL_CODE_OK)
;		goto ShellCodeError
;	    endif
	else
;	    Debug-Output "$(InfFile) $(Option): Installing Card at $(DetectedBusNum):$(DetectedSlotNum)!"
	    Shell $(UtilityInf), AddHardwareComponent, $(ProductHardwareName),$(STF_CONTEXTINFNAME),$(ProductKeyName)
	    ifint $($R4) != -1
		Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4))
	    endif
	    ifint $($ShellCode) != $(!SHELL_CODE_OK)
		goto ShellCodeError
	    endif
	    set RegistryErrorIndex = $($R0)
	    Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
		EndWait
		CloseRegKey $($R1)
		CloseRegKey $($R2)
		CloseRegKey $($R3)
		goto fatalregistry
	    endif
	    Set HardNetCardKey      = $($R1)
	    Set HardNetRuleKey      = $($R2)
	    Set HardParameterKey    = $($R3)
	    set AdapterNumber = $($R4)
	    Debug-Output "$(InfFile) $(Option): AdapterNumber $(AdapterNumber)"
	    set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+
		    {Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardware$(Option)Title)},+
		    {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardware$(Option)Description)},+
		    {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+
		    {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
		    {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
	    Shell  $(UtilityInf), AddValueList, $(HardNetCardKey), $(NewValueList)
	    ifint $($ShellCode) != $(!SHELL_CODE_OK)
		goto ShellCodeError
	    endif

;[lanport]
;	    set BusTypeNum = 5   
;	    set BusMaster = "YES"
;	    set Bus = "PCI"      
;	    set CardType = 0
;
;	    ; If we used the OS to detect the card, then we already know bus
;	    ; and slot information.
;	    ifint $(NTDetected) == $(TRUE)
;		set BusNumber = $(DetectedBusNum)
;		set SlotNum = $(DetectedSlotNum)    
;		set BusInterfaceType = $(BusTypeNum)
;
;		; Note: we need to record SlotNumber too so that we can use
;		; the "IsNetCardAlreadyInstalled" routine
;		Set NewValueList =  {+
;		    {BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNumber)},+
;		    {Slot,$(NoTitle),$(!REG_VT_DWORD),$(SlotNum)}+
;		    }
;		Debug-Output "$(InfFile) $(Option): Set HardwareParameterKey = $(NewValueList)"
;		Shell  $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
;		ifint $($ShellCode) != $(!SHELL_CODE_OK)
;		    goto ShellCodeError
;		endif
;
;		Set NewValueList = { {SlotNumber,$(NoTitle),$(!REG_VT_DWORD),$(SlotNum)} }
;		Debug-Output "$(InfFile) $(Option): Set HardwareParameterKey = $(NewValueList)"
;		Shell  $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
;		ifint $($ShellCode) != $(!SHELL_CODE_OK)
;		    goto ShellCodeError
;		endif
;	    else
;		Set NewValueList =  {+
;		    {BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNumber)},+
;		    }
;		Debug-Output "$(InfFile) $(Option): Set HardwareParameterKey = $(NewValueList)"
;		Shell  $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
;		ifint $($ShellCode) != $(!SHELL_CODE_OK)
;		    goto ShellCodeError
;		endif
;	    endif
;
;	    Set NewValueList =  {+
;		{BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusInterfaceType)},+
;		{CardType,$(NoTitle),$(!REG_VT_DWORD),$(CardType)},+
;		{MediaType,$(NoTitle),$(!REG_VT_DWORD),2},+
;		}
;
;	    Debug-Output "$(InfFile) $(Option): Set HardwareParameterKey = $(NewValueList)"
;	    Shell  $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
;	    ifint $($ShellCode) != $(!SHELL_CODE_OK)
;		goto ShellCodeError
;	    endif

;[lanport]
;we have to read elxsli2 to get bus # and slot # in order to put in
;...\LP6NDLANx\parameters registry key. Without these, the binding 
;is not complete, and the system crashes

	    OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\elxsli2" $(MAXIMUM_ALLOWED) KeyNt
		  Ifstr(i) $(KeyNt) != ""
			set DetectedSlotNumList = ""
			GetRegValue $(KeyNt) "BusNumber" DetectedBusNumberList
			GetRegValue $(KeyNt) "SlotNumber" DetectedSlotNumList
			Debug-Output "$(InfFile) $(Option): BusNumberList = $(DetectedBusNumberList)"
			Debug-Output "$(InfFile) $(Option): SlotNumList = $(DetectedSlotNumList)"
			Set BusNumber = *($(DetectedBusNumberList), 4)
			Set SlotNum = *($(DetectedSlotNumList), 4)
			Debug-Output "$(InfFile) $(Option): BusNumber = $(BusNumber)"
			Debug-Output "$(InfFile) $(Option): SlotNumber = $(SlotNum)"
			CloseRegKey $(KeyNt)
		  else
			Debug-Output "$(InfFile) $(Option): OpenReg fails"
			set Error = $(CANNOT_FIND_ANY_CARD)
	    		set CommonStatus = USER_CANCEL
	    		set from = end
	    		goto nonfatal
		  endif
			
	    	set BusInterfaceType = 5
                
		; Note: we need to record SlotNumber too so that we can use
		; the "IsNetCardAlreadyInstalled" routine
		Set NewValueList =  {+
		    {BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNumber)},+
		    {Slot,$(NoTitle),$(!REG_VT_DWORD),$(SlotNum)}+
		    }
		Debug-Output "$(InfFile) $(Option): Set HardwareParameterKey = $(NewValueList)"
		Shell  $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
		ifint $($ShellCode) != $(!SHELL_CODE_OK)
		    goto ShellCodeError
		endif

		Set NewValueList = { {SlotNumber,$(NoTitle),$(!REG_VT_DWORD),$(SlotNum)} }
		Debug-Output "$(InfFile) $(Option): Set HardwareParameterKey = $(NewValueList)"
		Shell  $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
		ifint $($ShellCode) != $(!SHELL_CODE_OK)
		    goto ShellCodeError
		endif
	    
		Set NewValueList =  {+
		    {BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNumber)},+
		    }
		Debug-Output "$(InfFile) $(Option): Set HardwareParameterKey = $(NewValueList)"
		Shell  $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
		ifint $($ShellCode) != $(!SHELL_CODE_OK)
		    goto ShellCodeError
		endif
	    
	    	set BusTypeNum = 5   
	    	set BusMaster = "YES"
	    	set Bus = "PCI"      
	    	set CardType = 0
		set BusInterfaceType = $(BusTypeNum)

		Set NewValueList =  {+
		{BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusInterfaceType)},+
		{CardType,$(NoTitle),$(!REG_VT_DWORD),$(CardType)},+
		{LogErrors,$(NoTitle),$(!REG_VT_DWORD),0},+
		{MediaType,$(NoTitle),$(!REG_VT_DWORD),2},+
		{AdapterIndex,$(NoTitle),$(!REG_VT_DWORD),$(AdapterNumber)},+
		}

	    Debug-Output "$(InfFile) $(Option): Set HardwareParameterKey = $(NewValueList)"
	    Shell  $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
	    ifint $($ShellCode) != $(!SHELL_CODE_OK)
		goto ShellCodeError
	    endif
;[lanport

	    set TempProdName = """"$(ProductHardwareName)$(AdapterNumber)""""
	    set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
	    set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardware$(Option)Type)},+
		    {bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, +
		    {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardware$(Option)Class)}, +
		    {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
    
	    Debug-Output "$(InfFile) $(Option): HardwareRuleKey = $(NewValueList)"
	    Shell  $(UtilityInf), AddValueList, $(HardNetRuleKey), $(NewValueList)
	    ifint $($ShellCode) != $(!SHELL_CODE_OK)
		goto ShellCodeError
	    endif
	    CloseRegKey $(HardNetCardKey)
	    CloseRegKey $(HardNetRuleKey)
	    CloseRegKey $(HardParameterKey)
	endif    
    ;[ttt]EndForListDo
    EndWait

   Debug-Output "$(InfFile) $(Option): DoAskSource"

   Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) NO
   Ifint $($ShellCode) != $(!SHELL_CODE_OK)
       Goto ShellCodeError
   Else-Ifstr(i) $($R0) == STATUS_FAILED
       Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
       ifint $($ShellCode) != $(!SHELL_CODE_OK)
	   goto ShellCodeError
       endif
       set Error = $($R0)
       Goto fatal
   Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
      Goto successful
   Endif
   Set SrcDir = $($R1)

   Debug-Output "$(InfFile) $(Option): SrcDir= $(SrcDir) ExePath= $(!STF_WINDOWSSYSPATH)"
   ;RunProgram ExitCode "" "" $(!STF_WINDOWSSYSPATH)\lp6conf.exe

   goto successful

updateparameters =+
    Debug-Output "$(InfFile) $(Option): Updateparameters"
    set HardParameterKey    = $($R3)
    
    ifint $($ShellCode) != $(!SHELL_CODE_OK)
    goto ShellCodeError
    endif
    CloseRegKey $(KeyParameters)
    goto successful

bindingadapter =+
    Debug-Output "$(InfFile) $(Option): bindingadapter"
    set Error = "Binding: Sorry, not yet implemented."
    goto fatal

removeadapter = +
    Debug-Output "$(InfFile) $(Option): removeadapter"
    Debug-Output "$(InfFile) $(Option): ----> $(ProductKeyName), $(!NTN_RegBase)"
    Debug-Output "$(InfFile) $(Option): ----> $(ProductSoftwareName)"

	
    Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
	$(ProductSoftwareName), $(!NTN_RegBase)

    Debug-Output "$(InfFile) $(Option): RemoveHardware"
	
    ifint $($ShellCode) != $(!SHELL_CODE_OK)
	goto ShellCodeError
    endif
    set RegistryErrorIndex = $($R0)
    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
	goto fatalregistry
    endif
    
    OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services" $(MAXIMUM_ALLOWED) KeyNt
    
    Ifstr(i) $(KeyNt) != ""
	DeleteRegTree $(KeyNt) $(ProductSoftwareName)
	CloseRegKey $(KeyNt)
    endif
    
    goto end

UpgradeSoftware = +
    Debug-Output "$(InfFile) $(Option): UpdateSoftware"
     OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
     Ifstr $(KeyProduct) != $(KeyNull)
       Shell $(UtilityInf), GetInfFileNameFromRegistry, $(KeyProduct)
       ifint $($ShellCode) != $(!SHELL_CODE_OK)
	   Debug-Output "ShellCode error"
	   goto ShellCodeError
       endif
       set !UG_Filename = $($R0)
       install "Install-Update"
       ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
	   goto fatal
       endif
       SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)}
       SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)}
       CloseRegKey $(KeyProduct)
     else
       goto fatalregistry
     endif
     goto end

successful = +
    Debug-Output "$(InfFile) $(Option): Successful"
    goto end

abandon = +
    Debug-Output "$(InfFile) $(Option): Abandon"
    ForListDo $(OEM_ABANDON_OPTIONS)
    Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
	$(ProductSoftwareName), $($)
    ifint $($ShellCode) != $(!SHELL_CODE_OK)
	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)
	goto ShellCodeError
    endif
    set RegistryErrorIndex = $($R0)
    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
	goto fatalregistry
    endif
    endif
    goto end

warning = +
    Debug-Output "$(InfFile) $(Option): warning"
    Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
    ifint $($ShellCode) != $(!SHELL_CODE_OK)
    goto ShellCodeError
    endif
    ifstr(i) $($R1) == "OK"
    goto $(to)
    else-ifstr(i) $($R1) == "CANCEL"
    goto $(from)
    else
    goto "end"
    endif

nonfatalinfo = +
    Debug-Output "$(InfFile) $(Option): nonfatalinfo"
    Set CommonStatus = STATUS_USERCANCEL
    Set Severity = STATUS
    goto nonfatalmsg

nonfatal = +
    Debug-Output "$(InfFile) $(Option): nonfatal"
    Set Severity = NONFATAL
    goto nonfatalmsg

nonfatalmsg = +
    Debug-Output "$(InfFile) $(Option): nonfatalmsg"
    ifstr(i) $(Error) == ""
    Set Severity = NONFATAL
    Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
    ifint $($ShellCode) != $(!SHELL_CODE_OK)
	goto ShellCodeError
    endif
    set Error = $($R0)
    endif
    Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
    ifint $($ShellCode) != $(!SHELL_CODE_OK)
    goto ShellCodeError
    endif
    ifstr(i) $($R1) == "OK"
    goto $(from)
    else
    ;   goto "end"
    goto "RemoveAdapter"
    endif

fatalregistry = +
    Debug-Output "$(InfFile) $(Option): fatalregistry"
    Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
    ifint $($ShellCode) != $(!SHELL_CODE_OK)
    goto ShellCodeError
    endif
    set Error = $($R0)
    goto fatal

fatal = +
    Debug-Output "$(InfFile) $(Option): 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 "$(InfFile) $(Option): ShellCodeError"
    set DlgType      = "MessageBox"
    set STF_MB_TITLE = $(ShellCodeErrorTitle)
    set STF_MB_TEXT  = $(ShellCodeErrorText) 
    set STF_MB_TYPE  = 1
    set STF_MB_ICON  = 3
    set STF_MB_DEF   = 1
    ui start "Error Message"
    goto setfailed

setfailed = +
    Debug-Output "$(InfFile) $(Option): 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]
    set STF_VITAL = ""
    ;;ifstr(i) $(AddCopy) == "YES"
	ifstr(i) $(!STF_PLATFORM) == $(!PlatformID_I386)
	    AddSectionFilesToCopyList Files-Exe $(SrcDir)\i386 $(!STF_WINDOWSSYSPATH)   ;[ttt]
	    AddSectionFilesToCopyList Files-$(Option) $(SrcDir)\i386 $(!STF_WINDOWSSYSPATH)\drivers
	else
	    AddSectionFilesToCopyList Files-Exe $(SrcDir)\alpha $(!STF_WINDOWSSYSPATH)  ;[ttt]
	    AddSectionFilesToCopyList Files-$(Option) $(SrcDir)\alpha $(!STF_WINDOWSSYSPATH)\drivers
	endif
    ;;endif
    ;;ifstr(i) $(DoCopy) == "YES"
       set !STF_NCPA_FLUSH_COPYLIST = TRUE
       CopyFilesInCopyList
    ;;endif
    Exit
    
[Install-Hlp]
   set STF_VITAL = ""
   AddSectionFilesToCopyList Files-Hlp $(SrcDir) $(!STF_WINDOWSSYSPATH)
   set !STF_NCPA_FLUSH_COPYLIST = TRUE
   CopyFilesInCopyList
   Exit
   
[Install-Update]
   set STF_VITAL    = ""
   set STF_OVERWRITE    = "VERIFYSOURCEOLDER"
   ;[ttt]AddSectionFilesToCopyList Files-Hlp $(SrcDir) $(!STF_WINDOWSSYSPATH)
   AddSectionFilesToCopyList Files-Inf $(SrcDir) $(!STF_WINDOWSSYSPATH)
   ifstr(i) $(!STF_PLATFORM) == $(!PlatformID_I386)
	AddSectionFilesToCopyList Files-Exe $(SrcDir)\i386 $(!STF_WINDOWSSYSPATH)       ;[ttt]
	AddSectionFilesToCopyList Files-$(Option) $(SrcDir)\i386 $(!STF_WINDOWSSYSPATH)\drivers
   else
	AddSectionFilesToCopyList Files-Exe $(SrcDir)\alpha $(!STF_WINDOWSSYSPATH)      ;[ttt]
	AddSectionFilesToCopyList Files-$(Option) $(SrcDir)\alpha $(!STF_WINDOWSSYSPATH)\drivers
   endif
   set !STF_NCPA_FLUSH_COPYLIST = TRUE
   CopyFilesInCopyList
   exit

[Source Media Descriptions]
    1  = "Windows NT Setup Disk #1"  
    2  = "Emulex Landisk for LP6000 Bus Master Adapter"

[ProductType]
STF_PRODUCT  = Winnt
;STF_PLATFORM = I386

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

[Files-Hlp]
2, LP6000.hlp , SIZE=88888

[Files-Exe]
;2, LP6Conf.exe , SIZE=150000
;2, LPdetect.exe, SIZE=100000

;
; Driver files
;
[Files-LP6000]
2,LP6NDLAN.SYS , SIZE=70000
;2,pcifindd.sys , SIZE=60000                     ; [ttt]

[LanguagesSupported]
    ENG

[OptionsTextENG]
    LP6000  = "Emulex LP6/7/8000/9000 PCI-Fibre Channel Adapter"
    
[FileConstantsENG]
    ProCaption   = "Windows NT v3.5 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:"

ConnectionList  = ^(ConnectionChoices$(Option), 1)
ConnectionValues = ^(ConnectionChoices$(Option), 2)
NoList  = ^(NoChoices, 1)
NoValues = ^(NoChoices, 2)
ShellCodeErrorTitle = "Error: "$(Function$(Option)Title)
ShellCodeErrorText  = "Shell Code Error."
CANNOT_FIND_ANY_CARD    = "Network card is not present in the system"

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

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