windows-nt/Source/XPSP1/NT/base/ntsetup/inf/beta/oemnxpst.inf
2020-09-26 16:20:57 +08:00

696 lines
19 KiB
INI
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

;***********************************************************************
;
; STREAMS.INF
;
; STREAMS driver SETUP INF file.
;
; History:
; davidhov 00-Feb-1992 Created
; terryk 27-Feb-1992 Reorganize section location
; added comment
; terryk 03-Mar-1992 Changed to TCPIP setup
; terryk 02-Apr-1992 Code review changed
; davidhov 03-Apr-1992 Enhanced to use new INF section
; structure from SunilP, et al.
; terryk 10-Oct-1992 Change it to streams
;
;
;***********************************************************************
;-----------------------------------------------------------------------
; 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 = NetTransport
;-----------------------------------------------------------------------
; 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]
STREAMS
;***********************************************************************
; CONSTANTS FOR USING DIALOGS
;***********************************************************************
[FileConstants]
;
; Product Info
;
Manufacturer = "Microsoft"
ProductMajorVersion = "4"
ProductMinorVersion = "0"
ProductVersion = $(ProductMajorVersion)"."$(ProductMinorVersion)
;
; EventLog Message File
;
NetEventDLL = "%SystemRoot%\System32\netevent.dll"
IoLogMsgDLL = "%SystemRoot%\System32\IoLogMsg.dll"
;================================================================
; STREAMS: UNIX System/5 Streams Environment
;
;================================================================
;
; STREAMS Software data
;
ProductSTREAMSName = "Streams"
ProductSTREAMSImagePath = "\SystemRoot\System32\drivers\streams.sys"
ProductSTREAMSSvcType = "kernel"
NetRuleSTREAMSType = "streams streamsEnvironment streamsEnvironment"
NetRuleSTREAMSUse = $(SoftwareType)" yes yes"
NetRuleSTREAMSBindForm = """Streams"" yes yes streams"
NetRuleSTREAMSClassList = {"streamsEnvironment basic",+
"streamsStack basic"}
NetRuleSTREAMSBindList = {"streamsEnvironment ndisDriver non non 100",+
"streamsStack streamsEnvironment exclusive non 100"}
ProductOpSupport = 132 ; 0x0084 ; Display,Removable,No Properties,Not Updatable
STREAMS_PATH = "SYSTEM\currentcontrolset\services\streams"
;
; Registry Key Names
;
ProductKeyName = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(Product$(Option)Name)"\CurrentVersion"
LinkageKeyName = $(!NTN_ServiceBase)"\Tcpip\Linkage"
ServiceTCPIPKeyName = $(!NTN_ServiceBase)"\Tcpip"
ServiceKeyName = $(!NTN_ServiceBase)
DosDevices = "SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices"
[GeneralConstants]
;
; File names, etc.
;
UtilityInf = "UTILITY.INF"
subroutineinf = "SUBROUTN.INF"
SoftwareType = "transport"
Exit_Code = 0
;ShellCode = 0
BillboardVisible = 0
;
; Program flow control variables.
;
from = ""
to = ""
;
; Return codes; Exit_Code is set to one of these
;
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
[date]
; Now is a list which contains { Sec from 1-1-1970, Year, Month, Day, Hour,
; Minute, Second }
Now = {} ? $(!LIBHANDLE) GetSystemDate
;---------------------------------------------------------------------------
; 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]
;
;
read-syms Identification
set Status = STATUS_SUCCESSFUL
set Identifier = $(OptionType)
set Media = #("Source Media Descriptions", 1, 1)
Return $(Status) $(Identifier) $(Media)
;------------------------------------------------------------------------
; 2. ReturnOptions:
;
; DESCRIPTION: To return the option list supported by this INF and the
; localised text list representing the options.
;
;
; INPUT: $($0): Language used. ( ENG | FRN | ... )
;
; OUTPUT: $($R0): STATUS: STATUS_SUCCESSFUL |
; STATUS_NOLANGUAGE
; STATUS_FAILED
;
; $($R1): Option List
; $($R2): Option Text List
;------------------------------------------------------------------------
[ReturnOptions]
;
;
set Status = STATUS_FAILED
set OptionList = {}
set OptionTextList = {}
;
; Check if the language requested is supported
;
set LanguageList = ^(LanguagesSupported, 1)
Ifcontains(i) $($0) in $(LanguageList)
goto returnoptions
else
set Status = STATUS_NOLANGUAGE
goto finish_ReturnOptions
endif
;
; form a list of all the options and another of the text representing
;
returnoptions = +
set OptionList = ^(Options, 1)
set OptionTextList = ^(OptionsText$($0), 1)
set Status = STATUS_SUCCESSFUL
finish_ReturnOptions = +
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]
;
; extract parameters
;
set Option = $($1)
set SrcDir = $($2)
set AddCopy = $($3)
set DoCopy = $($4)
set DoConfig = $($5)
;
; Check if the language requested is supported
;
set LanguageList = ^(LanguagesSupported, 1)
Ifcontains(i) $($0) NOT-IN $(LanguageList)
Return STATUS_NOLANGUAGE
endif
; define all the constants
set-subst LF = "\n"
read-syms GeneralConstants
read-syms FileConstants
read-syms DialogConstants$(!STF_LANGUAGE)
ifstr(i) $(!NTN_Origination) == "NCPA"
set Continue = $(OK)
endif
read-syms FileConstants$(!STF_LANGUAGE)
detect date
set-title $(FunctionTitle)
set to = Begin
set from = Begin
;
; Assume all is well.
;
set CommonStatus = STATUS_SUCCESSFUL
EndWait
;
; Set up the operation-mode-based variables and gaily welcome
; the user. If the "install mode" variable is improperly set,
; assume this is a new installation.
;
Begin = +
Ifstr(i) $(!NTN_InstallMode) == deinstall
set StartLabel = removeadapter
set OEM_ABANDON_SOFTWARE = {+
$(ProductSTREAMSName)}
else-Ifstr(i) $(!NTN_InstallMode) == Update
set StartLabel = UpgradeSoftware
else-Ifstr(i) $(!NTN_InstallMode) == configure
Debug-Output "STREAMS.INF: Cannot configure the driver software."
Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "STREAMS.INF: ShellCode error: cannot get an error string."
goto ShellCodeError
endif
set Error = $($R0)
set from = end
set to = end
goto nonfatalinfo
else-Ifstr(i) $(!NTN_InstallMode) == bind
set StartLabel = bindingadapter
else
set StartLabel = installadapter
set OEM_ABANDON_SOFTWARE = {}
set OEM_ABANDON_OPTIONS = {}
endif
set from = $(fatal)
set to = $(fatal)
goto $(StartLabel)
;-----------------------------------------------
; Installation Section
;-----------------------------------------------
installadapter = +
OpenRegKey $(!REG_H_LOCAL) "" $(STREAMS_PATH) $(MAXIMUM_ALLOWED) KeyProduct
Ifstr $(KeyProduct) != $(KeyNull)
;
; Streams already exist. Skip
;
CloseRegKey $(KeyProduct)
set Error = $(StreamsAlreadyInstalled)
set from = end
set to = end
goto nonfatalinfo
endif
set OEM_ABANDON_ON = TRUE
read-syms Billboard1$(!STF_LANGUAGE)
Shell "subroutn.inf" PushBillboard NETSTATUSDLG $(Status)
Set BillboardVisible = 1
;
; By default, set up STREAMS
;
Set DoStreams = FALSE
Ifstr(i) $(Option) == STREAMS
Set DoStreams = TRUE
Else
Debug-Output "STREAMS.INF: Unrecognized option"
Endif
StartWait
Ifstr(i) $(DoStreams) == TRUE
Set ThisOption = STREAMS
Set OEM_ABANDON_SOFTWARE = >($(OEM_ABANDON_SOFTWARE), $(Product$(ThisOption)Name))
Debug-Output "OEMNXPST.INF: installing STREAMS..."
Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer),+
$(Product$(ThisOption)Name),+
$(Product$(ThisOption)Name),+
$(Product$(ThisOption)DisplayName), $(STF_CONTEXTINFNAME),+
$(Product$(ThisOption)ImagePath),+
$(Product$(ThisOption)SvcType), "", {}, "",+
$(NetEventDLL)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "OEMNXPST.INF: ShellCode error"
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
EndWait
Debug-Output "OEMNXPST.INF: Registry error: add software components"
CloseRegKey $($R1)
CloseRegKey $($R2)
CloseRegKey $($R3)
CloseRegKey $($R4)
CloseRegKey $($R5)
goto fatalregistry
endif
;
; At this point:
; $R1 contains the product version key handle;
; $R2 contains the NetRules subkey handle;
; $R3 contains the new Services key handle; and
; $R4 contains the Parameters key
; $R5 contains the Linkage Key
;
Set STREAMSProductKey = $($R1)
Set STREAMSNetRuleKey = $($R2)
Set STREAMSServiceKey = $($R3)
Set STREAMSParameterKey = $($R4)
Set STREAMSLinkageKey = $($R5)
set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
{Title,$(NoTitle),$(!REG_VT_SZ),$(Product$(ThisOption)Title)},+
{Description,$(NoTitle),$(!REG_VT_SZ),$(Product$(ThisOption)Description)},+
{OperationsSupport,$(NoTitle),$(!REG_VT_DWORD),$(ProductOpSupport)},+
{ServiceName,$(NoTitle),$(!REG_VT_SZ),$(Product$(ThisOption)Name)},+
{InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
Shell $(UtilityInf), AddValueList, $(STREAMSProductKey), $(NewValueList)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "OEMNXPST.INF: ShellCode error."
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
EndWait
Debug-Output "OEMNXPST.INF: Registry error: add value list."
CloseRegKey $(STREAMSProductKey)
CloseRegKey $(STREAMSNetRuleKey)
CloseRegKey $(STREAMSServiceKey)
CloseRegKey $(STREAMSParameterKey)
CloseRegKey $(STREAMSLinkageKey)
goto fatalregistry
endif
set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRule$(ThisOption)Type)},+
{use,$(NoTitle),$(!REG_VT_SZ),$(NetRule$(ThisOption)Use)},+
{bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRule$(ThisOption)BindForm)},+
{class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRule$(ThisOption)ClassList)},+
{bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRule$(ThisOption)BindList)},+
{InfOption,$(NoTitle),$(!REG_VT_SZ),$(ThisOption)}}
Shell $(UtilityInf), AddValueList, $(STREAMSNetRuleKey), $(NewValueList)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "OEMNXPST.INF: ShellCode error."
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
CloseRegKey $(STREAMSProductKey)
CloseRegKey $(STREAMSNetRuleKey)
CloseRegKey $(STREAMSServiceKey)
CloseRegKey $(STREAMSParameterKey)
CloseRegKey $(STREAMSLinkageKey)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
EndWait
Debug-Output "OEMNXPST.INF: Registry error: add value list."
goto fatalregistry
endif
Endif
EndWait
Ifint $(BillboardVisible) != 0
Shell "subroutn.inf" PopBillboard
Set BillboardVisible = 0
Endif
goto successful
;-----------------------------------------------
; Configuration Section
;-----------------------------------------------
configureadapter = +
goto end
;-----------------------------------------------
; Binding section
;-----------------------------------------------
bindingadapter =+
goto configureadapter
;-----------------------------------------------
; Removeadapter section
;
;
; Removal errors are ignored, since we want to
; try to remove as much as possible.
;-----------------------------------------------
removeadapter = +
;
; Remove software products
;
ForListDo $(OEM_ABANDON_SOFTWARE)
debug-output "Remove component: "$($)
Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), $($)
ifstr(i) $($R0) == REF_COUNT_NOT_ZERO
set Error = $(RefCountNotZeroMsg)
set CommonStatus = STATUS_NO_EFFECT
set from = end
set to = end
goto nonfatal
endif
EndForListDo
goto end
;-----------------------------------------------
; Upgrade Software section
;-----------------------------------------------
UpgradeSoftware = +
; Upgrade software component
;
OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
Ifstr $(KeyProduct) != $(KeyNull)
install "Install-Update"
ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
goto fatal
endif
; Upgrade the version number
;
SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)}
SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)}
; Upgrade the description and op support
SetRegValue $(KeyProduct) {Description,$(NoTitle),$(!REG_VT_SZ),$(Product$(Option)Description)}
SetRegValue $(KeyProduct) {OperationsSupport,$(NoTitle),$(!REG_VT_DWORD),$(ProductOpSupport)}
;
; do nothing for update
;
CloseRegKey $(KeyProduct)
else
;
; Cannot Open software key, goto ERROR
;
; goto fatalregistry
endif
goto end
;
; End of Upgrade Software
;
;
; Escape hatches
;
successful = +
goto end
;
; info display
;
infomsg =+
read-syms InfoDlg
ui start "Warning"
set CommonStatus = STATUS_USERCANCEL
goto end
;
; warning display
;
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
; Debug-Msg "Error Error Bad DLGEVENT"
goto "end"
endif
;
; non fatal error display
;
nonfatalinfo = +
Set CommonStatus = STATUS_USERCANCEL
Set Severity = STATUS
goto nonfatalmsg
nonfatal = +
Set Severity = NONFATAL
goto nonfatalmsg
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"
endif
;
; Registry is broken
;
fatalregistry = +
Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
set Error = $($R0)
goto fatal
;
; fatal error display
;
fatal = +
ifstr(i) $(Error) == ""
Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
set Error = $($R0)
endif
Ifint $(BillboardVisible) != 0
Shell "subroutn.inf" PopBillboard
Set BillboardVisible = 0
Endif
Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
goto setfailed
;
; Shelling error
;
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 = +
set CommonStatus = STATUS_FAILED
;
; If OEM_ABANDON_ON, we need to clean up the registry
;
ifstr(i) $(OEM_ABANDON_ON) == TRUE
set OEM_ABANDON_ON = FALSE
goto removeadapter
endif
goto end
end = +
goto term
term = +
Return $(CommonStatus)
;***************************************************************
; INSTALL SECTIONS
;***************************************************************
[Install-Option]
; the streams.sys file is copied by ntlanman.inp
Exit
[Install-Update]
set STF_VITAL = ""
set STF_OVERWRITE = "VERIFYSOURCEOLDER"
;set STF_VERSION = "YES"
AddSectionFilesToCopyList Files-STREAMS $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
Exit