;******************************************************************************* ;* ** ;* I N T E L P R O P R I E T A R Y ** ;* ** ;* COPYRIGHT (c) 1993-2001 BY INTEL CORPORATION. ALL RIGHTS RESERVED. NO ** ;* PART OF THIS PROGRAM OR PUBLICATION MAY BE REPRODUCED, TRANSMITTED, ** ;* TRANSCRIBED, STORED IN A RETRIEVAL SYSTEM, OR TRANSLATED INTO ANY ** ;* LANGUAGE OR COMPUTER LANGUAGE IN ANY FORM OR BY ANY MEANS, ELECTRONIC, ** ;* MECHANICAL, MAGNETIC, OPTICAL, CHEMICAL, MANUAL, OR OTHERWISE, WITHOUT ** ;* THE PRIOR WRITTEN PERMISSION OF : ** ;* ** ;* INTEL CORPORATION ** ;* ** ;* 2200 MISSION COLLEGE BLVD ** ;* ** ;* SANTA CLARA, CALIFORNIA 95052-8119 ** ;* ** ;******************************************************************************* ;*********************************************************************** ; Windows NT OEMSETUP.INF for ; ; Intel(R) PRO/1000 family of adapters ; ; Version 6.0.05 ;*********************************************************************** ; $Revision: 9 $ ; ;*********************************************************************** ; ; Adapter/Driver Detection ; ; Adapter Constants - Vendor and Device IDs in Decimal ; ; Gigabit Device IDs ; 0x1000 = 4096 ; 0x1001 = 4097 ; 0x1004 = 4100 ; 0x1008 = 4104 ; 0x100C = 4108 ; 0x100E = 4110 DeviceListE1000 = {4096, 4097, 4100, 4104, 4108, 4110} UtilityInf = "UTILITY.INF" SubroutineInf = "SUBROUTN.INF" ; Messages to display if adapters cannot be found, or if all adapters ; have drivers loaded. CANT_FIND_E1000 = "Cannot find any PRO/1000 Adapters in your system" ALL_INSTALLED_E1000 = "All the PRO/1000 Adapters in this system already have drivers installed" DONT_SUPPORT_NT351 = "This version of the driver software does not support Windows NT versions prior to NT 4.0" ; Adapter/Driver Detection end. ;*********************************************************************** ; Define NMS Service File Constants ;*********************************************************************** [NMSService-FileConstants] NMSSvc = "NMSSvc.exe" NMSSvcPS = "NMSSvcPS.dll" NMSMsg = "NMSMsg.dll" NMSAPI = "NMSAPI.dll" NMSCfg = "NMSCFG.sys" NMSDD = "NMSDD.sys" RegSvr32 = "RegSvr32.exe" NmsMvft = "MVFT.reg" ;*********************************************************************** ; Define PROSet constants ;*********************************************************************** [FileConstants] Manufacturer = "Intel" NDIS4Gig = "E1000nt4.sys" IANS = "iANSNT4.sys" IANSE = "iANSNT4e.sys" IANSN = "iANSNT4n.sys" PROSet = "PROSetp.cpl" PROMon = "PROMon.exe" PROSetHelp = "PROSetp.hlp" PROSetCnt = "PROSetp.cnt" PROSetOld = "PROSet.cpl" ROBOEX32 = "ROBOEX32.DLL" INETWH32 = "inetwh32.dll" PROSetReg = "PROSetp.reg" iAFT = "iAFT.sys" iVLAN = "iVLAN.sys" 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:" AFTService = "SOFTWARE\Intel\iAFT" VLANService = "SOFTWARE\Intel\iVLANMiniport" AFTWarning = "Setup detected that you have some adapter teams and/or VLANs that are no longer supported. "+ "These teams and VLANs will be converted to supported teams and VLANs. Are you sure you want to continue?" UnAttAdapterSwitch = "ALL" ; Note: UnAttAdapterSwitch allows unattend installs to install selected ; adapters. ; ; UnAttAdapterSwitch syntax: ; ; UnAttAdapterSwitch = "ALL" ; - specifies installation of all adapters found - default ; ; UnAttAdapterSwitch = "INTERFACE:x[,y]" ; - specifies installation of the xth adapter found ; example: "INTERFACE:2" ; - specifies installation of the second adapter found ; example: "INTERFACE:1,3" ; - specifies installation of the first and third adapters found ; ; UnAttAdapterSwitch = "DEVICE:x1:y1:z1[,x2:y2:z2]" ; - specifies installation of adapters by Bus:Slot:Function ; example: "DEVICE:0:2:0" ; - specifies installation of the device at Bus 0 Slot 2 Function 0 ; example: "DEVICE:0:4:0,1:14:0" ; - specifies the devices at Bus 0 Slot 4 Function 0 and ; Bus 1 Slot 14 Function 0 ; ;*********************************************************************** ; Define old PROSet Plus File Constants ;*********************************************************************** [PROSetPlusFileConstants] PROSetP = "PROSetp.cpl" PROSetPHelp = "PROSetp.hlp" PROSetPCnt = "PROSetp.cnt" PROSetOld = "PROSet.cpl" PROKddp = "PROKddp.sys" PROdd = "PROdd.sys" ;*********************************************************************** ; Define file source constants. ;*********************************************************************** [NMSService-FileConstants-Src] NMSSvcSrc = "NMSSvc.ex_" NMSSvcPSSrc = "NMSSvcPS.dl_" NMSAPISrc = "NMSAPI.dl_" NMSMsgSrc = "NMSMsg.dl_" NMSCfgSrc = "NMSCfg.sy_" NMSDDSrc = "NMSDD.sy_" NmsMvftSrc = "MVFT.re_" RegSvr32Src = "RegSvr32.ex_" NMSSvcSrcNC = "NMSSvc.exe" NMSSvcPSSrcNC = "NMSSvcPS.dll" NMSAPISrcNC = "NMSAPI.dll" NMSMsgSrcNC = "NMSMsg.dll" NMSCfgSrcNC = "NMSCfg.sys" NMSDDSrcNC = "NMSDD.sys" RegSvr32SrcNC = "RegSvr32.exe" NmsMvftSrcNC = "MVFT.reg" [FileConstants-Src] ModemEnablerSrc = "Cbmodem.sy_" NDIS4GigSrc = "E1000nt4.sy_" IANSSrc = "iANSNT4.sy_" IANSESrc = "iANSNT4e.sy_" IANSNSrc = "iANSNT4n.sy_" PROSetSrc = "PROSetp.cp_" PROMonSrc = "PROMon.ex_" PROSetHelpSrc = "PROSetp.hl_" PROSetCntSrc = "PROSetp.cn_" ROBOEX32Src = "ROBOEX32.DL_" INETWH32Src = "inetwh32.dl_" PROSetRegSrc = "PROSetp.re_" ModemEnablerSrcNC = "Cbmodem.sys" NDIS4GigSrcNC = "E1000nt4.sys" IANSSrcNC = "iANSNT4.sys" IANSESrcNC = "iANSNT4e.sys" IANSNSrcNC = "iANSNT4n.sys" PROSetSrcNC = "PROSetp.cpl" PROMonSrcNC = "PROMon.exe" PROSetHelpSrcNC = "PROSetp.hlp" PROSetCntSrcNC = "PROSetp.cnt" ROBOEX32SrcNC = "ROBOEX32.DLL" INETWH32SrcNC = "inetwh32.dll" PROSetRegSrcNC = "PROSetp.reg" [ShortCutConstants] IntelNetworkGroup = "Intel Network Adapters" IntelProsetItem = "Intel(R) PROSet II" ;*********************************************************************** ; Detect sections ;*********************************************************************** [DetectConstants] OSName = {} ? $(PROSet) PROSetGetOSVersion ;*********************************************************************** ; Define Option ;*********************************************************************** [Options] E1000 [OptionsText] E1000 = "Intel(R) PRO/1000 Family Adapter" [Source Media Descriptions] 1 = "Intel PRO Adapter media" ;*********************************************************************** ; Returns information to Setup about the type of driver or drivers that ; can be installed by this INF file. ;*********************************************************************** [Identify] Return STATUS_SUCCESSFUL NetAdapter "" ;*********************************************************************** ; This section returns information to the Setup program, listing the ; names of any drivers that can be installed by this INF file. It also ; returns the text strings for each driver (in the requested language) ; to be used in the dialog box that asks the user to select the driver ; to install. ;*********************************************************************** [ReturnOptions] Set Status = STATUS_SUCCESSFUL Set OptionList = ^(Options, 1) Set OptionTextList = ^(OptionsText, 1) IfStr(i) $($1) != "" IfContains(i) $($1) not-in "PCI" Set Status = STATUS_NOTSUPPORTED Set OptionList = {} Set OptionTextList = {} EndIf EndIf Return $(Status) $(OptionList) $(OptionTextList) ;*********************************************************************** ; Driver History Information ; The following code adds Driver History Information to the system registry ;*********************************************************************** [DriverHistory] ; Driver Information Entries ; These items will be set by IHV... ; IHV name Set DriverMfgr = "Intel" ; The IHV driver package version Set DriverVersionID = "6.1" ; These items will be set to VENDOR values, and then set to OEM-specific by OEM ; name of the OEM Set DriverOEM = "Dell" ; device family (NIC, Storage, Video...) Set DriverFamily = "NIC" ; Specific Name of device (chipset, for example) Set DriverProduct = "Intel PRO/1000 Family Adapter" ; Description of device (product name, OS or system supported) Set DriverDescription = "Intel(R) PRO/1000 Adapter drivers for NT 4.0" ; OEM-specified version Set DriverOEMVersion = "A00" ; OEM-specified driver file name Set BaseDriverFileName = "E1000NT4.SYS" ; OEM-specified driver file version Set BaseDriverFileVersion = "6.01.15.00" ; This section is added to all INFs to add registry entries for Driver Info. Set DriverInfoRegList = {"InstalledOptions",$(DriverOEM),$(DriverFamily),$(DriverMfgr),$(DriverProduct)} Set DriverInfoKey = "SOFTWARE" OpenRegKey $(!REG_H_LOCAL) "" $(DriverInfoKey) $(!REG_KEY_CREATE_SUB_KEY) DriverInfoOldKeyHandle Ifstr $(DriverInfoOldKeyHandle) == "" Shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" "DriverInfo registry failed. Could not open HKLM\Software ("$(RegLastError)")" Set DriverInfoFailed = "FAIL" Else ForListDo $(DriverInfoRegList) Set NewDriverInfoKey = $(DriverInfoKey)"\"$($) OpenRegKey $(!REG_H_LOCAL) "" $(NewDriverInfoKey) $(!REG_KEY_ALL_ACCESS) DriverInfoKeyHandle Ifstr(i) $(DriverInfoKeyHandle) == "" CreateRegKey $(DriverInfoOldKeyHandle) {$($),0,GenericClass} "" $(!REG_KEY_ALL_ACCESS) "" DriverInfoKeyHandle Ifstr $(DriverInfoKeyHandle) == "" Shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" "DriverInfo registry failed. Could not create key:"$($)" ("$(RegLastError)")" Set DriverInfoFailed = "FAIL" Endif Endif CloseRegKey $(DriverInfoOldKeyHandle) Set DriverInfoOldKeyHandle = $(DriverInfoKeyHandle) Set DriverInfoKey = $(NewDriverInfoKey) EndForListDo Endif Ifstr $(DriverInfoFailed) != "FAIL" SetRegValue $(DriverInfoKeyHandle) {"Description",0,$(!REG_VT_SZ),$(DriverDescription)} SetRegValue $(DriverInfoKeyHandle) {"CurrentVer",0,$(!REG_VT_SZ),$(DriverOEMVersion)} SetRegValue $(DriverInfoKeyHandle) {"Ver_"$(DriverOEMVersion),0,$(!REG_VT_SZ),$(DriverVersionID)} SetRegValue $(DriverInfoKeyHandle) {"BaseDriverFileName",0,$(!REG_VT_SZ),$(BaseDriverFileName)} SetRegValue $(DriverInfoKeyHandle) {"BaseDriverFileVersion",0,$(!REG_VT_SZ),$(BaseDriverFileVersion)} CloseRegKey $(DriverInfoKeyHandle) Endif Return ;*********************************************************************** ; Support Tab Information ; The following code adds Customized Support Tab information to PROSET ;*********************************************************************** [SupportTab] Set SupportUrl = "http://www.dell.com" Set SupportUrlOrder = 1 Set ProsetMfgr = "Intel" Set ProsetName = "PROSet" Set SupportTabKey = "SupportTabKey" Set GeneralKey = "General" Set WebAddressHeading = "Dell Customer Support" ; This section adds the ; HKEY_LOCAL_MACHINE\SOFTWARE\Intel\PROSet\SupportTabKey\Dell Customer Support ; entries to usurp the Intel Support information with Dell INFO Set DriverInfoRegList = {$(ProsetMfgr),$(ProsetName),$(SupportTabKey),$(GeneralKey),$(WebAddressHeading)} Set DriverInfoKey = "SOFTWARE" OpenRegKey $(!REG_H_LOCAL) "" $(DriverInfoKey) $(!REG_KEY_CREATE_SUB_KEY) DriverInfoOldKeyHandle Ifstr $(DriverInfoOldKeyHandle) == "" Shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" "DriverInfo registry failed. Could not open HKLM\Software ("$(RegLastError)")" Set DriverInfoFailed = "FAIL" Else ForListDo $(DriverInfoRegList) Set NewDriverInfoKey = $(DriverInfoKey)"\"$($) OpenRegKey $(!REG_H_LOCAL) "" $(NewDriverInfoKey) $(!REG_KEY_ALL_ACCESS) DriverInfoKeyHandle Ifstr(i) $(DriverInfoKeyHandle) == "" CreateRegKey $(DriverInfoOldKeyHandle) {$($),0,GenericClass} "" $(!REG_KEY_ALL_ACCESS) "" DriverInfoKeyHandle Ifstr $(DriverInfoKeyHandle) == "" Shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" "DriverInfo registry failed. Could not create key:"$($)" ("$(RegLastError)")" Set DriverInfoFailed = "FAIL" Endif Endif CloseRegKey $(DriverInfoOldKeyHandle) Set DriverInfoOldKeyHandle = $(DriverInfoKeyHandle) Set DriverInfoKey = $(NewDriverInfoKey) EndForListDo Endif Ifstr $(DriverInfoFailed) != "FAIL" SetRegValue $(DriverInfoKeyHandle) {"Order",0,$(!REG_VT_DWORD),$(SupportUrlOrder)} SetRegValue $(DriverInfoKeyHandle) {"Url",0,$(!REG_VT_SZ),$(SupportUrl)} CloseRegKey $(DriverInfoKeyHandle) Endif Return ;*********************************************************************** ; End of Driver History Information ;*********************************************************************** ;*********************************************************************** ; If the [ReturnOptions] section returns successfully, indicating the ; language is supported, Setup displays a dialog box from which the user ; can select a driver to install. If the user proceeds with the ; installation, Setup calls the [InstallOption] section. ;*********************************************************************** [InstallOption] Set Option = $($1) Set SrcDir = $($2) Set AddCopy = $($3) Set DoCopy = $($4) Set DoConfig = $($5) Set ProsetOption = $(Option) ; Adapter/Driver detection end. read-syms FileConstants read-syms NMSService-FileConstants read-syms FileConstants-Src read-syms NMSService-FileConstants-Src read-syms PROSetPlusFileConstants Set DetectAFTs = 0 IfStr(i) $(!NTN_InstallMode) == deinstall Set StartLabel = RemoveAdapter Else-IfStr(i) $(!NTN_InstallMode) == update Set StartLabel = UpdateAdapters Set DetectAFTs = 1; Else-IfStr(i) $(!NTN_InstallMode) == bind Set StartLabel = BindingReview Else-IfStr(i) $(!NTN_InstallMode) == configure Set StartLabel = ConfigureAdapter Else-IfStr(i) $(!NTN_InstallMode) == install Set StartLabel = InstallAdapters Set DetectAFTs = 1; EndIf Set from = FatalError Set to = FatalError IfInt $(DetectAFTs) == 1 ; Check to see if there are AFT (obsolete) teams in the system ; by looking for the existence of AFT service, "iAFT" OpenRegKey $(!REG_H_LOCAL) "" $(AFTService) $(!REG_KEY_READ) hAFTService OpenRegKey $(!REG_H_LOCAL) "" $(VLANService) $(!REG_KEY_READ) hVLANService IfStr(i) $(hAFTService) != "" Set OldTeamVLANWarning = 1 EndIf IfStr(i) $(hVLANService) != "" Set OldTeamVLANWarning = 1 EndIf IfInt $(OldTeamVLANWarning) == 1 ; Display a warning messgae Shell "Subroutn.Inf" SetupMessage $(!STF_LANGUAGE) "WARNING" $(AFTWarning) IfStr(i) $($R0) != STATUS_SUCCESSFUL return FAILED Endif IfStr(i) $($R1) == "CANCEL" return FAILED Endif EndIf EndIf Goto $(StartLabel) ;*********************************************************************** ; Called when the user clicks the Add button in the NCPA. ;*********************************************************************** InstallAdapters = + ; This version of the software does not support NT 3.51 or earlier versions. Install "Install-PROSet" detect DetectConstants IfStr(i) $(OSName) == "NT351" set Error = $(DONT_SUPPORT_NT351) set CommonStatus = USER_CANCEL goto NoCanDo Endif Install "Install-Option" LoadLibrary "" $(!STF_WINDOWSSYSPATH)\$(PROSet) hLib LibraryProcedure DllExitStr $(hLib) InstallAdapters + $(ProsetOption), $(PROMon), $(STF_CONTEXTINFNAME), + $(!NetCardParameterName), $(!NetCardParameterValue), + $(!STF_GUI_UNATTENDED), $(SrcDir), $(UnAttAdapterSwitch) FreeLibrary $(hLib) Ifstr(i) $(DllExitStr) == "ERROR" return STATUS_USERCANCEL EndIf Install "Install-PROSet-More" Shell "", DriverHistory Shell "", SupportTab ; Install the Start-Programs shortcut read-syms ShortCutConstants Install Install-Shortcuts ; Remove old files Install "Install-Remove-PROSet-Plus" return STATUS_SUCCESSFUL ;*********************************************************************** ; Called when the user clicks the Update button in the NCPA. ;*********************************************************************** UpdateAdapters = + Install "Install-PROSet" detect DetectConstants Install "Install-Option" LoadLibrary "" $(!STF_WINDOWSSYSPATH)\$(PROSet) hLib LibraryProcedure DllExitStr $(hLib) UpdateAdapters + $(PROMon), $(!NTN_RegBase), $(SrcDir) FreeLibrary $(hLib) Ifstr(i) $(DllExitStr) == "ERROR" return STATUS_USERCANCEL EndIf Set NewInfName = $(DllExitStr) Install "Install-PROSet-More" ; Remove old PROSet Plus files Install "Install-Remove-PROSet-Plus" return STATUS_SUCCESSFUL ;*********************************************************************** ; Called when the binding engine runs and the software component has a ; Review = 1 flag in the CurrentVersion key of the software component ; key. ;*********************************************************************** BindingReview = + LoadLibrary "" $(!STF_WINDOWSSYSPATH)\$(PROSet) hLib LibraryProcedure DllExitStr $(hLib) BindingReview $(ProsetOption) FreeLibrary $(hLib) return STATUS_SUCCESSFUL ;*********************************************************************** ; Called when user clicks the Remove button on the NCPA to remove an ; adapter. We only need to remove the hardware components; the NCPA ; will remove the software component when the last hardware component ; is removed. This function is also used to remove adapter teams. ;*********************************************************************** RemoveAdapter = + ;*************************************************************** ; Application specific emulation of RemoveAdapter operation. ;*************************************************************** IfStr(i) $(!NTN_RegBase) == "CLEANUP" Install "Install-Cleanup" Install "Install-PROMon-Cleanup" LoadLibrary "" $(!STF_WINDOWSSYSPATH)\$(PROSet) hLib LibraryProcedure UnregNMSExitStr $(hLib) UnregisterNMS + $(ProsetOption), $(!NTN_RegBase) FreeLibrary $(hLib) Install "NMS-Cleanup" ; Remove the Start-Programs shortcut read-syms ShortCutConstants Install Remove-Shortcuts return STATUS_SUCCESSFUL EndIf ;*************************************************************** ; Operation initiated by the NCPA ;*************************************************************** LoadLibrary "" $(!STF_WINDOWSSYSPATH)\$(PROSet) hLib LibraryProcedure DllExitStr $(hLib) RemoveAdapter + $(ProsetOption), $(!NTN_RegBase) IfStr(i) $(DllExitStr) == "CLEANUP" LibraryProcedure UnregNMSExitStr $(hLib) UnregisterNMS + $(ProsetOption), $(!NTN_RegBase) EndIf FreeLibrary $(hLib) IfStr(i) $(DllExitStr) == "ERROR" return STATUS_USERCANCEL EndIf ; Remove PROSet files IfStr(i) $(DllExitStr) == "CLEANUP" Install "Install-Cleanup" Install "Install-PROMon-Cleanup" EndIf ; Remove NMS files IfStr(i) $(UnregNMSExitStr) == "CLEANUP" Install "NMS-Cleanup" EndIf ; Remove the Start-Programs shortcut read-syms ShortCutConstants Install Remove-Shortcuts return STATUS_SUCCESSFUL ;*********************************************************************** ; Called when the user selects Properties button on an adapter. ;*********************************************************************** ConfigureAdapter = + LoadLibrary "" $(!STF_WINDOWSSYSPATH)\$(PROSet) hLib LibraryProcedure DllExitStr $(hLib) DLLEntry + $(!NTN_RegBase), $(ProsetOption) FreeLibrary $(hLib) IfStr(i) $(DllExitStr) == "REBOOT" return STATUS_SUCCESSFUL EndIf return STATUS_USERCANCEL ;*********************************************************************** ; Something's busted! ;*********************************************************************** FatalError = + return STATUS_FAILED ; Adapter/Driver detection ; ; We land here if no adapter was detected, or if all detected drivers ; already have drivers loaded. NoCanDo = + Debug-Output "$(InfFile) : NoCanDo" Set Severity = NONFATAL goto NoCanDoMsg NoCanDoMsg = + IfStr(i) $(Error) == "" Set Severity = NONFATAL Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL" Ifint $($ShellCode) != $(!SHELL_CODE_OK) goto InfError Endif set Error = $($R0) Endif Shell $(SubroutineInf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error) IfInt $($ShellCode) != $(!SHELL_CODE_OK) goto InfError Endif IfStr(i) $($R1) == "OK" return STATUS_USERCANCEL Else return STATUS_USERCANCEL Endif InfError = + IfInt $($ShellCode) == $(!SHELL_CODE_NO_SUCH_INF) Debug-Output "$(InfFile) : InfError - SHELL_CODE_NO_SUCH_INF" Else-IfInt $($ShellCode) == $(!SHELL_CODE_NO_SUCH_SECTION) Debug-Output "$(InfFile) : InfError - SHELL_CODE_NO_SUCH_SECTION" Else Debug-Output "$(InfFile) : InfError - SHELL_CODE_ERROR" Endif ; endif 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" set CommonStatus = STATUS_FAILED Return $(CommonStatus) ; Adapter/Driver detection end. ;*********************************************************************** ; Install the PROSet files. ;*********************************************************************** [Install-PROSet] Set STF_VITAL = 1 Set STF_OVERWRITE = "VERIFYSOURCEOLDER" set FileToCheck = $(SrcDir)$(NMSSvcSrcNC) LibraryProcedure UnCompressedFiles, $(!LIBHANDLE), CheckFileExistance $(FileToCheck) IfStr(i) $(UnCompressedFiles) == "YES" AddSectionFilesToCopyList Files-NMSService-Drivers-NC $(SrcDir) + $(!STF_WINDOWSSYSPATH)\drivers AddSectionFilesToCopyList Files-NMSService-System-NC $(SrcDir) + $(!STF_WINDOWSSYSPATH) AddSectionFilesToCopyList Files-PROSet-System-NC $(SrcDir) + $(!STF_WINDOWSSYSPATH) Else AddSectionFilesToCopyList Files-NMSService-Drivers $(SrcDir) + $(!STF_WINDOWSSYSPATH)\drivers AddSectionFilesToCopyList Files-NMSService-System $(SrcDir) + $(!STF_WINDOWSSYSPATH) AddSectionFilesToCopyList Files-PROSet-System $(SrcDir) + $(!STF_WINDOWSSYSPATH) Endif Set !STF_NCPA_FLUSH_COPYLIST = 1 CopyFilesInCopyList Exit [Files-NMSService-Drivers] 1, $(NMSCfgSrc), SIZE=15000, RENAME=$(NMSCfg) 1, $(NMSDDSrc), SIZE=25000, RENAME=$(NMSDD) [Files-NMSService-System] 1, $(NMSSvcSrc), SIZE=600000, RENAME=$(NMSSvc) 1, $(NMSSvcPSSrc), SIZE=15000, RENAME=$(NMSSvcPS) 1, $(NMSMsgSrc), SIZE=10000, RENAME=$(NMSMsg) 1, $(NMSAPISrc), SIZE=60000, RENAME=$(NMSAPI) 1, $(RegSvr32Src), SIZE=20000, RENAME=$(RegSvr32), OVERWRITE=NEVER [Files-PROSet-System] 1, $(PROMonSrc), SIZE=20000, RENAME=$(PROMon) 1, $(PROSetHelpSrc), SIZE=100000, RENAME=$(PROSetHelp) 1, $(PROSetCntSrc), SIZE=5000, RENAME=$(PROSetCnt) 1, $(ROBOEX32Src), SIZE=160000, RENAME=$(ROBOEX32) 1, $(INETWH32Src), SIZE=30000, RENAME=$(INETWH32) 1, $(PROSetSrc), SIZE=350000, RENAME=$(PROSet) [Files-NMSService-Drivers-NC] 1, $(NMSCfgSrcNC), SIZE=15000, RENAME=$(NMSCfg) 1, $(NMSDDSrcNC), SIZE=25000, RENAME=$(NMSDD) [Files-NMSService-System-NC] 1, $(NMSSvcSrcNC), SIZE=600000, RENAME=$(NMSSvc) 1, $(NMSSvcPSSrcNC), SIZE=15000, RENAME=$(NMSSvcPS) 1, $(NMSMsgSrcNC), SIZE=10000, RENAME=$(NMSMsg) 1, $(NMSAPISrcNC), SIZE=60000, RENAME=$(NMSAPI) 1, $(RegSvr32SrcNC), SIZE=20000, RENAME=$(RegSvr32), OVERWRITE=NEVER [Files-PROSet-System-NC] 1, $(PROMonSrcNC), SIZE=20000, RENAME=$(PROMon) 1, $(PROSetHelpSrcNC), SIZE=100000, RENAME=$(PROSetHelp) 1, $(PROSetCntSrcNC), SIZE=5000, RENAME=$(PROSetCnt) 1, $(ROBOEX32SrcNC), SIZE=160000, RENAME=$(ROBOEX32) 1, $(INETWH32SrcNC), SIZE=30000, RENAME=$(INETWH32) 1, $(PROSetSrcNC), SIZE=350000, RENAME=$(PROSet) ;*********************************************************************** ; Finish up the install of PROSet ;*********************************************************************** [Install-PROSet-More] IfStr(i) $(NewInfName) != "" AddSectionFilesToCopyList Files-Option-Inf $(SrcDir) + $(!STF_WINDOWSSYSPATH) EndIf Set !STF_NCPA_FLUSH_COPYLIST = 1 CopyFilesInCopyList ; ; Install PROMon to run each time NT 4 starts ; IfStr(i) $(OSName) == "NT4" ; OpenRegKey $(!REG_H_LOCAL) "" + ; "SOFTWARE\Microsoft\Windows\CurrentVersion\Run" + ; $(!REG_KEY_SET_VALUE) KeyWinRun ; SetRegValue $(KeyWinRun) {$(PROMon), 0, $(!REG_VT_SZ), $(PROMon)} ; CloseRegKey $(KeyWinRun) ; EndIf ; Remove Old PROSet AddFileToDeleteList $(!STF_WINDOWSSYSPATH)\$(PROSetOld) Exit ;*********************************************************************** ; Remove PROMon hook ;*********************************************************************** [Install-PROMon-Cleanup] OpenRegKey $(!REG_H_LOCAL) "" + "SOFTWARE\Microsoft\Windows\CurrentVersion\Run" + $(!REG_KEY_SET_VALUE) KeyWinRun DeleteRegValue $(KeyWinRun) $(PROMon) CloseRegKey $(KeyWinRun) Exit ;*********************************************************************** ; Install the Option files. ;*********************************************************************** [Install-Option] Set STF_VITAL = 1 Set STF_OVERWRITE = "VERIFYSOURCEOLDER" ; Prior to installing the drivers, lets see if the install media has the ANS driver set FileToCheck = $(SrcDir)$(NDIS4GigSrcNC) LibraryProcedure UnCompressedFiles, $(!LIBHANDLE), CheckFileExistance $(FileToCheck) IfStr(i) $(OSName) == "NT4" Ifstr(i) $(UnCompressedFiles) == "YES" set FileToCheck = $(SrcDir)$(IANSSrcNC) LibraryProcedure AnsFilePresent,$(!LIBHANDLE), CheckFileExistance $(FileToCheck) set FileToCheck = $(SrcDir)$(IANSESrcNC) LibraryProcedure AnsEFilePresent,$(!LIBHANDLE), CheckFileExistance $(FileToCheck) set FileToCheck = $(SrcDir)$(IANSNSrcNC) LibraryProcedure AnsNFilePresent,$(!LIBHANDLE), CheckFileExistance $(FileToCheck) IfStr(i) $(ProsetOption) == "E100B" set FileToCheck = $(SrcDir)$(ModemEnablerSrcNC) LibraryProcedure ModemEnablerFilePresent, $(!LIBHANDLE), CheckFileExistance $(FileToCheck) Ifstr(i) $(ModemEnablerFilePresent) == "YES" AddSectionFilesToCopyList Files-Option-Drivers-NT4-ModemEnabler-NC $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers Endif Endif set FileToCheck = $(SrcDir)$(PROSetRegSrcNC) LibraryProcedure PROSetRegFilePresent,$(!LIBHANDLE), CheckFileExistance $(FileToCheck) set FileToCheck = $(SrcDir)$(NmsMvftSrcNC) LibraryProcedure MFVTRegFilePresent,$(!LIBHANDLE), CheckFileExistance $(FileToCheck) IfStr(i) $(AnsFilePresent) == "YES" AddSectionFilesToCopyList Files-Option-Drivers-NT4-Ans-NC $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers Endif IfStr(i) $(AnsEFilePresent) == "YES" AddSectionFilesToCopyList Files-Option-Drivers-NT4-AnsE-NC $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers Endif IfStr(i) $(AnsNFilePresent) == "YES" AddSectionFilesToCopyList Files-Option-Drivers-NT4-AnsN-NC $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers Endif IfStr(i) $(PROSetRegFilePresent) == "YES" AddSectionFilesToCopyList Files-Option-Reg-NC $(SrcDir) $(!STF_WINDOWSSYSPATH) Endif IfStr(i) $(MFVTRegFilePresent) == "YES" AddSectionFilesToCopyList Files-Option-MVFT-NC $(SrcDir) $(!STF_WINDOWSSYSPATH) Endif Else set FileToCheck = $(SrcDir)$(IANSSrc) LibraryProcedure AnsFilePresent,$(!LIBHANDLE), CheckFileExistance $(FileToCheck) set FileToCheck = $(SrcDir)$(IANSESrc) LibraryProcedure AnsEFilePresent,$(!LIBHANDLE), CheckFileExistance $(FileToCheck) set FileToCheck = $(SrcDir)$(IANSNSrc) LibraryProcedure AnsNFilePresent,$(!LIBHANDLE), CheckFileExistance $(FileToCheck) IfStr(i) $(ProsetOption) == "E100B" set FileToCheck = $(SrcDir)$(ModemEnablerSrc) LibraryProcedure ModemEnablerFilePresent,$(!LIBHANDLE), CheckFileExistance $(FileToCheck) IfStr(i) $(ModemEnablerFilePresent) == "YES" AddSectionFilesToCopyList Files-Option-Drivers-NT4-ModemEnabler $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers Endif Endif set FileToCheck = $(SrcDir)$(PROSetRegSrc) LibraryProcedure PROSetRegFilePresent,$(!LIBHANDLE), CheckFileExistance $(FileToCheck) set FileToCheck = $(SrcDir)$(NmsMvftSrc) LibraryProcedure MFVTRegFilePresent,$(!LIBHANDLE), CheckFileExistance $(FileToCheck) IfStr(i) $(AnsFilePresent) == "YES" AddSectionFilesToCopyList Files-Option-Drivers-NT4-Ans $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers Endif IfStr(i) $(AnsEFilePresent) == "YES" AddSectionFilesToCopyList Files-Option-Drivers-NT4-AnsE $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers Endif IfStr(i) $(AnsNFilePresent) == "YES" AddSectionFilesToCopyList Files-Option-Drivers-NT4-AnsN $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers Endif IfStr(i) $(PROSetRegFilePresent) == "YES" AddSectionFilesToCopyList Files-Option-Reg $(SrcDir) $(!STF_WINDOWSSYSPATH) Endif IfStr(i) $(MFVTRegFilePresent) == "YES" AddSectionFilesToCopyList Files-Option-MVFT $(SrcDir) $(!STF_WINDOWSSYSPATH) Endif Endif Endif IfStr(i) $(UnCompressedFiles) == "YES" AddSectionFilesToCopyList Files-Option-GigDrivers-NC-NT4 $(SrcDir) + $(!STF_WINDOWSSYSPATH)\drivers Else AddSectionFilesToCopyList Files-Option-GigDrivers-NT4 $(SrcDir) + $(!STF_WINDOWSSYSPATH)\drivers EndIf Set !STF_NCPA_FLUSH_COPYLIST = 1 CopyFilesInCopyList IfStr(i) $(PROSetRegFilePresent) == "YES" RunProgram ExitCode "" "" $(!STF_WINDOWSPATH)\REGEDIT.EXE /S $(!STF_WINDOWSSYSPATH)\$(PROSetReg) AddFileToDeleteList $(!STF_WINDOWSSYSPATH)\$(PROSetReg) EndIf IfStr(i) $(MFVTRegFilePresent) == "YES" RunProgram ExitCode "" "" $(!STF_WINDOWSPATH)\REGEDIT.EXE /S $(NmsMvft) AddFileToDeleteList $(!STF_WINDOWSSYSPATH)\$(NmsMvft) EndIf Exit [Install-Shortcuts] CreateProgManGroup $(IntelNetworkGroup), 1 CreateProgManItem $(IntelNetworkGroup), $(IntelProsetItem), "Control prosetp.cpl" "Prosetp.cpl" 9 ShowProgManGroup $(IntelNetworkGroup), 6 exit [Remove-Shortcuts] ShowProgManGroup $IntelNetworkGroup), 1 RemoveProgManItem $(IntelNetworkGroup), $(IntelProsetItem) RemoveProgManGroup $(IntelNetworkGroup) exit [Files-Option-GigDrivers-NT4] 1, $(NDIS4GigSrc), SIZE=50000, RENAME=$(NDIS4Gig) [Files-Option-Drivers-NT4-ModemEnabler] 1, $(ModemEnablerSrc), SIZE=50000, RENAME=$(ModemEnabler) [Files-Option-Drivers-NT4-Ans] 1, $(IANSSrc), SIZE=100000, RENAME=$(IANS) [Files-Option-Drivers-NT4-AnsE] 1, $(IANSESrc), SIZE=100000, RENAME=$(IANSE) [Files-Option-Drivers-NT4-AnsN] 1, $(IANSNSrc), SIZE=100000, RENAME=$(IANSN) [Files-Option-Inf] 1, OEMSETUP.INF, SIZE=30000, RENAME=$(NewInfName), + OVERWRITE=ALWAYS [Files-Option-Reg] 1, $(PROSetRegSrc), SIZE=50000, RENAME=$(PROSetReg) [Files-Option-MVFT] 1, $(NmsMvftSrc), SIZE=1000, RENAME=$(NmsMvft) [Files-Option-GigDrivers-NC-NT4] 1, $(NDIS4GigSrcNC), SIZE=50000, RENAME=$(NDIS4Gig) [Files-Option-Drivers-NT4-ModemEnabler-NC] 1, $(ModemEnablerSrcNC), SIZE=50000, RENAME=$(ModemEnabler) [Files-Option-Drivers-NT4-Ans-NC] 1, $(IANSSrcNC), SIZE=100000, RENAME=$(IANS) [Files-Option-Drivers-NT4-AnsE-NC] 1, $(IANSESrcNC), SIZE=100000, RENAME=$(IANSE) [Files-Option-Drivers-NT4-AnsN-NC] 1, $(IANSNSrcNC), SIZE=100000, RENAME=$(IANSN) [Files-Option-Reg-NC] 1, $(PROSetRegSrcNC), SIZE=50000, RENAME=$(PROSetReg) [Files-Option-MVFT-NC] 1, $(NmsMvftSrcNC), SIZE=1000, RENAME=$(NmsMvft) ;*********************************************************************** ; Clean system of adapter files. ;*********************************************************************** [Install-Cleanup] AddFileToDeleteList $(!STF_WINDOWSSYSPATH)\drivers\$(NDIS3Gig) AddFileToDeleteList $(!STF_WINDOWSSYSPATH)\drivers\$(NDIS4Gig) AddFileToDeleteList $(!STF_WINDOWSSYSPATH)\drivers\$(IANS) AddFileToDeleteList $(!STF_WINDOWSSYSPATH)\drivers\$(IANSE) AddFileToDeleteList $(!STF_WINDOWSSYSPATH)\drivers\$(IANSN) AddFileToDeleteList $(!STF_WINDOWSSYSPATH)\$(PROSet) AddFileToDeleteList $(!STF_WINDOWSSYSPATH)\$(PROMon) AddFileToDeleteList $(!STF_WINDOWSSYSPATH)\$(PROSetHelp) AddFileToDeleteList $(!STF_WINDOWSSYSPATH)\$(PROSetCnt) AddFileToDeleteList $(!STF_WINDOWSSYSPATH)\$(PROSetReg) AddFileToDeleteList $(!STF_WINDOWSSYSPATH)\$(ROBOEX32) Exit ;*********************************************************************** ; Remove NMS files ;*********************************************************************** [NMS-Cleanup] AddFileToDeleteList $(!STF_WINDOWSSYSPATH)\drivers\$(NMSCfg) AddFileToDeleteList $(!STF_WINDOWSSYSPATH)\drivers\$(NMSDD) AddFileToDeleteList $(!STF_WINDOWSSYSPATH)\$(NMSSvc) AddFileToDeleteList $(!STF_WINDOWSSYSPATH)\$(NMSSvcPS) AddFileToDeleteList $(!STF_WINDOWSSYSPATH)\$(NMSMsg) AddFileToDeleteList $(!STF_WINDOWSSYSPATH)\$(NMSAPI) AddFileToDeleteList $(!STF_WINDOWSSYSPATH)\$(NmsMvft) Exit ;*********************************************************************** ; Remove old PROSet Plus files ;*********************************************************************** [Install-Remove-PROSet-Plus] AddFileToDeleteList $(!STF_WINDOWSSYSPATH)\drivers\$(PROKddp) AddFileToDeleteList $(!STF_WINDOWSSYSPATH)\drivers\$(PROdd) AddFileToDeleteList $(!STF_WINDOWSSYSPATH)\drivers\$(iAFT) AddFileToDeleteList $(!STF_WINDOWSSYSPATH)\drivers\$(iVLAN) AddFileToDeleteList $(!STF_WINDOWSSYSPATH)\$(PROSetOld) ExitDownload 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.