;*********************************************************************** ; ; OEMSETUP.INF ; ; Novell NetWare Client base installation INF ; ; ;*********************************************************************** ; ; The following is the version info for Novell ; ;VeRsIoN=v4.83 Novell Client Install for Windows NT ;CoPyRiGhT=copyright 1992-2002, by Novell, INC. All rights reserved. ;----------------------------------------------------------------------- ; OPTION TYPE ; ----------- ; This identifies the Option type we are dealing with. The different ; possible types are: ; ; COMPUTER, DISPLAY, MOUSE, KEYBOARD, LAYOUT, SCSI, PRINTER, ... ; ; Types specific to networking: ; ; NetAdapter, a netcard / adapter combination or just a netcard ; NetDriver, just a netcard driver ; NetTransport, a complete NDIS-compliant TDI transport stack ; NetService, an NT networking service ; NetWork, a complete network ensemble. ; NetProvider a complete network which supports NT MPR protocol ;----------------------------------------------------------------------- [Identification] OptionType = NetProvider ;----------------------------------------------------------------------- ; OPTION LIST ; ----------- ; This section lists the OEM Option key names. These keys are locale ; independent and used to represent the option in a locale independent ; manner. ; ;----------------------------------------------------------------------- [Options] NWFS NDPS NTTSA WM NALNTSRV ZISWin WUA ;----------------------------------------------------------------------- ; LANGUAGES SUPPORTED ; ------------------- ; ; The languages supported by the OEM INF, For every language supported ; we need to have a separate text section for every displayable text ; section. ; ;----------------------------------------------------------------------- [LanguagesSupported] ENG, ENGLISH [OptionNWFS] INF = "OEMNPRNW.INF" INSTALL = YES OPTIONAL = NO CONFIGDLL = WIZCFG.DLL [OptionNDPS] INF = "OEMNSVNP.INF" INSTALL = NO OPTIONAL = YES [OptionNTTSA] INF = "OEMNSVTS.INF" INSTALL = NO OPTIONAL = YES [OptionWM] INF = "OEMNSVWM.INF" INSTALL = NO OPTIONAL = YES CONFIGDLL = WIZCFG.DLL [OptionNALNTSRV] INF = "OEMNSVNS.INF" INSTALL = NO OPTIONAL = YES [OptionWUA] INF = "OEMNSVWA.INF" INSTALL = NO OPTIONAL = YES [OptionZISWin] INF = "OEMNSVIS.INF" INSTALL = NO OPTIONAL = YES [InitBaseVars] KeyNull = "" MAXIMUM_ALLOWED = 33554432 KeyInfo = {} RegistryErrorIndex = NO_ERROR NoTitle = 0 CurrentControlSet = "SYSTEM\CurrentControlSet" ServicesBaseName = $(CurrentControlSet)"\Services" ;*********************************************************************** ; CONSTANTS FOR USING DIALOGS ;*********************************************************************** [FileConstants] UtilityInf = "UTILITY.INF" subroutineinf = "SUBROUTN.INF" NwSubsInf = "NWSUBS.INF" NwSetupDll = "nwlangid.dll" NwOemSetupInf = "oemnprnw.inf" SoftwareType = "service" Exit_Code = 0 [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) [date] ; ; Now is a list which contains { Sec from 1-1-1970, Year, Month, Day, Hour, ; Minute, Second } ; Now = {} ? $(!LIBHANDLE) GetSystemDate [DetectSystemMemory] SystemMemory = "" ? $(!LIBHANDLE) GetMemorySize [ProcessorDetect] !STF_PROCESSOR = "" ? $(!LIBHANDLE) GetProcessor ;--------------------------------------------------------------------------- ; 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] Set !G:DebugOutputControl = 0 Debug-Output "OEMSETUP.INF: ************************** Identify ***********************" set NTLanguage = $(!STF_LANGUAGE) Debug-Output "OEMSETUP.INF: Identify, NTLanguage = "$(NTLanguage) Debug-Output "OEMSETUP.INF: Identify, Current Directory = "$(!STF_CWDDIR) Debug-Output "OEMSETUP.INF: Identify, Source Directory = "$(!STF_SRCDIR) Debug-Output "OEMSETUP.INF: Identify, OemSetupFilePath = "$(!P:OemSetupFilePath) Debug-Output "OEMSETUP.INF: Identify, OptDisketteSrc = "$(!P:OptDisketteSrc) set SourceDir = $(!P:OptDisketteSrc) set !NW_SourceDir = $(SourceDir) detect ProcessorDetect ifstr(i) $(!STF_PROCESSOR) == "I386" set !STF_PLATFORM = "I386" else-ifstr(i) $(!STF_PROCESSOR) == "I486" set !STF_PLATFORM = "I386" else-ifstr(i) $(!STF_PROCESSOR) == "I586" set !STF_PLATFORM = "I386" else-ifstr(i) $(!STF_PROCESSOR) == "R4000" set !STF_PLATFORM = "Mips" else set !STF_PLATFORM = "Alpha" endif StartWait read-syms Identification read-syms FileConstants ; ; Check if we are already installed, if so fail this request ; OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\NetWareWorkStation" $(MAXIMUM_ALLOWED) KeyProduct ifint $(RegLastError) == $(!REG_ERROR_SUCCESS) ; ; Same version already existed in the local machine ; Popup the dialog and ask the user whether he wants to continue ; CloseRegKey $(KeyProduct) set CommonStatus = STATUS_FAILED goto end endif Ifstr(i) $(SourceDir) == "" Debug-Output "OEMSETUP.INF: SourceDir is blank, not first time install" set Status = STATUS_FAILED set Identifier = {} set Media = {} goto identify_exit Endif set Status = STATUS_SUCCESSFUL set Identifier = $(OptionType) LibraryProcedure STATUS, $(!LIBHANDLE), AppendBackSlash $(SourceDir) Ifstr(i) $(STATUS) != "ERROR" set SourceDir = $(STATUS) Endif ; ; Get the language name ; Shell "" GetLanguageName $(SourceDir) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif set LanguageName = $($R0) set LangOemsetupInf = $(SourceDir)"NLS\"$(LanguageName)"\"$(NwOemSetupInf) FlushInf $(LangOemsetupInf) ; ; Get the Media Descriptions from the language specific oemsetup ; shell $(LangOemsetupInf) Identify ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif Set Status = $($R0) Set Identifier = $($R1) Set Media = $($R2) identify_exit = + Debug-Output "Status = "$(Status) Debug-Output "Identifier = "$(Identifier) Debug-Output "Media = "$(Media) goto end ShellCodeError = + set DlgType = "MessageBox" set STF_MB_TITLE = "Error: "$(FunctionTitle) set STF_MB_TEXT = "Shell Code Error "$(TWM_ShellErrorTitle) set STF_MB_TYPE = 1 set STF_MB_ICON = 3 set STF_MB_DEF = 1 ui start "Error Message" set CommonStatus = STATUS_FAILED goto end end = + 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 ; $($R1): Option List ; $($R2): Option Text List ;------------------------------------------------------------------------ [ReturnOptions] Set !G:DebugOutputControl = 0 Debug-Output "OEMSETUP.INF: ****************************** ReturnOptions ************************" set NTLanguage = $($0) Debug-Output "OEMSETUP.INF: ReturnOptions, NTLanguage = "$(NTLanguage) Debug-Output "OEMSETUP.INF: ReturnOptions, OemSetupFilePath = "$(!P:OemSetupFilePath) Debug-Output "OEMSETUP.INF: ReturnOptions, OptDisketteSrc = "$(!P:OptDisketteSrc) StartWait read-syms FileConstants detect ProcessorDetect ifstr(i) $(!STF_PROCESSOR) == "I386" set !STF_PLATFORM = "I386" else-ifstr(i) $(!STF_PROCESSOR) == "I486" set !STF_PLATFORM = "I386" else-ifstr(i) $(!STF_PROCESSOR) == "I586" set !STF_PLATFORM = "I386" else-ifstr(i) $(!STF_PROCESSOR) == "R4000" set !STF_PLATFORM = "Mips" else set !STF_PLATFORM = "Alpha" endif StartWait Ifstr(i) $(!NW_SourceDir) == "" set !NW_SourceDir = $(!STF_SRCDIR) Debug-Output "OEMSETUP.INF: NW_SourceDir set to "$(!NW_SourceDir) Endif set SourceDir = $(!NW_SourceDir) set Status = STATUS_FAILED set OptionList = {} set OptionTextList = {} LibraryProcedure STATUS, $(!LIBHANDLE), AppendBackSlash $(SourceDir) Ifstr(i) $(STATUS) != "ERROR" set SourceDir = $(STATUS) Endif ; ; Get the language name ; Shell "" GetLanguageName $(SourceDir) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif set LanguageName = $($R0) ForListDo ^(Options, 1) read-syms Option$($) set LangOemsetupInf = $(SourceDir)"NLS\"$(LanguageName)"\"$(INF) ; ; Get the option text from the language specific oemsetup ; Shell $(LangOemsetupInf) ReturnOptions $(NTLanguage) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif set Status = $($R0) ForListDo $($R1) set OptionList = >($(OptionList), $($)) EndForListDo ForListDo $($R2) set OptionTextList = >($(OptionTextList), $($)) EndForListDo EndForListDo Debug-Output "Status = "$(Status) Debug-Output "OptionList = "$(OptionList) Debug-Output "OptionTextList = "$(OptionTextList) EndWait goto end ShellCodeError = + set DlgType = "MessageBox" set STF_MB_TITLE = "Error: "$(FunctionTitle) set STF_MB_TEXT = "Shell Code Error "$(TWM_ShellErrorTitle) set STF_MB_TYPE = 1 set STF_MB_ICON = 3 set STF_MB_DEF = 1 ui start "Error Message" set CommonStatus = STATUS_FAILED goto end end = + Return $(Status) $(OptionList) $(OptionTextList) ;----------InstallOption------------------------------------------------- ; ; 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 !G:DebugOutputControl = 0 Debug-Output "OEMSETUP.INF: ******************* InstallOption *******************" StartWait read-syms FileConstants ; ; extract parameters ; set NTLanguage = $($0) set Option = $($1) set SrcDir = $($2) set AddCopy = $($3) set DoCopy = $($4) set DoConfig = $($5) set SourceDir = $($2) detect ProcessorDetect ifstr(i) $(!STF_PROCESSOR) == "I386" set !STF_PLATFORM = "I386" else-ifstr(i) $(!STF_PROCESSOR) == "I486" set !STF_PLATFORM = "I386" else-ifstr(i) $(!STF_PROCESSOR) == "I586" set !STF_PLATFORM = "I386" else-ifstr(i) $(!STF_PROCESSOR) == "R4000" set !STF_PLATFORM = "Mips" else set !STF_PLATFORM = "Alpha" endif StartWait Debug-Output "InstallOption: SourceDir = "$(SourceDir) LibraryProcedure STATUS, $(!LIBHANDLE), AppendBackSlash $(SourceDir) Ifstr(i) $(STATUS) != "ERROR" set SourceDir = $(STATUS) Endif ; ; Get the language name ; Shell "" GetLanguageName $(SourceDir) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif set LanguageName = $($R0) Debug-Output "OEMSETUP.INF: Using "$(LanguageName) read-syms Option$(Option) set LangOemsetupInf = $(SourceDir)"NLS\"$(LanguageName)"\"$(INF) Shell $(LangOemsetupInf) InstallOption $(NTLanguage) $(Option) $(SrcDir) $(AddCopy) $(DoCopy) $(DoConfig) $(LanguageName) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError else set CommonStatus = $($R0) goto end endif ShellCodeError = + set DlgType = "MessageBox" set STF_MB_TITLE = "Error: "$(FunctionTitle) set STF_MB_TEXT = "Shell Code Error "$(TWM_ShellErrorTitle) set STF_MB_TYPE = 1 set STF_MB_ICON = 3 set STF_MB_DEF = 1 ui start "Error Message" set CommonStatus = STATUS_FAILED goto end end = + EndWait Return $(CommonStatus) ;----------GetLanguageName------------------------------------------------- ; ; GetLanguageName: ; ; This section is shelled to by main installation processing ; or by NCPASHEL.INF during reconfig, removal, update, etc. ; ; ; FUNCTION: To get the intalled language name. ; ; INPUT: $($0): Language Install passed in to use (ENG always, broken) ; ; OUTPUT: $($R0): Language Name "ENGLISH", "SPANISH", etc ; ;------------------------------------------------------------------------ [GetLanguageName] set SourceDir = $($0) read-syms FileConstants ; ; Get the language ID for this machine from NT ; LibraryProcedure STATUS, $(!LIBHANDLE), AppendBackSlash $(SourceDir) Ifstr(i) $(STATUS) != "ERROR" set SourceDir = $(STATUS) Endif Ifstr(i) $(SourceDir) == "" set NWSetupPath = $(NwSetupDll) Else set NWSetupPath = $(SourceDir)$(NwSetupDll) Endif LoadLibrary "" $(NWSetupPath) NwLibHandle LibraryProcedure LanguageName $(NwLibHandle) NWGetLanguageName $(SourceDir) "OEMSETUP.INF" FreeLibrary $(NwLibHandle) Return $(LanguageName) ;///////////////////////////////////////////////////////////////////////////// ;///////////////////////////////////////////////////////////////////////////// ;///////////////////////////////////////////////////////////////////////////// ;///////////////////////////////////////////////////////////////////////////// ;///////////////////////////////////////////////////////////////////////////// ;///////////////////////////////////////////////////////////////////////////// ; ; Functionality to replace that found in NCPASHEL.INF ; ; [StfVariableDetect] STF_PROCESSOR = "" ? $(!LIBHANDLE) GetProcessor STF_PLATFORM = "I386" STF_LANGUAGE = "" ? $(!LIBHANDLE) GetLanguage LanguageList = ^(LanguageID, 1) STF_WINDOWSPATH = "" ? $(!LIBHANDLE) GetWindowsNtDir STF_WINDOWSSYSPATH = "" ? $(!LIBHANDLE) GetWindowsNtSysDir STF_NTPATH = $(!STF_WINDOWSPATH) STF_COMPUTERNAME = "" ? $(!LIBHANDLE) GetMyComputerName STF_BUSTYPE = "" ? $(!LIBHANDLE) GetMyBusType STF_BUSTYPELIST = "" ? $(!LIBHANDLE) GetMyBusTypeList [StfVariableSyms] ProcessorID_I386 = I386 ProcessorID_I486 = I486 ProcessorID_I586 = I586 ProcessorID_R4000 = R4000 ProcessorID_Alpha = Alpha_AXP ProcessorID_PPC601 = PPC601 ProcessorID_PPC603 = PPC603 ProcessorID_PPC604 = PPC604 ProcessorID_PPC620 = PPC620 PlatformID_I386 = I386 PlatformID_Mips = Mips PlatformID_Alpha = Alpha PlatformID_PPC = ppc STF_PRODUCT = WINNT STF_USERNAME = "" STF_INSTALL_MODE = "CUSTOM" STF_UPDGRADE = NO STF_NCDETECT = NO STF_NCOPTION = "" STF_NCDETCARD = 99999 STF_NCDETINFO = {} STF_NC_PARAMS = {} STF_NC_PNAMES = {} STF_SRCDIR_KEYED = "" STF_SRCDIR_USED = "" STF_SRCDIR_OVERRIDE = "" STF_SRCDIR_WINNT = "" STF_TEMPLATE_CRITERR = "CRITERR2" STF_TEMPLATE_NONCRITERR = "NONCRITERR2" STF_INSTALLED_OS = {} ? $(!LIBHANDLE) GetInstalledOSNames FatalErrorIndex = 1 !Exit_Code = 0 [DoAskOemsetupSource] read-syms DoAskUpgradeSrcDlgText$(!STF_LANGUAGE) shell "subroutn.inf" DoAskSourceEx $($0) $(DlgText) Return $($R0) $($R1) $($R2) $($R3) [Shell Commands] set-title "Windows NT Setup" Set !G:DebugOutputControl = 0 LoadLibrary "x" $(!STF_CWDDIR)setupdll.dll !LIBHANDLE Set !NCPA_HANDLE = "" Ifstr(i) $(NTN_InfSection) != OemSoftwareInstall LoadLibrary "y" $(!STF_CWDDIR)ncpa.cpl !NCPA_HANDLE Endif Shell "subroutn.inf" ReadSetupHelpIds SetHelpFile "setupnt.hlp" $(!MinimumID) $(!MaximumID) set-subst LF = "\n" StartWait read-syms StfVariableSyms read-syms StfVariableDetect detect StfVariableDetect Set !STF_NTPATH = $(!STF_WINDOWSSYSPATH) OpenRegKey $(!REG_H_LOCAL) "" "System\CurrentControlSet\Control\ProductOptions" 33554432 KeyProductOption ifstr(i) $(KeyProductOption) != "" GetRegValue $(KeyProductOption) "ProductType" ProductTypeList set TempProductType = *($(ProductTypeList),4) ifstr(i) $(TempProductType) == "winnt" set !STF_PRODUCT = WINNT else-ifstr(i) $(TempProductType) == "lanmannt" set !STF_PRODUCT = LANMANNT else-ifstr(i) $(TempProductType) == "servernt" set !STF_PRODUCT = SERVERNT endif CloseRegKey $(KeyProductOptions) endif Debug-Output "NCPASHEL.INF: STF_SRCDIR is "$(!STF_SRCDIR) Debug-Output "NCPASHEL.INF: NTN_SRCPATH is "$(!NTN_SRCPATH) Ifstr(i) $(!NTN_SRCPATH) != "" Set !STF_ORIGINAL_SRCDIR = $(!STF_SRCDIR) Set !STF_SRCDIR = $(!NTN_SRCPATH) Debug-Output "NCPASHEL.INF: Reset STF_SRCDIR to:"$(!STF_SRCDIR) Endif Ifstr(i) $(!STF_SRCDIR) == "" OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\Windows Nt\CurrentVersion" $(!REG_KEY_READ) KeyNt Ifstr(i) $(KeyNt) != "" GetRegValue $(KeyNt) "SourcePath" SourcePathValue Set !STF_SRCDIR = *($(SourcePathValue),4) Debug-Output "NCPASHEL.INF: SourcePath retrieved is "$(!STF_SRCDIR) CloseRegKey $(KeyNt) Endif Ifstr(i) $(!STF_SRCDIR) == "" Set !STF_SRCDIR = "A:\" Endif EndIf Set SetupInp = 0 Set !NTN_InstallPhase = secondary OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\Setup" $(!REG_KEY_READ) KeySetup Ifstr(i) $(KeySetup) != "" GetRegValue $(KeySetup) "SystemSetupInProgress" SetupInpValue Ifint $(RegLastError) == $(!REG_ERROR_SUCCESS) Set SetupInp = *($(SetupInpValue),4) Debug-Output "NCPASHEL.INF: SetupInp = "$(SetupInp) Endif Ifint $(SetupInp) == 1 Set !NTN_InstallPhase = primary GetRegValue $(KeySetup) "WinntPath" SetupPathValue Ifint $(RegLastError) == $(!REG_ERROR_SUCCESS) Set !STF_SRCDIR_WINNT = *($(SetupPathValue),4) Debug-Output "NCPASHEL.INF: STF_SRCDIR_WINNT = "$(!STF_SRCDIR_WINNT) Endif Endif CloseRegKey $(KeySetup) Endif Debug-Output "NCPASHEL.INF: Setup phase = "$(!NTN_InstallPhase) Ifstr(i) $(NTN_InfSection) == BindingsReview Goto skipdetection Endif Ifstr(i) $(NTN_InstallMode) == install Goto startdetection Endif Ifstr(i) $(NTN_InstallMode) == configure Goto startdetection Endif Goto skipdetection startdetection = + Ifstr(i) $(!NCPA_HANDLE) != "" Debug-Output "NCPASHEL.INF: Enable netcard detection from NCPA.CPL" Shell "NCPARAM.INF" Param_ControlDetection DTSTART Endif skipdetection = + ifstr(i) $(STF_PROCESSOR) == $(ProcessorID_I386) set STF_PLATFORM = $(PlatformID_I386) set SYS = $(ProcessorID_I386) else-ifstr(i) $(STF_PROCESSOR) == $(ProcessorID_I486) set STF_PLATFORM = $(PlatformID_I386) set SYS = $(ProcessorID_I386) else-ifstr(i) $(STF_PROCESSOR) == $(ProcessorID_I586) set STF_PLATFORM = $(PlatformID_I386) set SYS = $(ProcessorID_I386) else-ifstr(i) $(STF_PROCESSOR) == $(ProcessorID_R4000) set STF_PLATFORM = $(PlatformID_Mips) set SYS = $(ProcessorID_R4000) else-ifstr(i) $(STF_PROCESSOR) == $(ProcessorID_Alpha) set STF_PLATFORM = $(PlatformID_Alpha) set SYS = $(ProcessorID_Alpha) else-ifstr(i) $(STF_PROCESSOR) == $(ProcessorID_PPC601) set STF_PLATFORM = $(PlatformID_PPC) set SYS = $(ProcessorID_PPC601) else-ifstr(i) $(STF_PROCESSOR) == $(ProcessorID_PPC603) set STF_PLATFORM = $(PlatformID_PPC) set SYS = $(ProcessorID_PPC603) else-ifstr(i) $(STF_PROCESSOR) == $(ProcessorID_PPC604) set STF_PLATFORM = $(PlatformID_PPC) set SYS = $(ProcessorID_PPC604) else-ifstr(i) $(STF_PROCESSOR) == $(ProcessorID_PPC620) set STF_PLATFORM = $(PlatformID_PPC) set SYS = $(ProcessorID_PPC620) else set STF_PLATFORM = $(PlatformID_I386) set SYS = $(ProcessorID_I386) endif Ifstr(i) $(!STF_LANGUAGE) != "ENG" Debug-Output "NCPASHEL: Language not set to English; resetting" !STF_LANGUAGE = "ENG" Endif read-syms ProgressCopy$(!STF_LANGUAGE) Ifstr(i) $(!NTN_RegBase) == "" set !NTN_RegBase = "" Endif set !NTN_ServiceBase = "SYSTEM\CurrentControlSet\SERVICES" Ifstr(i) $(!NTN_InstallMode) == "" Debug-Output "NCPASHEL:!NTN_InstallMode was not defined!" set !NTN_InstallMode = "configure" Endif Ifstr(i) $(!NTN_SoftwareBase) == "" set !NTN_SoftwareBase = "SOFTWARE" Endif set !NTN_Origination = "ncpa" Ifstr(i) $(!NTN_Infname) == "" goto fatalnoinfname Endif Ifstr(i) $(!NTN_InfSection) == "" Set !NTN_InfSection = "InstallOption" Endif ifstr(i) $(!NTN_InstallMode) == "Update" ; Debug-Output "NCPASHEL.INF: Upgrade mode" ; Shell "" DoAskOemsetupSource $(!STF_SRCDIR) ; Ifstr(i) $($ShellCode) != $(!SHELL_CODE_OK) ; goto shellerror ; Endif ; ifstr(i) $($R0) == STATUS_SUCCESSFUL ; set !STF_SRCDIR = $($R1) ; else-ifstr(i) $($R0) == STATUS_USERCANCEL ; set Exit_Code = 1 ; goto end ; else ; set Exit_Code = 2 ; goto end ; endif Set !NTN_Infname = $(!STF_SRCDIR)oemsetup.inf endif Ifstr(i) $(!NTN_InstallMode) == install set AddCopy = YES set DoCopy = YES set DoConfig = YES Else-ifstr(i) $(!NTN_InstallMode) == "Update" set AddCopy = YES set DoCopy = YES set DoConfig = NO Debug-Output "NCPASHEL.INF: Shell to "$(!NTN_Infname) Shell $(!NTN_Infname) ReturnOptions $(!STF_LANGUAGE) Ifstr(i) $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "OEMSETUP--NCPASHEL.INF: SHELL ERROR: "$($ShellCode) goto shellerror Endif Ifstr(i) $($R0) == "STATUS_SUCCESSFUL" IfContains(i) $(!NTN_InfOption) in $($R1) goto ContinueUpgrade endif endif read-syms IncorrectOemsetupDisk$(!STF_LANGUAGE) shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorText) set Exit_Code = 1 goto end ContinueUpgrade = + Endif ifstr(i) $(!NTN_SRCPATH) != "" Set !STF_SRCDIR_OVERRIDE = $(!STF_SRCDIR) Endif Shell $(!NTN_Infname) $(!NTN_InfSection) + $(!STF_LANGUAGE) $(!NTN_InfOption) + $(!STF_SRCDIR) $(AddCopy) $(DoCopy) $(DoConfig) Ifstr(i) $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "NCPASHEL.INF: SHELL ERROR: "$($ShellCode) goto shellerror Endif Debug-Output "NCPASHEL: INF return: "$($R0) Ifstr(i) $($R0) == STATUS_SUCCESSFUL set Exit_Code = 0 else-ifstr(i) $($R0) == STATUS_USERCANCEL set Exit_Code = 1 else-ifstr(i) $($R0) == STATUS_NO_EFFECT set Exit_Code = 3 else-ifstr(i) $($R0) == STATUS_REBIND set Exit_Code = 4 else-ifstr(i) $($R0) == STATUS_REBOOT set Exit_Code = 5 else set Exit_Code = 2 Endif EndWait goto end shellerror = + read-syms ShellError$(!$ShellCode)$(!STF_LANGUAGE) Debug-Output "NCPASHEL: SHELL ERROR: "$(Error) goto fatal fatalnoinfname = + set FatalErrorIndex = 2 goto fatalmsg fatalmsg = + read-syms FatalError$(FatalErrorIndex)$(!STF_LANGUAGE) Debug-Output "NCPASHEL: FATAL ERROR: "$(Error) goto fatal fatal = + read-syms FatalDlg$(!STF_LANGUAGE) ui start "FatalError" goto end end = + Ifstr(i) $(!LIBHANDLE) != "" LibraryProcedure DontCare, $(!LIBHANDLE), DeleteAllConnections Endif Debug-Output "NCPASHEL: NCPASHEL: returning to NCPA" goto term term = + Debug-Output "NCPASHEL: Bye." exit [Source Media Descriptions] 1 = "Windows NT Workstation CD-ROM" , TAGFILE = cdrom.w [Signature] FileType = MICROSOFT_FILE [GetSignature] read-syms Signature return $(FileType) [ProductType] STF_PRODUCT = Winnt STF_PLATFORM = I386 [Files-Inf] 2, oemsetup.inf, SIZE=1000, RENAME=$(!UG_Filename) [LanguageID] ENG [LanguageTextENG] "English (United States)" [ProgressCopyENG] ProCaption = "Windows NT Networking Setup" ProCancel = "Cancel" ProCancelMsg = "Windows NT is not correctly installed. Are you sure you want "+ "to cancel copying files?" ProCancelCap = "Setup Message" ProText1 = "Copying:" ProText2 = "To:" PlatformID_I386 = I386 PlatformID_Mips = Mips PlatformID_PPC = ppc [FatalDlgENG] STF_MB_TITLE = "Setup Message" DlgType = "MessageBox" STF_MB_TEXT = $(Error) STF_MB_TYPE = 1 STF_MB_ICON = 3 STF_MB_DEF = 1 [FatalError1ENG] Error = "Initialization failed" [FatalError2ENG] Error = "No INF file name given (NTN_Infname)" [FatalError3ENG] Error = "Invocation of INF file "$(!NTN_Infname)" failed" [ShellError1ENG] Error = "INF file "$(!NTN_Infname)" does not exist" [ShellError2ENG] Error = "INF file "$(!NTN_Infname)" does not have a section named "$(!NTN_InfSection) [ShellError3ENG] Error = "INF file "$(!NTN_Infname)", section "$(!NTN_InfSection)" has syntax errors" [DoAskUpgradeSrcDlgTextENG] DlgText = "Please enter the full path for the upgrade/update "+ "OEMSETUP.INF file. Then choose Continue." [IncorrectOemsetupDiskENG] ErrorText = "Update aborted. The OEMSETUP.INF does not support upgrade for the specified component."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.