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

1918 lines
76 KiB
INI

;/****************************************************************************
;* oemnxppp.inf : $Revision: 1.10
;* Modified : $Date: Feb 06 1996 16:42:16
;* By : $Author: abordia $, U.S. Robotics Access Corp.
;* Logfile : $Logfile: L:/SRC/INSTALL/STRAWMAN/INFFILE/oemsetup.inv
;*****************************************************************************
;* Copyright (c) $Date: Feb 06 1996 16:42:16 $,
;* U.S. Robotics Access Corp., Microsoft Corp.
;* All Rights Reserved
;*****************************************************************************
;* "OTHER CODE"
;* This software may be used to implement the POINT to POINT TUNNELING
;* PROTOCOL as defined by the PPTP forum. The PPTP forum consists of:
;* U.S. Robotics, Ascend Communications, Microsoft, 3Com/Primary Access,
;* Telematics.
;*****************************************************************************
;*
;* This file is part of the USR Total Control STRAWMAN Installation Program
;*
;* It is the RASPPTP WindowsNT Setup File
;*
;*****************************************************************************
;*
;* Redistribution and use in source and binary forms, with or without
;* modification, are permitted provided that the following conditions
;* are met:
;*
;* 1. Redistributions of source code must retain this entire header
;* including the above copyright notice, this list of conditions and
;* the following disclaimer.
;* 2. Source code access must be limited to employees or contractors of
;* Microsoft Corp.
;* 3. The name of U.S. Robotics may not be used to endorse or promote
;* products derived from this software without specific prior written
;* permission of U.S. Robotics.
;*
;* THIS SOFTWARE IS PROVIDED BY U.S. ROBOTICS ACESS CORP. ``AS IS'' AND
;* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
;* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
;* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL U.S. ROBOTICS BE LIABLE FOR
;* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
;* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
;* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
;* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
;* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
;* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
;* POSSIBILITY OF SUCH DAMAGE.
;*
;*****************************************************************************/
;***********************************************************************
;
;***********************************************************************
[Identification]
OptionType = NetTransport
;***********************************************************************
;RamC, Commented out because PPTP is platform independent and should not
;be using this information. 12/10/96
;***********************************************************************
;[PlatformsSupported]
; ISA
; EISA
; "Jazz-Internal Bus"
;***********************************************************************
;
;***********************************************************************
[Options]
RASPPTP
;***********************************************************************
;
;***********************************************************************
[FileConstants]
InfName = "OEMNXPPP.INF"
UtilityInf = "UTILITY.INF"
ParamInf = "NCPARAM.INF"
subroutineinf = "SUBROUTN.INF"
SoftwareType = "driver"
Exit_Code = 0
NetEventDLL = "%SystemRoot%\System32\netevent.dll"
IoLogMsgDLL = "%SystemRoot%\System32\IoLogMsg.dll"
RASPPTPMsgDLL = "%SystemRoot%\System32\raspptpl.dll;%SystemRoot%\System32\netevent.dll"
Manufacturer = "Microsoft"
ProductMajorVersion = "4"
ProductMinorVersion = "0"
ProductVersion = $(ProductMajorVersion)"."$(ProductMinorVersion)
ProductSoftwareName = "RASPPTPM"
ProductSoftwareImagePath = "\SystemRoot\System32\drivers\RASPPTPM.sys"
NetworkCardKeyName = $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards"
ProductKeyBase = $(!NTN_SoftwareBase)"\"$(Manufacturer)
NetRuleSoftwareType = "RASPPTPSys RASPPTPDriver"
NetRuleSoftwareUse = $(SoftwareType)
NetRuleSoftwareBindForm = """RASPPTPSys"" yes no container"
NetRuleSoftwareClass = {"RASPPTPDriver basic"}
NetRuleSoftwareBindable = {"RASPPTPDriver RASPPTPAdapter non exclusive 100"}
ProductHardwareName = "RASPPTPM"
NetRuleHardwareBindForm = " yes yes container"
NetRuleHardwareRASPPTPType = "RASPPTP RASPPTPAdapter"
NetRuleHardwareRASPPTPClass = {"RASPPTPAdapter basic"}
BindableRASPPTPTxt = {"RASPPTPDriver RASPPTPAdapter non exclusive 100"}
ProductOpSupport = 134 ; 0x0086 ; Display,Removable,Properties,Not Updatable
;values for the placeholder Microsoft\RASPPTP transport
ProductRASPPTPName = "RASPPTP"
ProductRASPPTPSvcType = "transport"
NetRuleRASPPTPClass = "classRaspptpTransport ""basic"""
NetRuleRASPPTPType = "RaspptpTransport classRaspptpTransport"
NetRuleRASPPTPUse = "system"
TapiDevices = "TAPI DEVICES"
TapiDeviceKey = $(ProductHardwareName)
TapiMediaType = "VPN"
ProductKeyName = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"+
$(ProductSoftwareName)"\CurrentVersion"
ParamKeyName = $(!NTN_ServiceBase)"\"$(ProductHardwareName)+
"\Parameters"
ProductRASPPTPKeyName = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"+
"RASPPTP\CurrentVersion"
; default to dialup line mode = 1 -- leased line = 0
; Right now this file only supports dialup mode - leased line changes are needed
LineType = 1
; FIXME - Set to zero before release
DebugFlags = 0
; RASPPTP_SPECFIC_START
;***********************************************************************
; The following constants are specifically for the raspptpe.sys driver
; which is specific to STRAWMAN
;***********************************************************************
[SMANFileConstants]
PPTPProductMajorVersion = "4"
PPTPProductMinorVersion = "0"
PPTPProductVersion = $(PPTPProductMajorVersion)"."$(PPTPProductMinorVersion)
PPTPProductSoftwareName = "RASPPTPE"
PPTPProductSoftwareImagePath = "\SystemRoot\System32\drivers\RASPPTPE.sys"
PPTPNetRuleSoftwareType = "RASPPTPSys RASPPTPDriver"
PPTPNetRuleSoftwareBindForm = """RASPPTPSys"" yes no container"
PPTPNetRuleSoftwareClass = {"RASPPTPDriver basic"}
PPTPNetRuleSoftwareBindable = {"RASPPTPDriver RASPPTPAdapter non exclusive 100"}
PPTPProductHardwareName = "RASPPTPE"
PPTPNetRuleHardwareRASPPTPType = "RASPPTP RASPPTPAdapter"
PPTPNetRuleHardwareRASPPTPClass = {"RASPPTPAdapter basic"}
PPTPBindableRASPPTPTxt = {"RASPPTPDriver RASPPTPAdapter non exclusive 100"}
PPTPProductKeyName = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"+
$(PPTPProductSoftwareName)"\CurrentVersion"
PPTPParamKeyName = $(!NTN_ServiceBase)"\"$(PPTPProductHardwareName)+
"\Parameters"
;RASPPTP_SPECIFIC_END
;***********************************************************************
;
;***********************************************************************
[GeneralConstants]
from = ""
to = ""
ExitCodeOk = 0
ExitCodeCancel = 1
ExitCodeFatal = 2
KeyNull = ""
MAXIMUM_ALLOWED = 33554432
SERVICE_NO_CHANGE = 4294967295
RegistryErrorIndex = NO_ERROR
KeyProduct = ""
KeyParameters = ""
TRUE = 1
FALSE = 0
NoTitle = 0
ExitState = "Active"
OldVersionExisted = $(FALSE)
DriverPath = $(!STF_NTPATH)\drivers
;***********************************************************************
;
;***********************************************************************
[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 SetOptions
EndIf
;
;RamC, Commented out because PPTP is platform independent and should not
;be checking the platfom. 12/10/96
;
; Set PlatformList = ^(PlatformsSupported, 1)
; IfContains(i) $($1) in $(PlatformList)
; GoTo SetOptions
; Else
; Set Status = STATUS_NOTSUPPORTED
; GoTo ExitReturnOptions
; EndIf
Else
Set Status = STATUS_NOLANGUAGE
GoTo ExitReturnOptions
EndIf
SetOptions = +
Set OptionList = ^(Options, 1)
Set OptionTextList = ^(OptionsText$($0), 1)
Set Status = STATUS_SUCCESSFUL
ExitReturnOptions = +
Return $(Status) $(OptionList) $(OptionTextList)
;***********************************************************************
;
;***********************************************************************
[InstallOption]
Set Status = STATUS_FAILED
Set Option = $($1)
Set SrcDir = $($2)
Set RasDir = $($2)
Set AddCopy = $($3)
Set DoCopy = $($4)
Set DoConfig = $($5)
Set LanguageList = ^(LanguagesSupported, 1)
IfContains(i) $($0) NOT-IN $(LanguageList)
Return STATUS_NOLANGUAGE
EndIf
;
; FIXME - make sure this flag is disabled before shipping
;
Set-Subst LF = "\n"
Read-Syms GeneralConstants
Read-Syms FileConstants
Read-Syms DialogConstants$(!STF_LANGUAGE)
;RASPPTP_SPECIFIC_START
Read-Syms SMANFileConstants
;RASPPTP_SPECIFIC_END
IfStr(i) $(!NTN_Origination) == "NCPA"
Set Continue = $(OK)
EndIf
Read-Syms FileConstants$(!STF_LANGUAGE)
Detect Date
Set-Title $(FunctionTitle)$(Option)
;RASPPTP_SPECIFIC_START
Read-Syms SMANFileConstants$(!STF_LANGUAGE)
;RASPPTP_SPECIFIC_END
Set to = Begin
Set from = Begin
Set CommonStatus = STATUS_SUCCESSFUL
EndWait
;***********************************************************************
;
;***********************************************************************
Begin = +
Set ActivateDetection = FALSE
IfStr(i) $(!NTN_InstallMode) == deinstall
Set StartLabel = RemoveAdapter
Else-IfStr(i) $(!NTN_InstallMode) == Update
Set StartLabel = UpgradeSoftware
Else-IfStr(i) $(!NTN_InstallMode) == bind
Set StartLabel = BindingAdapter
Else-IfStr(i) $(!NTN_InstallMode) == configure
Set StartLabel = ConfigureAdapter
Set ActivateDetection = TRUE
Set CommonStatus = STATUS_REBOOT
; Set CommonStatus = STATUS_SUCCESSFUL
IfStr(i) $(ProductKeyName) == $(!NTN_RegBase)
Debug-Output $(InfName)": Cannot configure the EtherWORKS 3 driver software."
Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
IfInt $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output $(InfName)": ShellCode error: cannot get an error string."
GoTo ShellCodeError
EndIf
Set Error = $($R0)
Set from = end
Set to = end
GoTo NonFatalInfo
EndIf
Else
Set StartLabel = InstallAdapter
Set ActivateDetection = TRUE
Set OEM_ABANDON_OPTIONS = {}
Set OEM_ABANDON_SOFTWARE = FALSE
Set OEM_ABANDON_ON = TRUE
;RASPPTP_SPECIFIC_START
Set OEM_ABANDON_PPTP_SOTWARE = FALSE
;RASPPTP_SPECIFIC_END
EndIf
Debug-Output $(InfName)": =================================================="
Debug-Output $(InfName)": STF_CWDIR is: "$(!STF_CWDIR)
Debug-Output $(InfName)": STF_LANGUAGE is: "$(!STF_LANGUAGE)
Debug-Output $(InfName)": Option is: "$(Option)
Debug-Output $(InfName)": !STF_NCDETECT is: "$(!STF_NCDETECT)
Debug-Output $(InfName)": !STF_NCOPTION is: "$(!STF_NCOPTION)
Debug-Output $(InfName)": !STF_NCDETCARD is: "$(!STF_NCDETCARD)
Debug-Output $(InfName)": !STF_NCDETINFO is: "$(!STF_NCDETINFO)
Debug-Output $(InfName)": =================================================="
Set DetectedCard = FALSE
IfStr(i) $(ActivateDetection) != TRUE
GoTo $(StartLabel)
EndIf
Debug-Output $(InfName)": Calling Param_SetDefaults"
Shell $(ParamInf) Param_SetDefaults {}
IfStr(i) $(!STF_NCDETECT) == YES
IfStr(i) $(!STF_NCOPTION) == $(Option)
Set DetectedCard = TRUE
Debug-Output $(InfName)": Setting DetectedCard to TRUE"
EndIf
EndIf
Shell "" DebugConfiguration "After parameter querying"
Set from = FatalError
Set to = FatalError
GoTo $(StartLabel)
;***********************************************************************
;
;***********************************************************************
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 $(InfName)": ShellCode error: cannot get an error string."
GoTo ShellCodeError
EndIf
GoTo end
Else
Shell $(UtilityInf), CardExistedDlg
IfInt $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output $(InfName)": 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
Set CurrParamSettings = {}
IfStr(i) $(DetectedCard) != TRUE
GoTo AdapterSetup
EndIf
StartWait
Shell $(ParamInf) Param_QueryCard $(!STF_NCDETCARD)
EndWait
IfStr(i) $($R0) != STATUS_SUCCESSFUL
GoTo AdapterSetup
EndIf
Set DetectedParams = $($R1)
Debug-Output $(InfName)": Calling Param_SetDefaults to merge detected params"
Shell $(ParamInf) Param_SetDefaults $(DetectedParams)
GoTo AdapterSetup
;***********************************************************************
;
;***********************************************************************
ConfigureAdapter = +
Read-Syms InvokeConfigureDlg$(!STF_LANGUAGE)
LoadLibrary "x" $(!STF_CWDDIR)raspptpc.dll RASPPTPDLGHANDLE
Debug-Output $(InfName)": Getting info from GetChassisConfiguration"
Debug-Output $(InfName)": NTN_InstallMode is "$(!NTN_InstallMode)
LibraryProcedure Result, $(RASPPTPDLGHANDLE), GetChassisConfiguration $(!NTN_InstallMode)
Set NumberOfLineDevices = *($(Result), 1)
Set AdapterNum = *($(Result), 2)
FreeLibrary $(RASPPTPDLGHANDLE)
ifstr(i) $(NumberOfLineDevices) != "EXITSETUP"
ifstr(i) $(NumberOfLineDevices) != "RASNOCHANGE"
Shell "" UpdateAddressList $(NumberOfLineDevices) $(AdapterNum) $(ProductSoftwareName) +
$(TapiMediaType)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "Cannot update address list for RAS"
goto ShellCodeError
endif
endif
Set CommonStatus = STATUS_SUCCESSFUL
; Shell "subroutn.inf" SetupMessage, $(!STF_LANGUAGE), "STATUS", +
; $(InvokeConfigureMsg)
Else
Set CommonStatus = STATUS_USERCANCEL
EndIf
goto end
;***********************************************************************
;
;***********************************************************************
AdapterSetup = +
Shell "" DebugConfiguration "before Param_ParameterConfidence"
Shell $(ParamInf) Param_ParameterConfidence
IfStr(i) $($R0) != STATUS_SUCCESSFUL
Debug-Output $(InfName)": parameter confidence too low to bypass configuration"
Shell "" DebugConfiguration "before AdapterOptions"
GoTo AdapterOptions
EndIf
IfStr(i) $(DetectedCard) == TRUE
IfStr(i) $(!STF_INSTALL_MODE) != CUSTOM
Shell "" DebugConfiguration "before AdapterVerify"
GoTo AdapterVerify
EndIf
EndIf
;***********************************************************************
;
;***********************************************************************
AdapterOptions = +
Shell "" DebugConfiguration "inside AdapterOptions"
Read-Syms FileDependentDlg$(!STF_LANGUAGE)
;***********************************************************************
;
;***********************************************************************
AdapterVerify = +
Shell "" DebugConfiguration "inside AdapterVerify"
Shell "" DebugConfiguration "after running dialog"
IfStr(i) $(DetectedCard) != TRUE
Shell $(ParamInf) Param_SaveValues
Set NewParamSettings = $($R0)
IfStr(i) $(CurrParamSettings) == {}
Set DiffParamSettings = $(NewParamSettings)
Else
Shell $(ParamInf) Param_DiffValues $(CurrParamSettings)
Set DiffParamSettings = $($R0)
EndIf
Debug-Output $(InfName)": Calling Param_VerifyResources"
Shell $(ParamInf) Param_VerifyResources $(DiffParamSettings)
IfStr(i) $($R0) == STATUS_SUCCESSFUL
Debug-Output $(InfName)": Param_VerifyResources succeeded"
GoTo SkipOptions
EndIf
Else
Set CardVerifyIndex = $(!STF_NCDETCARD)
Debug-Output $(InfName)": Calling Param_VerifyCard"
Shell $(ParamInf) Param_VerifyCard $(!STF_NCDETCARD)
IfStr(i) $($R0) == STATUS_SUCCESSFUL
Debug-Output $(InfName)": Param_VerifyCard succeeded"
GoTo SkipOptions
EndIf
EndIf
Set from = AdapterOptions
Set to = SkipOptions
Shell $(UtilityInf),RegistryErrorString,VERIFY_WARNING
IfInt $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output $(InfName)": ShellCode error: cannot get an error string."
GoTo ShellCodeError
EndIf
Set Error = $($R0)
GoTo WarningMsg
;***********************************************************************
;
;***********************************************************************
SkipOptions =+
IfInt $(OldVersionExisted) == $(TRUE)
IfStr(i) $(!NTN_InstallMode) == configure
GoTo WriteParameters
EndIf
EndIf
StartWait
IfInt $(OldVersionExisted) == $(FALSE)
IfStr(i) $(!NTN_InstallMode) == "install"
IfStr(i) $(DoCopy) == "YES"
Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES
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 FatalError
Else-IfStr(i) $($R0) == STATUS_USERCANCEL
GoTo SuccessfulOption
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 FatalError
EndIf
EndIf
; Add the placeholder dummy RASPPTP transport to registry
Shell $(UtilityInf), InstallSoftwareProduct, $(Manufacturer),+
$(ProductRASPPTPName), $(InfName)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "InstallSoftware bombed out."
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
Debug-Output "REGISTRY PROBLEM"
CloseRegKey $($R1)
CloseRegKey $($R2)
goto FatalRegistry
endif
;
; At this point:
; $R1 contains the product version key handle;
; $R2 contains the NetRules subkey handle;
Set SoftProductKey = $($R1)
Set SoftNetRuleKey = $($R2)
; set product key information in the registry
set NewValueList = +
{{Infname ,$(NoTitle),$(!REG_VT_SZ),$(InfName)},+
{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(ProductRASPPTPSvcType)},+
{Title,$(NoTitle),$(!REG_VT_SZ), $(ProductRASPPTPTitle)},+
{Description,$(NoTitle),$(!REG_VT_SZ),$(ProductRASPPTPDescription)},+
{OperationsSupport,$(NoTitle),$(!REG_VT_DWORD),$(ProductOpSupport)},+
{MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)},+
{MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)},+
{InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
Shell $(UtilityInf), AddValueList, $(SoftProductKey), $(NewValueList)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
CloseRegKey $(SoftProductKey)
CloseRegKey $(SoftNetRuleKey)
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
CloseRegKey $(SoftProductKey)
Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
CloseRegKey $(SoftNetRuleKey)
goto FatalRegistry
endif
; set netrules information in the registry
set NewValueList = +
{{class, $(NoTitle), $(!REG_VT_SZ), $(NetRuleRASPPTPClass)},+
{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleRASPPTPType)},+
{use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleRASPPTPUse)}, +
{InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}, +
{Infname ,$(NoTitle),$(!REG_VT_SZ),$(InfName)}}
Shell $(UtilityInf), AddValueList, $(SoftNetRuleKey), $(NewValueList)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
CloseRegKey $(SoftNetRuleKey)
Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
goto FatalRegistry
endif
Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), +
$(ProductSoftwareName), +
$(ProductSoftwareName), +
$(ProductSoftwareTitle), $(STF_CONTEXTINFNAME), +
$(ProductSoftwareImagePath), "kernelautostart", "NDIS", {}, "",+
$(RASPPTPMsgDLL)
Set OEM_ABANDON_SOFTWARE = TRUE
IfInt $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output $(InfName)": ShellCode error"
GoTo ShellCodeError
EndIf
Set RegistryErrorIndex = $($R0)
Set KeyProduct = $($R1)
Set SoftNetRulesKey = $($R2)
CloseRegKey $($R3)
CloseRegKey $($R4)
CloseRegKey $($R5)
IfStr(i) $(RegistryErrorIndex) != NO_ERROR
EndWait
Debug-Output $(InfName)": Registry error: add software components"
CloseRegKey $(KeyProduct)
CloseRegKey $(SoftNetRulesKey)
GoTo FatalRegistry
EndIf
Set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
{MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)},+
{MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(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, $(KeyProduct), $(NewValueList)
IfInt $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output $(InfName)": ShellCode error."
GoTo ShellCodeError
EndIf
Set RegistryErrorIndex = $($R0)
IfStr(i) $(RegistryErrorIndex) != NO_ERROR
EndWait
Debug-Output $(InfName)": Registry error: add value list."
CloseRegKey $(KeyProduct)
CloseRegKey $(SoftNetRulesKey)
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),$(Bindable$(Option)Txt)}, +
{InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
Shell $(UtilityInf), AddValueList, $(SoftNetRulesKey), $(NewValueList)
IfInt $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output $(InfName)": ShellCode error."
GoTo ShellCodeError
EndIf
Set RegistryErrorIndex = $($R0)
CloseRegKey $(KeyProduct)
CloseRegKey $(SoftNetRulesKey)
IfStr(i) $(RegistryErrorIndex) != NO_ERROR
EndWait
Debug-Output $(InfName)": Resgitry error: add value list."
GoTo FatalRegistry
EndIf
Shell "" AddServiceDependency $(ProductSoftwareName) $(PPTPProductSoftwareName)
;RASPPTP_SPECIFIC_START
Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), +
$(PPTPProductSoftwareName), +
$(PPTPProductSoftwareName), +
$(PPTPProductSoftwareTitle), $(STF_CONTEXTINFNAME), +
$(PPTPProductSoftwareImagePath), "kernelauto", "NDIS", {}, "",+
$(RASPPTPMsgDLL)
Set OEM_ABANDON_PPTP_SOFTWARE = TRUE
IfInt $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output $(InfName)": ShellCode error"
GoTo ShellCodeError
EndIf
Set RegistryErrorIndex = $($R0)
Set PPTPKeyProduct = $($R1)
Set PPTPSoftNetRulesKey = $($R2)
CloseRegKey $($R3)
CloseRegKey $($R4)
CloseRegKey $($R5)
IfStr(i) $(RegistryErrorIndex) != NO_ERROR
EndWait
Debug-Output $(InfName)": Registry error: add sman software components"
CloseRegKey $(PPTPKeyProduct)
CloseRegKey $(PPTPSoftNetRulesKey)
GoTo FatalRegistry
EndIf
Set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
{MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(PPTPProductMajorVersion)},+
{MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(PPTPProductMinorVersion)},+
{Title,$(NoTitle),$(!REG_VT_SZ),$(PPTPProductSoftwareTitle)},+
{Description,$(NoTitle),$(!REG_VT_SZ),$(PPTPProductSoftwareDescription)},+
{ServiceName,$(NoTitle),$(!REG_VT_SZ),$(PPTPProductSoftwareName)},+
{InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
Shell $(UtilityInf), AddValueList, $(PPTPKeyProduct), $(NewValueList)
IfInt $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output $(InfName)": ShellCode error."
GoTo ShellCodeError
EndIf
Set RegistryErrorIndex = $($R0)
IfStr(i) $(RegistryErrorIndex) != NO_ERROR
EndWait
Debug-Output $(InfName)": Registry error: add value list."
CloseRegKey $(PPTPKeyProduct)
CloseRegKey $(PPTPSoftNetRulesKey)
GoTo FatalRegistry
EndIf
;RASPPTP_SPECIFIC_END
EndIf
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)
Debug-Output $(InfName)": Cannot add hardware component"
GoTo ShellCodeError
EndIf
Set RegistryErrorIndex = $($R0)
IfStr(i) $(RegistryErrorIndex) != NO_ERROR
EndWait
Debug-Output $(InfName)": Registry error: add hardware component"
CloseRegKey $($R1)
CloseRegKey $($R2)
CloseRegKey $($R3)
GoTo FatalRegistry
EndIf
Set KeyParameters = $($R3)
Set KeyAdapterRules = $($R2)
Set AdapterNumber = $($R4)
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)},+
{Hidden,$(NoTitle),$(!REG_VT_DWORD),1}}
Shell $(UtilityInf), AddValueList, $($R1), $(NewValueList)
IfInt $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output $(InfName)": ShellCode error"
GoTo ShellCodeError
EndIf
CloseRegKey $($R1)
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)}}
Shell $(UtilityInf), AddValueList, $(KeyAdapterRules), $(NewValueList)
IfInt $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output $(InfName)": ShellCode error."
GoTo ShellCodeError
EndIf
Set RegistryErrorIndex = $($R0)
IfStr(i) $(RegistryErrorIndex) != NO_ERROR
EndWait
Debug-Output $(InfName)": Registry error: add value list."
CloseRegKey $(KeyParameters)
CloseRegKey $(KeyAdapterRules)
GoTo FatalRegistry
EndIf
CloseRegKey $(KeyAdapterRules)
; Now, add the NetCard information to the software section.
; we use this information for deleting this netcard on removal of PPTP
OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
IfStr $(KeyProduct) != $(KeyNull)
SetRegValue $(KeyProduct) {NetCard,$(NoTitle),$(!REG_VT_DWORD),$(AdapterNumber)}
CloseRegKey $(KeyProduct)
EndIf
GoTo WriteParameters
;***********************************************************************
;
;***********************************************************************
WriteParameters = +
; Since no simple arithmetic is possible, a little convulated way to create
; the address list from the number of line devices. Also configure the
; NetServer IP Addresses
LoadLibrary "x" $(!STF_CWDDIR)raspptpc.dll RASPPTPDLGHANDLE
Debug-Output $(InfName)": Getting info from GetChassisConfiguration"
Debug-Output "!STF_UNATTENDED is "$(!STF_UNATTENDED)
Debug-Output "!STF_GUI_UNATTENDED is "$(!STF_GUI_UNATTENDED)
Debug-Output "!STF_UNATTENDED_SECTION is "$(!STF_UNATTENDED_SECTION)
; To support Unattended mode of installing pptp (i.e., no UI, but silent install
; unless setup encounters an error) use the following algorithm.
;
; ifstr(i) $(!STF_GUI_UNATTENDED) == YES
; then !STF_UNATTENDED contains the name of the unattended script file
; and !STF_UNATTENDED_SECTION contains the name of the section in the
; script file that we should be reading for pptp parameters.
; else
; this is an attended mode of install
; endif
LibraryProcedure Result, $(RASPPTPDLGHANDLE), GetChassisConfiguration $(!NTN_InstallMode) +
$(!STF_GUI_UNATTENDED) $(!STF_UNATTENDED) $(!STF_UNATTENDED_SECTION)
Debug-Output $(InfName)": Result value is :"$(Result)
Set NumberOfLineDevices = *($(Result), 1)
FreeLibrary $(RASPPTPDLGHANDLE)
ifstr(i) $(NumberOfLineDevices) == "EXITSETUP"
Read-Syms InvokeCancelDlg$(!STF_LANGUAGE)
Debug-Output $(InfName)": GetChassisConfiguration User selected ExitSetup"
Shell "subroutn.inf" SetupMessage, $(!STF_LANGUAGE), "STATUS", $(InvokeCancelMsg)
GoTo SetFailed
endif
Debug-Output $(InfName)": Number Of Line Devices are :"$(NumberOfLineDevices)
Shell "" CreateFullTapiAddrList $(AdapterNumber)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "Cannot create the TAPI address list"
goto ShellCodeError
endif
Set FullTapiAddrList = $($R0)
Set TapiAddressList = {}
ForListDo $(FullTapiAddrList)
Set CurListItem = $($)
Set CurListNumber = $(#)
IfInt $(CurListNumber) <= $(NumberOfLineDevices)
Set TapiAddressList = >($(TapiAddressList), $(CurListItem))
Endif
EndForListDo
Debug-Output $(InfName)": Modified Tapi Address List is :"$(TapiAddressList)
Set NewValueList = {+
{AddressList,$(NoTitle),$(!REG_VT_MULTI_SZ),$(TapiAddressList)},+
;{BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNumber)},+
;{BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusType)},+
{DeviceName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+
;{InterruptNumber,$(NoTitle),$(!REG_VT_DWORD),$(InterruptNumber)},+
{LineType,$(NoTitle),$(!REG_VT_DWORD),$(LineType)},+
{MediaType,$(NoTitle),$(!REG_VT_SZ),$(TapiMediaType)},+
;{RamBaseAddress,$(NoTitle),$(!REG_VT_DWORD),$(RamBaseAddress)}+
}
Shell $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList)
CloseRegKey $(KeyParameters)
IfInt $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output $(InfName)": ShellCode error."
GoTo ShellCodeError
EndIf
Set RegistryErrorIndex = $($R0)
IfStr(i) $(RegistryErrorIndex) != NO_ERROR
Debug-Output $(InfName)": Registry error: Add value list"
GoTo FatalRegistry
EndIf
;
; Skip TAPI/RAS setup if already installed.
;
IfStr(i) $(!NTN_InstallMode) == configure
GoTo SuccessfulOption
EndIf
; Set PPTPTcpMaxDataRetransmissions to 9 in services\tcpip\parameters
OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\TcpIp\Parameters" $(MAXIMUM_ALLOWED) TcpKey
IfStr(i) $(TcpKey) != ""
Debug-Output $(InfName)": setting tcpip\parameters\PPTPTcpMaxDataRetransmissions to 9"
SetRegValue $(TcpKey) {PPTPTcpMaxDataRetransmissions,$(NoTitle),$(!REG_VT_DWORD), 9}
CloseRegKey $(TcpKey)
Else
Debug-Output $(InfName)": Registry error: can't open services\tcpip key"
EndIf
;
; Create the SOFTWARE\Microsoft\TAPI DEVICES\RASPPTPM key
;
; This key name should be the same as the miniport driver name without the
; extension - RASPPTPM.SYS
OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft" $(MAXIMUM_ALLOWED) BaseKey
shell "" HtCreateRegKey $(BaseKey) "TAPI DEVICES\RASPPTPM"
IfStr(i) $($R0) != NO_ERROR
Debug-Output $(InfName)": Error creating registry key!"
GoTo FatalRegistry
EndIf
Set TapiDeviceKey = $($R1)
Set NewValueList = {+
{Address,$(NoTitle),$(!REG_VT_MULTI_SZ),$(TapiAddressList)},+
{"Media Type",$(NoTitle),$(!REG_VT_SZ),$(TapiMediaType)}}
Shell $(UtilityInf), AddValueList, $(TapiDeviceKey), $(NewValueList)
IfInt $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output $(InfName)": ShellCode error."
GoTo ShellCodeError
EndIf
Set RegistryErrorIndex = $($R0)
IfStr(i) $(RegistryErrorIndex) != NO_ERROR
Debug-Output $(InfName)": Registry error: Add value list"
GoTo FatalRegistry
EndIf
CloseRegKey $(TapiDeviceKey)
CloseRegKey $(BaseKey)
; if TCP/IP is not installed, then shell to the TCP/IP setup INF file
; to install it only in the attended mode.
;
ifstr(i) $(!STF_INSTALL_MODE) == EXPRESS
GoTo InstallRas
Else
Shell "" InstallTCPIPIfNotInstalled $(SrcDir) $(AddCopy) $(DoCopy) $(DoConfig)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "Cannot install TCP/IP if not already installed"
goto ShellCodeError
endif
ifstr(i) $($R0) != STATUS_SUCCESSFUL
Debug-Output "Error installing TCP/IP"
set Error = "Error installing TCP/IP"
goto FatalError
endif
;
Shell "" DebugGlobalFlags "After TCP/IP"
;
EndIf
InstallRas = +
; install or configure RAS only in attended mode of install
ifstr(i) $(!STF_INSTALL_MODE) == EXPRESS
GoTo SuccessfulOption
Else
;
; if RAS is not installed, then shell ras setup INF file to install RAS
; else invoke RAS to allow user to configure RAS for RASPPTP.
;
Read-Syms InvokeRasDlg$(!STF_LANGUAGE)
Shell "oemnsvra.inf" CheckRasInstalled
IfInt $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output $(InfName)": Error Shelling the RAS INF file oemnsvra.inf"
Shell "subroutn.inf" SetupMessage, $(!STF_LANGUAGE), +
"STATUS", $(InvokeRasError)
IfInt $($ShellCode) != $(!SHELL_CODE_OK)
GoTo ShellCodeError
EndIf
GoTo RASSetup
EndIf
Set RasInstalled = $($R0)
Debug-Output $(InfName)": Is RAS Installed? "$(RasInstalled)
;
; display a message to the user that RAS setup will now be invoked
;
; give the user a choice to say YES or NO to this query.
IfStr(i) $(RasInstalled) == FALSE
read-syms InvokeRasSetupDlg$(!STF_LANGUAGE)
ui start "InvokeRasSetup"
ifstr(i) $(DLGEVENT) == "YES"
goto RASSetup
else-ifstr(i) $(DLGEVENT) == "NO"
GoTo SuccessfulOption
endif
; Shell "subroutn.inf" SetupMessage, $(!STF_LANGUAGE), "STATUS", +
; $(InvokeRasSetupMsg)
; IfInt $($ShellCode) != $(!SHELL_CODE_OK)
; GoTo RASSetup
; EndIf
Else
read-syms InvokeRasConfigDlg$(!STF_LANGUAGE)
ui start "InvokeRasConfig"
ifstr(i) $(DLGEVENT) == "YES"
goto RASSetup
else-ifstr(i) $(DLGEVENT) == "NO"
GoTo SuccessfulOption
endif
; Shell "subroutn.inf" SetupMessage, $(!STF_LANGUAGE), "STATUS", +
; $(InvokeRasConfigMsg)
; IfInt $($ShellCode) != $(!SHELL_CODE_OK)
; GoTo RASSetup
; EndIf
EndIf
EndWait
GoTo RASSetup
Endif
;***********************************************************************
;
;***********************************************************************
RASSetup =+
; force the copy flags to YES to allow RAS setup to copy files
; even if in config mode.
Set AddCopy = YES
Set DoCopy = YES
Set DoConfig = YES
;
; change the global install mode flag to configure if RAS is already installed
;
IfStr(i) $(RasInstalled) == TRUE
Set SaveNTN_InstallMode = $(!NTN_InstallMode)
Set !NTN_InstallMode = configure
EndIf
; if we have already obtained the SrcDir use that instead of
; prompting the user again
Set PREV_SRCDIR = $(!STF_SRCDIR_OVERRIDE)
Set !STF_SRCDIR_OVERRIDE = $(SrcDir)
;
; now invoke RAS setup to do the right thing
;
Shell "oemnsvra.inf" InstallOption $(!STF_LANGUAGE) "RAS" $(SrcDir) $(AddCopy) $(DoCopy) $(DoConfig)
set !STF_SRCDIR_OVERRIDE = $(PREV_SRCDIR)
;
; restore the global instal mode flag if it was changed
;
IfStr(i) $(RasInstalled) == TRUE
Set !NTN_InstallMode = $(SaveNTN_InstallMode)
EndIf
IfInt $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output $(InfName)": Error Shelling the RAS INF file oemnsvra.inf"
Shell "subroutn.inf" SetupMessage, $(!STF_LANGUAGE), "STATUS", +
$(InvokeRasError)
IfInt $($ShellCode) != $(!SHELL_CODE_OK)
GoTo ShellCodeError
EndIf
GoTo SuccessfulOption
EndIf
EndWait
GoTo SuccessfulOption
;***********************************************************************
;
;***********************************************************************
BindingAdapter =+
Set Error = "Binding: Sorry, not yet implemented."
GoTo FatalError
;***********************************************************************
;
;***********************************************************************
RemoveAdapter = +
;RASPPTP_SPECIFIC_START
OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
IfStr $(KeyProduct) != $(KeyNull)
GetRegValue $(KeyProduct),"NetCard", NetCardInfo
Set NetCard = *($(NetCardInfo), 4)
Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
$(ProductSoftwareName), $(NetworkCardKeyName)"\"$(NetCard)
IfInt $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output $(InfName)": ShellCode error"
GoTo ShellCodeError
EndIf
Set RegistryErrorIndex = $($R0)
IfStr(i) $(RegistryErrorIndex) != NO_ERROR
GoTo FatalRegistry
EndIf
EndIf
Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
$(PPTPProductSoftwareName)
IfInt $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output $(InfName)": ShellCode error"
GoTo ShellCodeError
EndIf
Set RegistryErrorIndex = $($R0)
IfStr(i) $(RegistryErrorIndex) != NO_ERROR
GoTo FatalRegistry
EndIf
; Remove the place holder RASPPTP transport entry
OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyBase) +
$(MAXIMUM_ALLOWED) ProductKey
Ifstr $(ProductKey) == $(KeyNull)
Debug-Output "OEMNXPPP.INF: could not open Software product key"
else
DeleteRegTree $(ProductKey) $(ProductRASPPTPName)
CloseRegKey $(ProductKey)
endif
; remove the TAPI DEVICES port information
OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\TAPI DEVICES" $(MAXIMUM_ALLOWED) BaseKey
IfStr $(BaseKey) != $(KeyNull)
DeleteRegTree $(BaseKey) $(ProductSoftwareName)
EndIf
; remove PPTPTcpMaxDataRetransmissions value from services\tcpip\parameters which
; was added when PPTP was installed.
OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\TcpIp\Parameters" $(MAXIMUM_ALLOWED) TcpKey
IfStr(i) $(TcpKey) != ""
Debug-Output $(InfName)": removing tcpip\parameters\PPTPTcpMaxDataRetransmissions value"
DeleteRegValue $(TcpKey) "PPTPTcpMaxDataRetransmissions"
CloseRegKey $(TcpKey)
Else
Debug-Output $(InfName)": Registry error: can't open services\tcpip key"
EndIf
;
; if RAS is installed, then shell ras setup INF file to allow user
; to delete PPTP ports
;
Read-Syms InvokeRasDlg$(!STF_LANGUAGE)
Shell "oemnsvra.inf" CheckRasInstalled
IfInt $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output $(InfName)": Error Shelling the RAS INF file oemnsvra.inf"
Shell "subroutn.inf" SetupMessage, $(!STF_LANGUAGE), +
"STATUS", $(InvokeRasError)
IfInt $($ShellCode) != $(!SHELL_CODE_OK)
GoTo ShellCodeError
EndIf
GoTo RASSetup2
EndIf
Set RasInstalled = $($R0)
Debug-Output $(InfName)": Is RAS Installed? "$(RasInstalled)
;
; display a message to the user that RAS setup will now be invoked
;
IfStr(i) $(RasInstalled) == FALSE
goto end
Else
Shell "subroutn.inf" SetupMessage, $(!STF_LANGUAGE), "STATUS", +
$(InvokeRasConfigMsg2)
IfInt $($ShellCode) != $(!SHELL_CODE_OK)
GoTo RASSetup2
EndIf
EndIf
EndWait
GoTo RASSetup2
;***********************************************************************
;
;***********************************************************************
RASSetup2 =+
Set AddCopy = NO
Set DoCopy = NO
Set DoConfig = NO
;
; change the global install mode flag to configure if RAS is already installed
;
Set SaveNTN_InstallMode = $(!NTN_InstallMode)
Set !NTN_InstallMode = configure
;
; now invoke RAS setup to do the right thing
;
Shell "oemnsvra.inf" InstallOption $(!STF_LANGUAGE) "RAS" $(SrcDir) $(AddCopy) $(DoCopy) $(DoConfig)
;
; restore the global instal mode flag if it was changed
;
Set !NTN_InstallMode = $(SaveNTN_InstallMode)
IfInt $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output $(InfName)": Error Shelling the RAS INF file oemnsvra.inf"
Shell "subroutn.inf" SetupMessage, $(!STF_LANGUAGE), "STATUS", +
$(InvokeRasError)
IfInt $($ShellCode) != $(!SHELL_CODE_OK)
GoTo ShellCodeError
EndIf
GoTo end
EndIf
;RASPPTP_SPECIFIC_END
GoTo end
;***********************************************************************
;
;***********************************************************************
UpgradeSoftware = +
Debug-Output $(InfName)": comes into 1st part of upgrade"
OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
IfStr $(KeyProduct) != $(KeyNull)
GetRegValue $(KeyProduct),"MajorVersion", VersionInfo
Set Version = *($(VersionInfo), 4)
Shell $(UtilityInf), GetInfFileNameFromRegistry, $(KeyProduct)
IfInt $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output $(InfName)": ShellCode error"
GoTo ShellCodeError
EndIf
Set !UG_Filename = $($R0)
IfStr(i) $(!UG_Filename) != ""
Debug-Output $(InfName)": starts to install"
install "Install-Update"
IfStr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
GoTo FatalError
EndIf
EndIf
SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)}
SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)}
IfInt $(Version) != $(ProductVersion)
EndIf
CloseRegKey $(KeyProduct)
Else
GoTo FatalRegistry
EndIf
;RASPPTPE_SPECIFIC_START
Debug-Output $(InfName)": comes into PPTPE part of upgrade"
OpenRegKey $(!REG_H_LOCAL) "" $(PPTPProductKeyName) $(MAXIMUM_ALLOWED) PPTPKeyProduct
IfStr $(PPTPKeyProduct) != $(KeyNull)
SetRegValue $(PPTPKeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(PPTPProductMajorVersion)}
SetRegValue $(PPTPKeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(PPTPProductMinorVersion)}
CloseRegKey $(PPTPKeyProduct)
Else
GoTo FatalRegistry
EndIf
;RASPPTPE_SPECIFIC_END
;RASPPTP_SPECIFIC_START
;
; This is the location that the NCPA cares about
;
Debug-Output $(InfName)": comes into PPTP part of upgrade"
OpenRegKey $(!REG_H_LOCAL) "" $(ProductRASPPTPKeyName) $(MAXIMUM_ALLOWED) PPTPKeyProduct
IfStr $(PPTPKeyProduct) != $(KeyNull)
SetRegValue $(PPTPKeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(PPTPProductMajorVersion)}
SetRegValue $(PPTPKeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(PPTPProductMinorVersion)}
SetRegValue $(PPTPKeyProduct) {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductRASPPTPDescription)}
SetRegValue $(PPTPKeyProduct) {OperationsSupport,$(NoTitle),$(!REG_VT_DWORD),$(ProductOpSupport)}
CloseRegKey $(PPTPKeyProduct)
Else
GoTo FatalRegistry
EndIf
;RASPPTPE_SPECIFIC_END
GoTo end
;***********************************************************************
;
;***********************************************************************
SuccessfulOption = +
GoTo end
;***********************************************************************
;
;***********************************************************************
Abandon = +
ForListDo $(OEM_ABANDON_OPTIONS)
Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
$(ProductSoftwareName), $($)
IfInt $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output $(InfName)": ShellCode error"
GoTo ShellCodeError
EndIf
Set RegistryErrorIndex = $($R0)
IfStr(i) $(RegistryErrorIndex) != NO_ERROR
GoTo FatalRegistry
EndIf
EndForListDo
IfStr(i) $(OEM_ABANDON_SOFTWARE) == TRUE
Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
$(ProductSoftwareName), FALSE
IfInt $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output $(InfName)": ShellCode error"
GoTo ShellCodeError
EndIf
Set RegistryErrorIndex = $($R0)
IfStr(i) $(RegistryErrorIndex) != NO_ERROR
GoTo FatalRegistry
EndIf
EndIf
;RASPPTP_SPECIFIC_START
IfStr(i) $(OEM_ABANDON_PPTP_SOFTWARE) == TRUE
Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
$(PPTPProductSoftwareName), FALSE
IfInt $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output $(InfName)": ShellCode error"
GoTo ShellCodeError
EndIf
Set RegistryErrorIndex = $($R0)
IfStr(i) $(RegistryErrorIndex) != NO_ERROR
GoTo FatalRegistry
EndIf
EndIf
;RASPPTP_SPECIFIC_END
GoTo end
;***********************************************************************
;
;***********************************************************************
WarningMsg = +
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)
EndIf
GoTo end
;***********************************************************************
;
;***********************************************************************
NonFatalInfo = +
Set Severity = STATUS
Set CommonStatus = STATUS_USERCANCEL
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)
EndIf
GoTo end
;***********************************************************************
;
;***********************************************************************
FatalRegistry = +
Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
IfInt $($ShellCode) != $(!SHELL_CODE_OK)
GoTo ShellCodeError
EndIf
Set Error = $($R0)
GoTo FatalError
;***********************************************************************
;
;***********************************************************************
FatalDetect = +
Shell $(UtilityInf),RegistryErrorString,CANNOT_DETECT
IfInt $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output $(InfName)": ShellCode error: cannot get an error string."
GoTo ShellCodeError
EndIf
Set Error = $($R0)
GoTo FatalError
;***********************************************************************
;
;***********************************************************************
FatalError = +
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 = +
Set DlgType = "MessageBox"
Set STF_MB_TITLE = $(ShellCodeErrorTitle)
Set STF_MB_TEXT = $(ShellCodeErrorText)
Set STF_MB_TYPE = 1
Set STF_MB_ICON = 3
Set STF_MB_DEF = 1
UI Start "Error Message"
GoTo SetFailed
;***********************************************************************
;
;***********************************************************************
SetFailed = +
Set CommonStatus = STATUS_FAILED
IfStr(i) $(OEM_ABANDON_ON) == TRUE
Set OEM_ABANDON_ON = FALSE
GoTo Abandon
EndIf
GoTo end
;***********************************************************************
;
;***********************************************************************
end = +
Return $(CommonStatus)
;***********************************************************************
;
;***********************************************************************
[HtCreateRegKey]
Debug-Output $(InfName)": Entering [HtCreateRegKey]"
Set ECR_Result = NO_ERROR
Set ECR_BaseKeyHandle = $($0)
Set ECR_NewPath = $($1)
Set KeyNull = ""
Set MAXIMUM_ALLOWED = 33554432
Debug-Output $(InfName)": HtCreateRegKey - ECR_BaseKeyHandle = "$(ECR_BaseKeyHandle)
Debug-Output $(InfName)": ECR_NewPath = "$(ECR_NewPath)
Debug-Output $(InfName)": MAXIMUM_ALLOWED = "$(MAXIMUM_ALLOWED)
Debug-Output $(InfName)": KeyNull = "$(KeyNull)
OpenRegKey $(ECR_BaseKeyHandle) "" $(ECR_NewPath) $(MAXIMUM_ALLOWED) +
ECR_BaseKey
Debug-Output $(InfName)": ECR_BaseKey = "$(ECR_BaseKey)
Debug-Output $(InfName)": OpenRegKey returned "$($R0)
IfStr $(ECR_BaseKey) == $(KeyNull)
Debug-Output $(InfName)": ECR_BaseKey == KeyNull"
Else
Debug-Output $(InfName)": ECR_BaseKey != KeyNull"
Set ECR_KeyHandle = $(ECR_BaseKey)
GoTo ECR_Return
EndIf
Set ECR_TmpPath = ""
Split-String $(ECR_NewPath) "\" ECR_PList
Debug-Output $(InfName)": ECR_PList = "$(ECR_PList)
ForListDo $(ECR_PList)
IfStr(i) $($) != "\"
IfInt $(#) == 1
Set ECR_TmpPath = $($)
Else
Set ECR_TmpPath = $(ECR_TmpPath)"\"$($)
EndIf
Debug-Output $(InfName)": Determining if "$(ECR_TmpPath)" exists"
OpenRegKey $(ECR_BaseKeyHandle) "" $(ECR_TmpPath) $(MAXIMUM_ALLOWED) ECR_BaseKey
IfStr $(ECR_BaseKey) == $(KeyNull)
Debug-Output $(InfName)": Creating "$(ECR_TmpPath)
CreateRegKey $(ECR_BaseKeyHandle) {$(ECR_TmpPath),0,GenericClass} "" $(MAXIMUM_ALLOWED) "" ECR_KeyHandle
IfStr(i) $(ECR_KeyHandle) == $(KeyNull)
Set ECR_Result = $($R0)
GoTo ECR_Return
EndIf
EndIf
EndIf
EndForListDo
ECR_Return = +
Return $(ECR_Result) $(ECR_KeyHandle)
;***********************************************************************
;
;***********************************************************************
[InstallTCPIPIfNotInstalled]
Debug-Output $(InfName)"InstallTCPIPIfNotInstalled entry "
Debug-Output $(InfName)"!NTN_ServiceBase is "$(!NTN_ServiceBase)
set SrcDir = $($0)
set AddCopy = $($1)
set DoCopy = $($2)
set DoConfig = $($3)
Read-Syms InvokeTCPIPDlg$(!STF_LANGUAGE)
set TcpIpKeyName = $(!NTN_ServiceBase)"\TcpIp"
Set KeyNull = ""
Set status = STATUS_FAILED
Set TcpIpInstalled = FALSE
Set MAXIMUM_ALLOWED = 33554432
set Protocol = "TCPIP"
set KeyService = $(KeyNull)
set DeleteFlag = 0
set DeleteFlagInfo = {}
OpenRegKey $(!REG_H_LOCAL) "" $(TcpIpKeyName) $(MAXIMUM_ALLOWED) KeyService
Ifstr(i) $(KeyService) != $(KeyNull)
GetRegValue $(KeyService),"DeleteFlag", DeleteFlagInfo
set DeleteFlag = *($(DeleteFlagInfo), 4)
ifint $(DeleteFlag) != 1
set TcpIpInstalled = TRUE
endif
CloseRegKey $(KeyService)
endif
Debug-Output $(InfName)"TCP/IP Installed? "$(TcpIpInstalled)
Ifstr(i) $(TcpIpInstalled) == "FALSE"
Debug-Output $(InfName)"Installing TCP/IP"
Shell "subroutn.inf" SetupMessage, $(!STF_LANGUAGE), "STATUS", +
$(InvokeTCPSetupMsg)
set InvokedByRas = FALSE
; set the !STF_SRCDIR_OVERRIDE to SrcDir so that TCP setup can
; use this information rather than ask the user again for
; source directory.
Debug-Output $(InfName)": resetting stf_srcdir_override flag"
Set PREV_SRCDIR = $(!STF_SRCDIR_OVERRIDE)
Set !STF_SRCDIR_OVERRIDE = $(SrcDir)
Shell "oemnxptc.inf" InstallOption $(!STF_LANGUAGE) "TC" $(SrcDir) $(AddCopy) $(DoCopy) $(DoConfig) $(InvokedByRas)
set !STF_SRCDIR_OVERRIDE = $(PREV_SRCDIR)
Ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output $(InfName)"SHELL ERROR! during TCP/IP installation"
Goto InstallTCPEscape
Endif
Set status = $($R0)
Ifstr(i) $(status) != STATUS_SUCCESSFUL
Ifstr(i) $(status) != STATUS_USERCANCEL
Debug-Output $(InfName)"oemnxptc.inf returned "$(status)
Goto InstallTCPEscape
Endif
Endif
Else
set status = STATUS_SUCCESSFUL
Endif
;***********************************************************************
;
;***********************************************************************
InstallTCPEscape = +
set RetStatus = $(status)
return $(RetStatus)
;RASPPTP_SPECIFIC_START
;***********************************************************************
;
;***********************************************************************
[AddUSRMediaGroupToServiceGroupOrder]
Debug-Output $(InfName)": Entering [AddUSRMediaGroupToServiceGroupOrder]"
Set MAXIMUM_ALLOWED = 33554432
Set KeyNull = ""
Read-Syms SMANFileConstants
set GroupOrderName = "SYSTEM\CurrentControlSet\Control\ServiceGroupOrder"
OpenRegKey $(!REG_H_LOCAL) "" $(GroupOrderName) $(MAXIMUM_ALLOWED) KeyGroup
set OldList = {}
Ifstr(i) $(KeyGroup) != $(KeyNull)
GetRegValue $(KeyGroup) "List" TmpList
ifint $(RegLastError) == 0
ForListDo *($(TmpList), 4)
set OldList = >($(OldList), $($))
EndForListDo
endif
Debug-Output "AddUSRMediaGroupToServiceGroupOrder current list "$(OldList)
Ifcontains(i) $(PPTPGroupName) not-in $(OldList)
set NewGroupList = {}
ForListDo $(OldList)
ifstr(i) $($) == "NDIS"
set NewGroupList = >($(NewGroupList), $(PPTPGroupName))
endif
set NewGroupList = >($(NewGroupList), $($))
EndForListDo
Debug-Output "AddUSRMediaGroupToServiceGroupOrder new list "$(NewGroupList)
SetRegValue $(KeyGroup) {List, 0,$(!REG_VT_MULTI_SZ),$(NewGroupList)}
endif
CloseRegKey $(KeyGroup)
else
Debug-Output "AddUSRMediaGroupToServiceGroupOrder error opening ServiceGroupOrder key."
Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "NONFATAL", "ServiceGroupOrder Update Failed"
endif
return
;RASPPTP_SPECIFIC_END
;***********************************************************************
;
;***********************************************************************
[UpdateAddressList]
Debug-Output $(InfName)": Entering [UpdateAddressList]"
Set NumberLineDevices = $($0)
Set AdapNum = $($1)
Set DriverName = $($2)
Set MediaType = $($3)
Set MAXIMUM_ALLOWED = 33554432
Set KeyNull = ""
Debug-Output $(InfName)": number of line devices received value "$(NumberLineDevices)
Debug-Output $(InfName)": adapter number received value "$(AdapNum)
Debug-Output $(InfName)": driver name received value "$(DriverName)
; create the new address list
Shell "" CreateFullTapiAddrList $(AdapNum)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "Cannot create the new TAPI address list"
goto ShellCodeError
endif
Set NewTapiAddrList = $($R0)
Set TapiAddressList = {}
ForListDo $(NewTapiAddrList)
Set CurListItem = $($)
Set CurListNumber = $(#)
IfInt $(CurListNumber) <= $(NumberLineDevices)
Set TapiAddressList = >($(TapiAddressList), $(CurListItem))
Endif
EndForListDo
Debug-Output $(InfName)": Modified new Tapi Address List is :"$(TapiAddressList)
;
; delete the old value under RASPPTP driver and create new one
;
set RASPPTPAddress = "SYSTEM\CurrentControlSet\Services\"$(DriverName)$(AdapNum)"\Parameters"
Debug-Output $(InfName)": RASPPTPAddress is "$(RASPPTPAddress)
OpenRegKey $(!REG_H_LOCAL) "" $(RASPPTPAddress) $(MAXIMUM_ALLOWED) KeyParam
Debug-Output $(InfName)": keyparam value is "$(KeyParam)
Ifstr(i) $(KeyParam) != $(KeyNull)
Debug-Output $(InfName)": entering to set usrwan2 value"
DeleteRegValue $(KeyParam) "AddressList"
SetRegValue $(KeyParam) {AddressList, 0,$(!REG_VT_MULTI_SZ),$(TapiAddressList)}
CloseRegKey $(KeyParam)
EndIf
;
; Create the SOFRWARE\Microsoft\TAPI DEVICES\RASPPTPM key or open it if exists
; and set the new address value
; This key name should be the same as the miniport driver name without the
; extension - RASPPTPM.SYS
;
OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft" $(MAXIMUM_ALLOWED) BaseKey
Shell "" HtCreateRegKey $(BaseKey) "TAPI DEVICES\RASPPTPM"
IfStr(i) $($R0) != NO_ERROR
Debug-Output $(InfName)": Error creating registry key!"
GoTo FatalRegistry
EndIf
Set TapiDeviceKey = $($R1)
DeleteRegValue $(TapiDeviceKey) "Address"
DeleteRegValue $(TapiDeviceKey) "Media Type"
SetRegValue $(TapiDeviceKey) {Address, 0,$(!REG_VT_MULTI_SZ),$(TapiAddressList)}
SetRegValue $(TapiDeviceKey) {"Media Type", 0,$(!REG_VT_SZ),$(MediaType)}
CloseRegKey $(TapiDeviceKey)
CloseRegKey $(BaseKey)
; shell to RAS and invoke it
Read-Syms InvokeRasDlg$(!STF_LANGUAGE)
Shell "subroutn.inf" SetupMessage, $(!STF_LANGUAGE), "STATUS", +
$(InvokeRasConfigMsg)
Set AddCopy = YES
Set DoCopy = YES
Set DoConfig = YES
;
; change the global install mode flag to configure RAS since already installed
;
Set SaveNTN_InstallMode = $(!NTN_InstallMode)
Set !NTN_InstallMode = configure
; now invoke RAS
Shell "oemnsvra.inf" InstallOption $(!STF_LANGUAGE) "RAS" "" $(AddCopy) $(DoCopy) $(DoConfig)
;
; restore the global instal mode flag
;
Set !NTN_InstallMode = $(SaveNTN_InstallMode)
IfInt $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output $(InfName)": Error Shelling the RAS INF file oemnsvra.inf"
Shell "subroutn.inf" SetupMessage, $(!STF_LANGUAGE), "STATUS", +
$(InvokeRasError)
IfInt $($ShellCode) != $(!SHELL_CODE_OK)
GoTo ShellCodeError
EndIf
EndIf
EndWait
return
;***********************************************************************
;
;***********************************************************************
[CreateFullTapiAddrList]
Debug-Output $(InfName)": Entering [TapiAddrList]"
Set AdapterNum = $($0)
Set FullTapiAddrList = {$(AdapterNum)"-1-0", $(AdapterNum)"-2-0", $(AdapterNum)"-3-0", +
$(AdapterNum)"-4-0", $(AdapterNum)"-5-0", $(AdapterNum)"-6-0", +
$(AdapterNum)"-7-0", $(AdapterNum)"-8-0", $(AdapterNum)"-9-0", +
$(AdapterNum)"-10-0", $(AdapterNum)"-11-0", $(AdapterNum)"-12-0", +
$(AdapterNum)"-13-0", $(AdapterNum)"-14-0", $(AdapterNum)"-15-0", +
$(AdapterNum)"-16-0", $(AdapterNum)"-17-0", $(AdapterNum)"-18-0", +
$(AdapterNum)"-19-0", $(AdapterNum)"-20-0", $(AdapterNum)"-21-0", +
$(AdapterNum)"-22-0", $(AdapterNum)"-23-0", $(AdapterNum)"-24-0", +
$(AdapterNum)"-25-0", $(AdapterNum)"-26-0", $(AdapterNum)"-27-0", +
$(AdapterNum)"-28-0", $(AdapterNum)"-29-0", $(AdapterNum)"-30-0", +
$(AdapterNum)"-31-0", $(AdapterNum)"-32-0", $(AdapterNum)"-33-0", +
$(AdapterNum)"-34-0", $(AdapterNum)"-35-0", $(AdapterNum)"-36-0", +
$(AdapterNum)"-37-0", $(AdapterNum)"-38-0", $(AdapterNum)"-39-0", +
$(AdapterNum)"-40-0", $(AdapterNum)"-41-0", $(AdapterNum)"-42-0", +
$(AdapterNum)"-43-0", $(AdapterNum)"-44-0", $(AdapterNum)"-45-0", +
$(AdapterNum)"-46-0", $(AdapterNum)"-47-0", $(AdapterNum)"-48-0", +
$(AdapterNum)"-49-0", $(AdapterNum)"-50-0", $(AdapterNum)"-51-0", +
$(AdapterNum)"-52-0", $(AdapterNum)"-53-0", $(AdapterNum)"-54-0", +
$(AdapterNum)"-55-0", $(AdapterNum)"-56-0", $(AdapterNum)"-57-0", +
$(AdapterNum)"-58-0", $(AdapterNum)"-59-0", $(AdapterNum)"-60-0", +
$(AdapterNum)"-61-0", $(AdapterNum)"-62-0", $(AdapterNum)"-63-0", +
$(AdapterNum)"-64-0", $(AdapterNum)"-65-0", $(AdapterNum)"-66-0", +
$(AdapterNum)"-67-0", $(AdapterNum)"-68-0", $(AdapterNum)"-69-0", +
$(AdapterNum)"-70-0", $(AdapterNum)"-71-0", $(AdapterNum)"-72-0", +
$(AdapterNum)"-73-0", $(AdapterNum)"-74-0", $(AdapterNum)"-75-0", +
$(AdapterNum)"-76-0", $(AdapterNum)"-77-0", $(AdapterNum)"-78-0", +
$(AdapterNum)"-79-0", $(AdapterNum)"-80-0", $(AdapterNum)"-81-0", +
$(AdapterNum)"-82-0", $(AdapterNum)"-83-0", $(AdapterNum)"-84-0", +
$(AdapterNum)"-85-0", $(AdapterNum)"-86-0", $(AdapterNum)"-87-0", +
$(AdapterNum)"-88-0", $(AdapterNum)"-89-0", $(AdapterNum)"-90-0", +
$(AdapterNum)"-91-0", $(AdapterNum)"-92-0", $(AdapterNum)"-93-0", +
$(AdapterNum)"-94-0", $(AdapterNum)"-95-0", $(AdapterNum)"-96-0", +
$(AdapterNum)"-97-0", $(AdapterNum)"-98-0", $(AdapterNum)"-99-0", +
$(AdapterNum)"-100-0", $(AdapterNum)"-101-0", $(AdapterNum)"-102-0", +
$(AdapterNum)"-103-0", $(AdapterNum)"-104-0", $(AdapterNum)"-105-0", +
$(AdapterNum)"-106-0", $(AdapterNum)"-107-0", $(AdapterNum)"-108-0", +
$(AdapterNum)"-109-0", $(AdapterNum)"-110-0", $(AdapterNum)"-111-0", +
$(AdapterNum)"-112-0", $(AdapterNum)"-113-0", $(AdapterNum)"-114-0", $(AdapterNum)"-115-0", +
$(AdapterNum)"-116-0", $(AdapterNum)"-117-0", $(AdapterNum)"-118-0", +
$(AdapterNum)"-119-0", $(AdapterNum)"-120-0", $(AdapterNum)"-121-0", +
$(AdapterNum)"-122-0", $(AdapterNum)"-123-0", $(AdapterNum)"-124-0", +
$(AdapterNum)"-125-0", $(AdapterNum)"-126-0", $(AdapterNum)"-127-0", +
$(AdapterNum)"-128-0", $(AdapterNum)"-129-0", $(AdapterNum)"-130-0", +
$(AdapterNum)"-131-0", $(AdapterNum)"-132-0", $(AdapterNum)"-133-0", +
$(AdapterNum)"-134-0", $(AdapterNum)"-135-0", $(AdapterNum)"-136-0", +
$(AdapterNum)"-137-0", $(AdapterNum)"-138-0", $(AdapterNum)"-139-0", +
$(AdapterNum)"-140-0", $(AdapterNum)"-141-0", $(AdapterNum)"-142-0", +
$(AdapterNum)"-143-0", $(AdapterNum)"-144-0", $(AdapterNum)"-145-0", +
$(AdapterNum)"-146-0", $(AdapterNum)"-147-0", $(AdapterNum)"-148-0", +
$(AdapterNum)"-149-0", $(AdapterNum)"-150-0", $(AdapterNum)"-151-0", +
$(AdapterNum)"-152-0", $(AdapterNum)"-153-0", $(AdapterNum)"-154-0", +
$(AdapterNum)"-155-0", $(AdapterNum)"-156-0", $(AdapterNum)"-157-0", +
$(AdapterNum)"-158-0", $(AdapterNum)"-159-0", $(AdapterNum)"-160-0", +
$(AdapterNum)"-161-0", $(AdapterNum)"-162-0", $(AdapterNum)"-163-0", +
$(AdapterNum)"-164-0", $(AdapterNum)"-165-0", $(AdapterNum)"-166-0", +
$(AdapterNum)"-167-0", $(AdapterNum)"-168-0", $(AdapterNum)"-169-0", +
$(AdapterNum)"-170-0", $(AdapterNum)"-171-0", $(AdapterNum)"-172-0", +
$(AdapterNum)"-173-0", $(AdapterNum)"-174-0", $(AdapterNum)"-175-0", +
$(AdapterNum)"-176-0", $(AdapterNum)"-177-0", $(AdapterNum)"-178-0", +
$(AdapterNum)"-179-0", $(AdapterNum)"-180-0", $(AdapterNum)"-181-0", +
$(AdapterNum)"-182-0", $(AdapterNum)"-183-0", $(AdapterNum)"-184-0", +
$(AdapterNum)"-185-0", $(AdapterNum)"-186-0", $(AdapterNum)"-187-0", +
$(AdapterNum)"-188-0", $(AdapterNum)"-189-0", $(AdapterNum)"-190-0", +
$(AdapterNum)"-191-0", $(AdapterNum)"-192-0", $(AdapterNum)"-193-0", +
$(AdapterNum)"-194-0", $(AdapterNum)"-195-0", $(AdapterNum)"-196-0", +
$(AdapterNum)"-197-0", $(AdapterNum)"-198-0", $(AdapterNum)"-199-0", +
$(AdapterNum)"-200-0", $(AdapterNum)"-201-0", $(AdapterNum)"-202-0", +
$(AdapterNum)"-203-0", $(AdapterNum)"-204-0", $(AdapterNum)"-205-0", +
$(AdapterNum)"-206-0", $(AdapterNum)"-207-0", $(AdapterNum)"-208-0", +
$(AdapterNum)"-209-0", $(AdapterNum)"-210-0", $(AdapterNum)"-211-0", +
$(AdapterNum)"-212-0", $(AdapterNum)"-213-0", $(AdapterNum)"-214-0", $(AdapterNum)"-215-0", +
$(AdapterNum)"-216-0", $(AdapterNum)"-217-0", $(AdapterNum)"-218-0", +
$(AdapterNum)"-219-0", $(AdapterNum)"-220-0", $(AdapterNum)"-221-0", +
$(AdapterNum)"-222-0", $(AdapterNum)"-223-0", $(AdapterNum)"-224-0", +
$(AdapterNum)"-225-0", $(AdapterNum)"-226-0", $(AdapterNum)"-227-0", +
$(AdapterNum)"-228-0", $(AdapterNum)"-229-0", $(AdapterNum)"-230-0", +
$(AdapterNum)"-231-0", $(AdapterNum)"-232-0", $(AdapterNum)"-233-0", +
$(AdapterNum)"-234-0", $(AdapterNum)"-235-0", $(AdapterNum)"-236-0", +
$(AdapterNum)"-237-0", $(AdapterNum)"-238-0", $(AdapterNum)"-239-0", +
$(AdapterNum)"-240-0", $(AdapterNum)"-241-0", $(AdapterNum)"-242-0", +
$(AdapterNum)"-243-0", $(AdapterNum)"-244-0", $(AdapterNum)"-245-0", +
$(AdapterNum)"-246-0", $(AdapterNum)"-247-0", $(AdapterNum)"-248-0", +
$(AdapterNum)"-249-0", $(AdapterNum)"-250-0", $(AdapterNum)"-251-0", +
$(AdapterNum)"-252-0", $(AdapterNum)"-253-0", $(AdapterNum)"-254-0", +
$(AdapterNum)"-255-0", $(AdapterNum)"-256-0"}
return $(FullTapiAddrList)
[AddServiceDependency]
; This routine adds the service dependency
; Input: $($0) is the dependent service
; $($1) is the service $($0) depends on
Debug-Output "AddServiceDependency: entry"
set MAXIMUM_ALLOWED = 33554432
set SERVICE_NO_CHANGE = 4294967295
set Status = STATUS_FAILED
Set KeyNull = ""
set DependentService = $(!NTN_ServiceBase)\$($0)
set DependentName = $($0)
set DependOn = $($1)
set ServiceKey = $(KeyNull)
OpenRegKey $(!REG_H_LOCAL) "" $(DependentService)"\Linkage" $(MAXIMUM_ALLOWED) ServiceKey
ifstr(i) $(ServiceKey) != $(KeyNull)
GetRegValue $(ServiceKey) "OtherDependencies" ServicesList
ifint $(RegLastError) != 0
set ServiceValues = {}
else
set ServiceValues = *($(ServicesList),4)
endif
debug-output "AddServiceDependency: Old OtherDependencies: "$(ServiceValues)
ifstr(i) $(ServiceValues) == {}
Set ServiceValues = {$(DependOn)}
else-ifstr(i) $(ServiceValues) == ""
Set ServiceValues = {$(DependOn)}
else-ifcontains(i) $(DependOn) in $(ServiceValues)
; It is already there!! something is wrong, but it doesn't matter
return STATUS_SUCCESSFUL
else
; Add to the dependcy list
Set ServiceValues = >($(ServiceValues), $(DependOn))
endif
debug-output "AddServiceDependency: New OtherDependencies: "$(ServiceValues)
SetRegValue $(ServiceKey) {OtherDependencies, 0,+
$(!REG_VT_MULTI_SZ), $(ServiceValues)}
CloseRegKey $(ServiceKey)
set Status = STATUS_SUCCESSFUL
else
Debug-Output "AddServiceDependency: error opening service "$(DependentService)"\Linkage"
endif
set KeyService = $(KeyNull)
OpenRegKey $(!REG_H_LOCAL) "" $(DependentService) $(MAXIMUM_ALLOWED) KeyService
ifstr $(KeyService) != $(KeyNull)
set newDependList = {$(DependOn)}
GetRegValue $(KeyService) "DependOnService" ServiceList
ifint $(RegLastError) == 0
Debug-Output "AddServiceDependency: old DependOnService List "*($(ServiceList), 4)
ForListDo *($(ServiceList),4)
ifstr(i) $($) != $(DependOn)
set newDependList = >($(newDependList), $($))
endif
EndForListDo
endif
GetRegValue $(KeyService) "DependOnGroup" GrpList
ifint $(RegLastError) == 0
Debug-Output "AddServiceDependency: old DependOnGroup List "*($(GrpList), 4)
ForListDo *($(GrpList),4)
set grp = "+"$($)
set newDependList = >($(newDependList), $(grp))
EndForListDo
endif
Debug-Output "OEMNSVRA.INF: AddServiceDependency: new Dependency List "$(newDependList)
LibraryProcedure Result, $(!LIBHANDLE), SetupChangeServiceConfig, $(DependentName) $(SERVICE_NO_CHANGE), $(SERVICE_NO_CHANGE), $(SERVICE_NO_CHANGE), "", "", $(newDependList), "", "", ""
CloseRegKey $(KeyService)
else
Debug-Output "AddServiceDependency: failed to open service linkage key"$(DependentService)
endif
Debug-Output "AddServiceDependency: exit"
return $(Status)
;***********************************************************************
;
;***********************************************************************
[DebugConfiguration]
Debug-Output $(!p:InfName)": **CONFIGURATION STATE: "$($0)
Debug-Output $(!p:InfName)": InterruptNumber is "$(!p:InterruptNumber)
Debug-Output $(!p:InfName)": RamBaseAddress is "$(!p:RamBaseAddress)
Return
;***********************************************************************
;
;***********************************************************************
[DebugGlobalFlags]
Debug-Output $(InfName)": **CONFIGURATION STATE: "$($0)
Debug-Output $(InfName)": !STF_SRCDIR_USED value is "$(!STF_SRCDIR_USED)
Debug-Output $(InfName)": !STF_SRCDIR_KEYED value is "$(!STF_SRCDIR_KEYED)
Debug-Output $(InfName)": !STF_SRCDIR_OVERRIDE value is "$(!STF_SRCDIR_OVERRIDE)
Return
;***********************************************************************
;
;***********************************************************************
[Install-Option]
Set STF_VITAL = ""
IfStr(i) $(AddCopy) == "YES"
AddSectionFilesToCopyList Files-RASPPTPDLL $(SrcDir) $(!STF_WINDOWSSYSPATH)
;RASPPTP_SPECIFIC_START
AddSectionFilesToCopyList Files-RASPPTPDRV $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
;RASPPTP_SPECIFIC_END
EndIf
IfStr(i) $(DoCopy) == "YES"
Set !STF_NCPA_FLUSH_COPYLIST = TRUE
CopyFilesInCopyList
Else
LibraryProcedure STATUS, $(!NCPA_HANDLE), CopySingleFile $(!STF_HWND) $(SrcDir)\RASPPTPC.DLL $(!STF_WINDOWSSYSPATH)\RASPPTPC.DLL
EndIf
Exit
;***********************************************************************
;
;***********************************************************************
[Install-Update]
Set STF_VITAL = ""
Set STF_OVERWRITE = "VERIFYSOURCEOLDER"
AddSectionFilesToCopyList Files-RASPPTPDLL $(SrcDir) $(!STF_WINDOWSSYSPATH)
;RASPPTP_SPECIFIC_START
AddSectionFilesToCopyList Files-RASPPTPDRV $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
;RASPPTP_SPECIFIC_END
Set !STF_NCPA_FLUSH_COPYLIST = TRUE
CopyFilesInCopyList
Exit