home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 2000 March / VPR0003B.ISO / i386 / oemnxptc.srv < prev    next >
INI File  |  1999-10-14  |  78KB  |  1,655 lines

  1. [Identification]
  2.     OptionType = NetTransport
  3. [Options]
  4.     TC
  5. [FileConstants]
  6. Manufacturer    = "Microsoft"
  7. ProductMajorVersion     = "4"
  8. ProductMinorVersion     = "0"
  9. ProductVersion  = $(ProductMajorVersion)"."$(ProductMinorVersion)
  10. NetBTEventDLL   = "%SystemRoot%\System32\netevent.dll"
  11. NetEventDLL     = "%SystemRoot%\System32\netevent.dll"
  12. IoLogMsgDLL     = "%SystemRoot%\System32\IoLogMsg.dll"
  13. Sockmaxlength           = 16
  14. Sockminlength           = 16
  15. ProductDHCPName          = "DHCP"
  16. ProductDHCPImagePath     = "%SystemRoot%\System32\services.exe"
  17. ProductDHCPSvcType       = "autoserviceshare"
  18. ProductNETBTName          = "NetBT"
  19. ProductNETBTImagePath     = "%SystemRoot%\System32\drivers\netbt.sys"
  20. ProductNETBTSvcType       = "kernel"
  21. NetRuleNETBTType          = "netbt netBiosTransport netbtTransport"
  22. NetRuleNETBTClass         = {"netbtTransport netBiosTransport"}
  23. NetRuleNETBTUse           = $(SoftwareType)" none none"
  24. NetRuleNETBTBindForm      = """NetBT"" yes yes simple"
  25. ProductOpSupport     = 134 
  26. ProductLMHOSTSName      = "LmHosts"
  27. ProductLMHOSTSImagePath  = "%SystemRoot%\System32\services.exe"
  28. ProductTCName      = "Tcpip"
  29. ProviderName       = $(ProductTCName)
  30. Winsock20Provider = "%SystemRoot%\System32\rnr20.dll"
  31. Winsock11Provider = "%SystemRoot%\System32\wsock32.dll"
  32. ProductProviderGUID      = "{22059d40-7e9e-11cf-ae5a-00aa00a7112b}"
  33. ProductProviderNameSpaces = 12 
  34. ProductTCImagePath   = "\SystemRoot\System32\drivers\tcpip.sys"
  35. ProductTCWshDllPath  = "%SystemRoot%\System32\wshtcpip.dll"
  36. ProductTCSvcType     = "kernel"
  37. NetRuleTCType        = "tcpip tcpipTransport"
  38. NetRuleTCUse         = $(SoftwareType)" none none"
  39. NetRuleTCBindForm    = """Tcpip"" yes yes container"
  40. NetRuleTCBindable    = {"tcpipService tcpipTransport non exclusive 100","tcpipTransport ndisDriver non non 100"}
  41. NetRuleTCClass       = {"tcpipTransport basic","tcpipService basic yes"}
  42. ProductKeyName  = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(Product$(Option)Name)"\CurrentVersion"
  43. ProductTCKeyName  = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductTCName)"\CurrentVersion"
  44. TCNetRuleKeyName = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\Tcpip\CurrentVersion\NetRules"
  45. NetBTNetRuleKeyName = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\NetBT\CurrentVersion\NetRules"
  46. OldProductKeyName  = $(!NTN_ServiceBase)"\Tcpip\Parameters"
  47. LinkageKeyName  = $(!NTN_ServiceBase)"\Tcpip\Linkage"
  48. ParametersKeyName  = $(!NTN_ServiceBase)"\Tcpip\Parameters"
  49. ServiceTCKeyName = $(!NTN_ServiceBase)"\Tcpip"
  50. ServiceKeyName  = $(!NTN_ServiceBase)
  51. NetBTLinkageKeyName  = $(!NTN_ServiceBase)"\NetBT\Linkage"
  52. AdaptersKeyName  = $(!NTN_ServiceBase)"\NetBT\Adapters"
  53. PerformanceName  = $(!NTN_ServiceBase)"\NetBT\Performance"
  54. NetBTParamKeyName  = $(!NTN_ServiceBase)"\NetBT\Parameters"
  55. DosDevices      = "SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices"
  56. [GeneralConstants]
  57. UtilityInf       = "UTILITY.INF"
  58. subroutineinf    = "SUBROUTN.INF"
  59. IPINFOINF        = "ipinfo.inf"
  60. SoftwareType     = "transport"
  61. Exit_Code        = 0
  62. BillboardVisible = 0
  63. from      = ""
  64. to        = ""
  65. ExitCodeOk     = 0
  66. ExitCodeCancel = 1
  67. ExitCodeFatal  = 2
  68. KeyNull         = ""
  69. MAXIMUM_ALLOWED   = 33554432
  70. SERVICE_NO_CHANGE = 4294967295
  71. RegistryErrorIndex = NO_ERROR
  72. KeyProduct      = ""
  73. KeyParameters   = ""
  74. TRUE            = 1
  75. FALSE           = 0
  76. NoTitle         = 0
  77. ExitState   = "Active"
  78. OldVersionExisted = $(FALSE)
  79. DriverPath      = $(!STF_NTPATH)\drivers
  80. [date]
  81.     Now = {} ? $(!LIBHANDLE) GetSystemDate
  82. [Identify]
  83.     read-syms Identification
  84.     set Status     = STATUS_SUCCESSFUL
  85.     set Identifier = $(OptionType)
  86.     set Media      = #("Source Media Descriptions", 1, 1)
  87.     Return $(Status) $(Identifier) $(Media)
  88. [ReturnOptions]
  89.     set Status        = STATUS_FAILED
  90.     set OptionList     = {}
  91.     set OptionTextList = {}
  92.     set LanguageList = ^(LanguagesSupported, 1)
  93.     Ifcontains(i) $($0) in $(LanguageList)
  94.         goto returnoptions
  95.     else
  96.         set Status = STATUS_NOLANGUAGE
  97.         goto finish_ReturnOptions
  98.     endif
  99. returnoptions = +
  100.     set OptionList     = ^(Options, 1)
  101.     set OptionTextList = ^(OptionsText$($0), 1)
  102.     set Status         = STATUS_SUCCESSFUL
  103. finish_ReturnOptions = +
  104.     Return $(Status) $(OptionList) $(OptionTextList)
  105. [InstallOption]
  106.     set Option   = $($1)
  107.     set SrcDir   = $($2)
  108.     set AddCopy  = $($3)
  109.     set DoCopy   = $($4)
  110.     set DoConfig = $($5)
  111.     set InstallFromRas = $($6)
  112.     set EnableDHCPFlag = $($7)
  113.     set InstallList = $($8)
  114.     ifstr(i) $(EnableDHCPFlag) == ""
  115.         set EnableDHCPFlag = 0
  116.     endif
  117.     ifstr(i) $(InstallList) == ""
  118.         set InstallList = {"1","1","0","0","0","0","0","0"}
  119.     endif
  120.     set LanguageList = ^(LanguagesSupported, 1)
  121.     Ifcontains(i) $($0) NOT-IN $(LanguageList)
  122.         Return STATUS_NOLANGUAGE
  123.     endif
  124.     Debug-Output "OEMNXPTC.INF: STF_CWDIR is: "$(!STF_CWDIR)
  125.     Debug-Output "OEMNXPTC.INF: STF_LANGUAGE is: "$(!STF_LANGUAGE)
  126.     set-subst LF = "\n"
  127.     read-syms GeneralConstants
  128.     read-syms FileConstants
  129.     read-syms DialogConstants$(!STF_LANGUAGE)
  130.     LoadLibrary "x" $(!STF_CWDDIR)\tcpcfg.dll !TCPCFG_HANDLE
  131.     ifstr(i) $(!NTN_Origination) == "NCPA"
  132.         set Continue = $(OK)
  133.     endif
  134.     read-syms FileConstants$(!STF_LANGUAGE)
  135.     detect date
  136.     set-title  $(FunctionTitle)
  137.     set to   = Begin
  138.     set from = Begin
  139.     set CommonStatus = STATUS_SUCCESSFUL
  140.     EndWait
  141. Begin = +
  142.     Ifstr(i) $(!NTN_InstallMode) == deinstall
  143.         set StartLabel = removeadapter
  144.         set OEM_ABANDON_OPTIONS = {+
  145.             $(ProductDHCPName),+
  146.             $(ProductLMHOSTSName)}
  147.         set OEM_ABANDON_SOFTWARE = {+
  148.             $(ProductTCName),+
  149.             $(ProductNETBTName)}
  150.     else-Ifstr(i) $(!NTN_InstallMode) == Update
  151.         set StartLabel = UpgradeSoftware
  152.     else-Ifstr(i) $(!NTN_InstallMode) == configure
  153.         set IPAddressList  = {}
  154.         set SubnetMaskList = {}
  155.         set StartLabel = configureadapter
  156.     else-Ifstr(i) $(!NTN_InstallMode) == bind
  157.         set StartLabel = bindingadapter
  158.     else
  159.         set StartLabel = installadapter
  160.         set OEM_ABANDON_SOFTWARE = {}
  161.         set OEM_ABANDON_OPTIONS = {}
  162.     endif
  163.     set from = $(fatal)
  164.     set to = $(fatal)
  165.     goto $(StartLabel)
  166. installadapter = +
  167.     OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  168.     Debug-Output "OEMNXPTC.INF: Back from opening key for the product"
  169.     Ifstr $(KeyProduct) != $(KeyNull)
  170.         CloseRegKey $(KeyProduct)
  171.         Shell $(UtilityInf), VerExistedDlg, $(Product$(Option)Title),+
  172.             $(ProductVersion)
  173.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  174.             Debug-Output "OEMNXPTC.INF: ShellCode error: cannot get an error string."
  175.             goto ShellCodeError
  176.         endif
  177.         set CommonStatus = STATUS_USERCANCEL
  178.         goto end
  179.     endif
  180.     Shell "" GetFilesSize
  181.     set SizeList = $($R0)
  182.     set OptionFileList = { "oemnsvcu.inf"}
  183.     set TcpOptionList  = { "TCPIPCU"}
  184.     ForListDo $(OptionFileList)
  185.         Shell $($) GetFilesSize
  186.         ifstr(i) $($R0) == ""
  187.             set Size = "0"
  188.         else
  189.             set Size = $($R0)
  190.         endif
  191.         set SizeList = $(SizeList)"@"$(Size)
  192.     EndForListDo
  193.     set ErrorCode = "0"
  194.     set fCancel = 1
  195.     set AllInstalledFlag = "0"
  196.     set InstallList = "1"
  197.     Ifstr(i) $(!STF_GUI_UNATTENDED) == YES
  198.         OpenRegKey $(!REG_H_LOCAL) "" "System\Setup" $(MAXIMUM_ALLOWED) KeySetup
  199.         ifstr(i) $(KeySetup) != "" 
  200.             DeleteRegTree $(KeySetup) "Tcpip"
  201.             CreateRegKey $(KeySetup) {"Tcpip",$(NoTitle),GenericClass} "" $(MAXIMUM_ALLOWED) "" KeyTcpip
  202.             ifstr(i) $(KeyTcpip) != ""
  203.                 SetRegValue $(KeyTcpip) {"GuiUnattended",$(NoTitle),$(!REG_VT_SZ),$(!STF_GUI_UNATTENDED)}
  204.                 SetRegValue $(KeyTcpip) {"Unattended",$(NoTitle),$(!REG_VT_SZ),$(!STF_UNATTENDED)}
  205.                 SetRegValue $(KeyTcpip) {"UnattendedSection",$(NoTitle),$(!REG_VT_SZ),$(!STF_UNATTENDED_SECTION)}
  206.                 CloseRegKey $(KeyTcpip)
  207.             endif
  208.         CloseRegKey $(KeySetup)
  209.         endif
  210.     else-ifstr(i) $(InstallFromRas) == "YES"
  211.     else
  212.         read-syms DHCPDialog
  213.         ui start "Warning"
  214.         ifstr(i) $(DLGEVENT) == "YES"
  215.           set EnableDHCPFlag = "1"    
  216.         else
  217.           set EnableDHCPFlag = "0"    
  218.         endif
  219.     endif
  220.     Ifcontains(i) "1" in $(InstallList)
  221.         ifstr(i) $(!NTN_InstallMode) == "install"
  222.             Ifstr(i) $(DoCopy) == "YES"
  223.                Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES
  224.                Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  225.                    Goto ShellCodeError
  226.                Else-Ifstr(i) $($R0) == STATUS_FAILED
  227.                    Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
  228.                    ifint $($ShellCode) != $(!SHELL_CODE_OK)
  229.                        goto ShellCodeError
  230.                    endif
  231.                    set Error = $($R0)
  232.                    Goto fatal
  233.                Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
  234.                    Goto successful
  235.                Endif
  236.                Set SrcDir = $($R1)
  237.             Endif
  238.         EndIf
  239.     Endif
  240.     Shell "oemnsvcu.inf" "InstallOption" +
  241.                     $(!STF_LANGUAGE) "TCPIPCU" +
  242.                     $(SrcDir) $(AddCopy) $(DoCopy) $(DoConfig)
  243.     ifstr(i) $(!NTN_InstallMode) == "install"
  244.         Debug-Output "OEMNXPTC.INF: installadapter: installing [Install-Option]"
  245.         install "Install-Option"
  246.         ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  247.            Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE"
  248.            ifint $($ShellCode) != $(!SHELL_CODE_OK)
  249.                goto ShellCodeError
  250.            endif
  251.            set Error = $($R0)
  252.            goto fatal
  253.         endif
  254.     endif
  255.     set OEM_ABANDON_ON  = TRUE
  256.     read-syms Billboard1$(!STF_LANGUAGE)
  257.     Shell "subroutn.inf" PushBillboard NETSTATUSDLG $(Status)
  258.     Set BillboardVisible = 1
  259.     set DoTC        = FALSE
  260.     Set DoLMHOSTS   = FALSE
  261.     Set DoNbt       = FALSE
  262.     Set DoAFD       = FALSE
  263.     Set DoDHCP      = FALSE
  264.     Ifstr(i) $(Option) == TC
  265.         set DoTC       = TRUE
  266.         Set DoLMHOSTS  = TRUE
  267.         Set DoNbt      = TRUE
  268.         Set DoAFD      = TRUE
  269.         Set DoDHCP      = TRUE
  270.     Else
  271.         Debug-Output "OEMNXPTC.INF: Unrecognized option"
  272.     Endif
  273.     StartWait
  274.     Ifstr(i) $(DoLMHOSTS) == TRUE
  275.         Debug-Output "OEMNXPTC.INF: Install LmHosts registry"
  276.         Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(ProductLMHOSTSName))
  277.         Shell $(UtilityInf), CreateService, $(ProductLMHOSTSName), +
  278.             $(ProductLMHOSTSDisplayName), $(ProductLMHOSTSImagePath), +
  279.             "autoserviceshare", "", {"+NetworkProvider"}, "LocalSystem",+
  280.             $(NetEventDLL)
  281.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  282.             Debug-Output "OEMNXPTC.INF: ShellCode error"
  283.             goto ShellCodeError
  284.         endif
  285.         set RegistryErrorIndex = $($R0)
  286.         CloseRegKey $($R1)
  287.         CloseRegKey $($R2)
  288.         CloseRegKey $($R3)
  289.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  290.             EndWait
  291.             Debug-Output "OEMNXPTC.INF: Registry error: add software components"
  292.             goto fatalregistry
  293.         endif
  294.     endif
  295.     ifstr(i) $(DoDHCP) == TRUE
  296.         Set ThisOption = DHCP
  297.         Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(Product$(ThisOption)Name))
  298.         Debug-Output "OEMNXPTC.INF: installing DHCP..."
  299.         ifint $(EnableDHCPFlag) == 0
  300.             set ProductDHCPSvcType = serviceshare
  301.         endif
  302.         Shell $(UtilityInf), CreateService, $(Product$(ThisOption)Name),+
  303.             $(Product$(ThisOption)DisplayName),+
  304.             $(Product$(ThisOption)ImagePath),+
  305.             $(Product$(ThisOption)SvcType), "TDI", {"Tcpip","Afd","NetBT"}, "",+
  306.             "%SystemRoot%\System32\dhcpcsvc.dll", 7, "", "", "",+
  307.             "%SystemRoot%\System32\kernel32.dll"
  308.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  309.             Debug-Output "OEMNXPTC.INF: ShellCode error"
  310.             goto ShellCodeError
  311.         endif
  312.         set RegistryErrorIndex = $($R0)
  313.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  314.             EndWait
  315.             Debug-Output "OEMNXPTC.INF: Registry error: Create Service components"
  316.             CloseRegKey $($R1)
  317.             CloseRegKey $($R2)
  318.             CloseRegKey $($R3)
  319.             goto fatalregistry
  320.         endif
  321.         CloseRegKey $($R1)
  322.         Set DhcpParameterKey = $($R2)
  323.         CloseRegKey $($R3)
  324.         CreateRegKey $(DhcpParameterKey) {"Options",$(NoTitle),GenericClass} "" $(MAXIMUM_ALLOWED) "" KeyOptions
  325.         CreateRegKey $(KeyOptions) {"1",$(NoTitle),GenericClass} "" $(MAXIMUM_ALLOWED) "" Key1
  326.         Shell $(UtilityInf) AddValueList, $(Key1),+
  327.             {{"RegLocation", $(NoTitle), $(!REG_VT_SZ), "System\CurrentControlSet\Services\?\Parameters\Tcpip\DhcpSubnetMaskOpt"},+
  328.             {"KeyType", $(NoTitle), $(!REG_VT_DWORD), $(!REG_VT_MULTI_SZ)}}
  329.         CloseRegKey $(Key1)
  330.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  331.             Debug-Output "OEMNXPTC.INF: ShellCode error"
  332.             goto ShellCodeError
  333.         endif
  334.         CreateRegKey $(KeyOptions) {"3",$(NoTitle),GenericClass} "" $(MAXIMUM_ALLOWED) "" Key3
  335.         Shell $(UtilityInf) AddValueList, $(Key3),+
  336.             {{"RegLocation", $(NoTitle), $(!REG_VT_SZ), "System\CurrentControlSet\Services\?\Parameters\Tcpip\DhcpDefaultGateway"},+
  337.             {"KeyType", $(NoTitle), $(!REG_VT_DWORD), $(!REG_VT_MULTI_SZ)}}
  338.         CloseRegKey $(Key3)
  339.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  340.             Debug-Output "OEMNXPTC.INF: ShellCode error"
  341.             goto ShellCodeError
  342.         endif
  343.         CreateRegKey $(KeyOptions) {"6",$(NoTitle),GenericClass} "" $(MAXIMUM_ALLOWED) "" Key6
  344.         Shell $(UtilityInf) AddValueList, $(Key6),+
  345.             {{"RegLocation", $(NoTitle), $(!REG_VT_SZ), "System\CurrentControlSet\Services\Tcpip\Parameters\DhcpNameServer"},+
  346.             {"KeyType", $(NoTitle), $(!REG_VT_DWORD), $(!REG_VT_SZ)}}
  347.         CloseRegKey $(Key6)
  348.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  349.             Debug-Output "OEMNXPTC.INF: ShellCode error"
  350.             goto ShellCodeError
  351.         endif
  352.         CreateRegKey $(KeyOptions) {"15",$(NoTitle),GenericClass} "" $(MAXIMUM_ALLOWED) "" Key15
  353.         Shell $(UtilityInf) AddValueList, $(Key15),+
  354.             {{"RegLocation", $(NoTitle), $(!REG_VT_SZ), "System\CurrentControlSet\Services\Tcpip\Parameters\DhcpDomain"},+
  355.             {"KeyType", $(NoTitle), $(!REG_VT_DWORD), $(!REG_VT_SZ)}}
  356.         CloseRegKey $(Key15)
  357.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  358.             Debug-Output "OEMNXPTC.INF: ShellCode error"
  359.             goto ShellCodeError
  360.         endif
  361.         CreateRegKey $(KeyOptions) {"44",$(NoTitle),GenericClass} "" $(MAXIMUM_ALLOWED) "" Key44
  362.         Shell $(UtilityInf) AddValueList, $(Key44),+
  363.             {{"RegLocation", $(NoTitle), $(!REG_VT_SZ), "System\CurrentControlSet\Services\NetBT\Adapters\?\DhcpNameServer"},+
  364.             {"KeyType", $(NoTitle), $(!REG_VT_DWORD), $(!REG_VT_SZ)}}
  365.         CloseRegKey $(Key44)
  366.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  367.             Debug-Output "OEMNXPTC.INF: ShellCode error"
  368.             goto ShellCodeError
  369.         endif
  370.         CreateRegKey $(KeyOptions) {"46",$(NoTitle),GenericClass} "" $(MAXIMUM_ALLOWED) "" Key46
  371.         Shell $(UtilityInf) AddValueList, $(Key46),+
  372.             {{"RegLocation", $(NoTitle), $(!REG_VT_SZ), "System\CurrentControlSet\Services\NetBT\Parameters\DhcpNodeType"},+
  373.             {"KeyType", $(NoTitle), $(!REG_VT_DWORD), $(!REG_VT_DWORD)}}
  374.         CloseRegKey $(Key46)
  375.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  376.             Debug-Output "OEMNXPTC.INF: ShellCode error"
  377.             goto ShellCodeError
  378.         endif
  379.         CreateRegKey $(KeyOptions) {"47",$(NoTitle),GenericClass} "" $(MAXIMUM_ALLOWED) "" Key47
  380.         Shell $(UtilityInf) AddValueList, $(Key47),+
  381.             {{"RegLocation", $(NoTitle), $(!REG_VT_SZ), "System\CurrentControlSet\Services\NetBT\Parameters\DhcpScopeID"},+
  382.             {"KeyType", $(NoTitle), $(!REG_VT_DWORD), $(!REG_VT_SZ)}}
  383.         CloseRegKey $(Key47)
  384.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  385.             Debug-Output "OEMNXPTC.INF: ShellCode error"
  386.             goto ShellCodeError
  387.         endif
  388.         set RegistryErrorIndex = $($R0)
  389.         CloseRegKey $(KeyOptions)
  390.         CloseRegKey $(DhcpParameterKey)
  391.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  392.             EndWait
  393.             Debug-Output "OEMNXPTC.INF: Registry error: add value list."
  394.             goto fatalregistry
  395.         endif
  396.     endif
  397.     ifstr(i) $(DoTC) == TRUE
  398.         set ThisOption = "TC"
  399.         Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(ProductTCName))
  400.         Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer),+
  401.             $(Product$(ThisOption)Name),+
  402.             $(Product$(ThisOption)Name),+
  403.             $(Product$(ThisOption)DisplayName), $(STF_CONTEXTINFNAME),+
  404.             $(Product$(ThisOption)ImagePath),+
  405.             $(Product$(ThisOption)SvcType),+
  406.             "PNP_TDI", {}, "", $(NetEventDLL)
  407.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  408.             Debug-Output "OEMNXPTC.INF: ShellCode error, add software component"
  409.             goto ShellCodeError
  410.         endif
  411.         set RegistryErrorIndex = $($R0)
  412.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  413.             EndWait
  414.             Debug-Output "OEMNXPTC.INF: Registry error: add software components"
  415.             CloseRegKey $($R1)
  416.             CloseRegKey $($R2)
  417.             CloseRegKey $($R3)
  418.             CloseRegKey $($R4)
  419.             CloseRegKey $($R5)
  420.             goto fatalregistry
  421.         endif
  422.         Set TcpVersKeyHandle  = $($R1)
  423.         Set TcpRulesKeyHandle = $($R2)
  424.         Set TcpSvcKeyHandle   = $($R3)
  425.         Set TcpParmKeyHandle  = $($R4)
  426.         Set TcpLinkageHandle  = $($R5)
  427.         set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
  428.                            {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)},+
  429.                            {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)},+
  430.                            {Title,$(NoTitle),$(!REG_VT_SZ),$(Product$(ThisOption)Title)},+
  431.                            {Description,$(NoTitle),$(!REG_VT_SZ),$(Product$(ThisOption)Description)},+
  432.                            {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(Product$(ThisOption)Name)},+
  433.                            {Review,$(NoTitle),$(!REG_VT_DWORD),1},+
  434.                            {OperationsSupport,$(NoTitle),$(!REG_VT_DWORD),$(ProductOpSupport)}, +
  435.                            {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  436.         Shell  $(UtilityInf), AddValueList, $(TcpVersKeyHandle), $(NewValueList)
  437.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  438.             Debug-Output "OEMNXPTC.INF: ShellCode error, add value list"
  439.             goto ShellCodeError
  440.         endif
  441.         set RegistryErrorIndex = $($R0)
  442.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  443.             EndWait
  444.             Debug-Output "OEMNXPTC.INF: Registry error: add value list."
  445.             CloseRegKey $(TcpVersKeyHandle)
  446.             CloseRegKey $(TcpRulesKeyHandle)
  447.             CloseRegKey $(TcpSvcKeyHandle)
  448.             CloseRegKey $(TcpParmKeyHandle)
  449.             CloseRegkey $(TcpLinkageHandle)
  450.             goto fatalregistry
  451.         Endif
  452.         CreateRegKey $(TcpParmKeyHandle) {"PersistentRoutes",$(NoTitle),GenericClass} "" +
  453.                 $(MAXIMUM_ALLOWED) "" KeyPersistentRoutes
  454.         CloseRegKey $(KeyPersistentRoutes)
  455.         CreateRegKey $(TcpSvcKeyHandle) {"Performance",$(NoTitle),GenericClass} "" +
  456.                 $(MAXIMUM_ALLOWED) "" KeyPerformance
  457.         set NewValueList = {{Library,$(NoTitle),$(!REG_VT_SZ),"Perfctrs.dll"},+
  458.                            {Open,$(NoTitle),$(!REG_VT_SZ),"OpenTcpIpPerformanceData"},+
  459.                            {Collect,$(NoTitle),$(!REG_VT_SZ),"CollectTcpIpPerformanceData"},+
  460.                            {Close,$(NoTitle),$(!REG_VT_SZ),"CloseTcpIpPerformanceData"}}
  461.         Shell  $(UtilityInf), AddValueList, $(KeyPerformance), $(NewValueList)
  462.         set RegistryErrorIndex = $($R0)
  463.         CloseRegKey $(KeyPerformance)
  464.         Ifstr $(RegistryErrorIndex) != NO_ERROR
  465.             EndWait
  466.             Debug-Output "OEMNXPTC.INF: Registry error: add performance info."
  467.             CloseRegKey $(TcpVersKeyHandle)
  468.             CloseRegKey $(TcpRulesKeyHandle)
  469.             CloseRegKey $(TcpSvcKeyHandle)
  470.             CloseRegKey $(TcpParmKeyHandle)
  471.             CloseRegkey $(TcpLinkageHandle)
  472.             goto fatalregistry
  473.         Endif
  474.         CreateRegKey $(TcpSvcKeyHandle) {"ServiceProvider",$(NoTitle),GenericClass} "" +
  475.                 $(MAXIMUM_ALLOWED) "" KeyNetworkProvider
  476.         set NewValueList = {{Class,$(NoTitle),$(!REG_VT_DWORD),8},+
  477.                            {DnsPriority,$(NoTitle),$(!REG_VT_DWORD),2000},+
  478.                            {HostsPriority,$(NoTitle),$(!REG_VT_DWORD),500},+
  479.                            {LocalPriority,$(NoTitle),$(!REG_VT_DWORD),499},+
  480.                            {ProviderPath,$(NoTitle),$(!REG_VT_EXPAND_SZ),$(Winsock11Provider)},+
  481.                            {NetbtPriority,$(NoTitle),$(!REG_VT_DWORD),2001}}
  482.         Shell  $(UtilityInf), AddValueList, $(KeyNetworkProvider), $(NewValueList)
  483.         set RegistryErrorIndex = $($R0)
  484.         CloseRegKey $(KeyNetworkProvider)
  485.         Ifstr $(RegistryErrorIndex) != NO_ERROR
  486.             EndWait
  487.             Debug-Output "OEMNXPTC.INF: Registry error: add performance info."
  488.             CloseRegKey $(TcpVersKeyHandle)
  489.             CloseRegKey $(TcpRulesKeyHandle)
  490.             CloseRegKey $(TcpSvcKeyHandle)
  491.             CloseRegKey $(TcpParmKeyHandle)
  492.             CloseRegkey $(TcpLinkageHandle)
  493.             goto fatalregistry
  494.         Endif
  495.         set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRule$(ThisOption)Type)},+
  496.                             {use,$(NoTitle),$(!REG_VT_SZ),$(NetRule$(ThisOption)Use)},+
  497.                             {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRule$(ThisOption)BindForm)},+
  498.                             {bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRule$(ThisOption)Bindable)},+
  499.                             {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRule$(ThisOption)Class)},+
  500.                             {InfOption,$(NoTitle),$(!REG_VT_SZ),$(ThisOption)}}
  501.         Shell  $(UtilityInf), AddValueList, $(TcpRulesKeyHandle), $(NewValueList)
  502.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  503.             Debug-Output "OEMNXPTC.INF: ShellCode error."
  504.             goto ShellCodeError
  505.         endif
  506.         set RegistryErrorIndex = $($R0)
  507.         CloseRegKey $(TcpVersKeyHandle)
  508.         CloseRegKey $(TcpRulesKeyHandle)
  509.         LibraryProcedure ResultHostname $(!TCPCFG_HANDLE), ConvertHostname $(!STF_COMPUTERNAME)
  510.         set NewValueList = {{EnableDHCP,$(NoTitle),$(!REG_VT_DWORD),$(EnableDHCPFlag)},+
  511.                             {DataBasePath,$(NoTitle),$(!REG_VT_EXPAND_SZ),"%SystemRoot%\System32\drivers\etc"},+
  512.                             {Domain,$(NoTitle),$(!REG_VT_SZ),""},+
  513.                             {Hostname,$(NoTitle),$(!REG_VT_SZ),$(ResultHostname)},+
  514.                             {NameServer,$(NoTitle),$(!REG_VT_SZ),""},+
  515.                             {ForwardBroadcasts,$(NoTitle),$(!REG_VT_DWORD),0},+
  516.                             {IPEnableRouter,$(NoTitle),$(!REG_VT_DWORD),0},+
  517.                             {SearchList,$(NoTitle),$(!REG_VT_SZ),""}}
  518.         Shell  $(UtilityInf), AddValueList, $(TcpParmKeyHandle), $(NewValueList)
  519.         CloseRegKey $(TcpParmKeyHandle)
  520.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  521.             CloseRegKey $(TcpLinkageHandle)
  522.             CloseRegKey $(TcpSvcKeyHandle)
  523.             EndWait
  524.             Debug-Output "OEMNXPTC.INF: Registry error: add value list."
  525.             goto fatalregistry
  526.         endif
  527.         Shell $(UtilityInf) AddRpcProtocol "ncacn_ip_tcp" "RpcLtCcm.Dll" "RpcLtScm.Dll"
  528.         Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  529.             Debug-Output "OEMNXPTC.INF: ShellCode error adding RPC procotol"
  530.             goto ShellCodeError
  531.         Endif
  532.         Set RegistryErrorIndex = $($R0)
  533.         Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
  534.             Debug-Output "OEMNXPTC.INF: ERROR adding RPC protocol data"
  535.             EndWait
  536.             goto fatalregistry
  537.         Endif
  538.         Shell $(UtilityInf) AddRpcProtocol "ncadg_ip_udp" "RpcLtCcm.Dll" "RpcLtScm.Dll"
  539.         Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  540.             Debug-Output "OEMNXPTC.INF: ShellCode error adding RPC procotol"
  541.             goto ShellCodeError
  542.         Endif
  543.         Set RegistryErrorIndex = $($R0)
  544.         Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
  545.             Debug-Output "OEMNXPTC.INF: ERROR adding RPC protocol data"
  546.             EndWait
  547.             goto fatalregistry
  548.         Endif
  549.         Shell $(UtilityInf) AddMixRpcProtocol "Netbios" "tcpip" "ncacn_nb_tcp" "rpcltccm.dll" "RpcLtScm.Dll"
  550.         Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  551.             Debug-Output "OEMNXPTC.INF: ShellCode error adding RPC procotol (2)"
  552.             goto ShellCodeError
  553.         endif
  554.         Set RegistryErrorIndex = $($R0)
  555.         Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
  556.             Debug-Output "OEMNXPTC.INF: ERROR adding RPC protocol data (2)"
  557.             EndWait
  558.             goto fatalregistry
  559.         Endif
  560.         Shell $(UtilityInf), AddWinsockInfo, +
  561.              $(Product$(ThisOption)Name), +
  562.              $(Product$(ThisOption)WshDllPath), +
  563.              $(Sockmaxlength),$(Sockminlength)
  564.         set RegistryErrorIndex = $($R0)
  565.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  566.             Debug-Output "OEMNXPTC.INF: Registry error: Add Winsock Info."
  567.         Endif
  568.     endif
  569.     Ifstr(i) $(DoNbt) == TRUE
  570.         Set ThisOption = NETBT
  571.         Set OEM_ABANDON_SOFTWARE = >($(OEM_ABANDON_SOFTWARE), $(Product$(ThisOption)Name))
  572.         Debug-Output "OEMNXPTC.INF: installing NETBT..."
  573.         Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer),+
  574.             $(Product$(ThisOption)Name),+
  575.             $(Product$(ThisOption)Name),+
  576.             $(Product$(ThisOption)DisplayName), $(STF_CONTEXTINFNAME),+
  577.             $(Product$(ThisOption)ImagePath), $(Product$(ThisOption)SvcType), "PNP_TDI", {"Tcpip"}, "", $(NetBTEventDLL)
  578.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  579.             Debug-Output "OEMNXPTC.INF: ShellCode error"
  580.             goto ShellCodeError
  581.         endif
  582.         set RegistryErrorIndex = $($R0)
  583.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  584.             EndWait
  585.             Debug-Output "OEMNXPTC.INF: Registry error: add software components"
  586.             CloseRegKey $($R1)
  587.             CloseRegKey $($R2)
  588.             CloseRegKey $($R3)
  589.             CloseRegKey $($R4)
  590.             CloseRegKey $($R5)
  591.             goto fatalregistry
  592.         endif
  593.         Set NBTProductKey       = $($R1)
  594.         Set NBTNetRuleKey       = $($R2)
  595.         Set NBTServiceKey       = $($R3)
  596.         Set NBTParameterKey     = $($R4)
  597.         Set NBTLinkageKey       = $($R5)
  598.         set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
  599.                            {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)},+
  600.                            {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)},+
  601.                            {Hidden,0,$(!REG_VT_DWORD),1},+
  602.                            {Title,$(NoTitle),$(!REG_VT_SZ),$(Product$(ThisOption)Title)},+
  603.                            {Description,$(NoTitle),$(!REG_VT_SZ),$(Product$(ThisOption)Description)},+
  604.                            {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(Product$(ThisOption)Name)},+
  605.                            {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  606.         Shell  $(UtilityInf), AddValueList, $(NBTProductKey), $(NewValueList)
  607.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  608.             Debug-Output "OEMNXPTC.INF: ShellCode error."
  609.             goto ShellCodeError
  610.         endif
  611.         set RegistryErrorIndex = $($R0)
  612.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  613.             EndWait
  614.             Debug-Output "OEMNXPTC.INF: Registry error: add value list."
  615.             CloseRegKey $(NBTProductKey)
  616.             CloseRegKey $(NBTNetRuleKey)
  617.             CloseRegKey $(NBTServiceKey)
  618.             CloseRegKey $(NBTParameterKey)
  619.             CloseRegKey $(NBTLinkageKey)
  620.             goto fatalregistry
  621.         endif
  622.         set NewValueList = {{OtherDependencies,$(NoTitle),$(!REG_VT_MULTI_SZ),{"Tcpip"}}}
  623.         Shell  $(UtilityInf), AddValueList, $(NBTLinkageKey), $(NewValueList)
  624.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  625.             Debug-Output "OEMNXPTC.INF: ShellCode error."
  626.             goto ShellCodeError
  627.         endif
  628.         set RegistryErrorIndex = $($R0)
  629.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  630.             EndWait
  631.             Debug-Output "OEMNXPTC.INF: Registry error: add value list."
  632.             CloseRegKey $(NBTProductKey)
  633.             CloseRegKey $(NBTNetRuleKey)
  634.             CloseRegKey $(NBTServiceKey)
  635.             CloseRegKey $(NBTParameterKey)
  636.             CloseRegKey $(NBTLinkageKey)
  637.             goto fatalregistry
  638.         endif
  639.         set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRule$(ThisOption)Type)},+
  640.                             {use,$(NoTitle),$(!REG_VT_SZ),$(NetRule$(ThisOption)Use)},+
  641.                             {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRule$(ThisOption)BindForm)},+
  642.                             {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRule$(ThisOption)Class)},+
  643.                             {InfOption,$(NoTitle),$(!REG_VT_SZ),$(ThisOption)}}
  644.         Shell  $(UtilityInf), AddValueList, $(NBTNetRuleKey), $(NewValueList)
  645.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  646.             Debug-Output "OEMNXPTC.INF: ShellCode error."
  647.             goto ShellCodeError
  648.         endif
  649.         set RegistryErrorIndex = $($R0)
  650.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  651.             EndWait
  652.             Debug-Output "OEMNXPTC.INF: Registry error: add value list."
  653.             CloseRegKey $(NBTProductKey)
  654.             CloseRegKey $(NBTNetRuleKey)
  655.             CloseRegKey $(NBTServiceKey)
  656.             CloseRegKey $(NBTParameterKey)
  657.             CloseRegKey $(NBTLinkageKey)
  658.             goto fatalregistry
  659.         endif
  660.         Set NewValueList = {{NbProvider,$(NoTitle),$(!REG_VT_SZ),"_tcp"},+
  661.                 {NameServerPort,$(NoTitle),$(!REG_VT_DWORD),137},+
  662.                 {EnableLMHOSTS,$(NoTitle),$(!REG_VT_DWORD),1},+
  663.                 {EnableProxy,$(NoTitle),$(!REG_VT_DWORD),0},+
  664.                 {EnableDNS,$(NoTitle),$(!REG_VT_DWORD),0},+
  665.                 {CacheTimeout,$(NoTitle),$(!REG_VT_DWORD),600000},+
  666.                 {BcastNameQueryCount,$(NoTitle),$(!REG_VT_DWORD),3},+
  667.                 {BcastQueryTimeout,$(NoTitle),$(!REG_VT_DWORD),750},+
  668.                 {NameSrvQueryCount,$(NoTitle),$(!REG_VT_DWORD),3},+
  669.                 {NameSrvQueryTimeout,$(NoTitle),$(!REG_VT_DWORD),1500},+
  670.                 {Size/Small/Medium/Large,$(NoTitle),$(!REG_VT_DWORD),1},+
  671.                 {SessionKeepAlive,$(NoTitle),$(!REG_VT_DWORD),3600000},+
  672.                 {ScopeID,$(NoTitle),$(!REG_VT_SZ),""},+
  673.                 {TransportBindName,$(NoTitle),$(!REG_VT_SZ),"\Device\"},+
  674.                 }
  675.         Shell  $(UtilityInf), AddValueList, $(NBTParameterKey), $(NewValueList)
  676.         Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  677.             Debug-Output "OEMNXPTC.INF: ShellCode error."
  678.             goto ShellCodeError
  679.         Endif
  680.         set RegistryErrorIndex = $($R0)
  681.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  682.             EndWait
  683.             Debug-Output "OEMNXPTC.INF: Registry error: add value list."
  684.             CloseRegKey $(NBTProductKey)
  685.             CloseRegKey $(NBTNetRuleKey)
  686.             CloseRegKey $(NBTServiceKey)
  687.             CloseRegKey $(NBTParameterKey)
  688.             CloseRegKey $(NBTLinkageKey)
  689.             goto fatalregistry
  690.         endif
  691.         CreateRegKey $(NBTServiceKey) {"Adapters",$(NoTitle),GenericClass} "" $(MAXIMUM_ALLOWED) "" AdaptersKey
  692.         CloseRegKey $(AdaptersKey)
  693.         set RegistryErrorIndex = $($R0)
  694.         CloseRegKey $(NBTProductKey)
  695.         CloseRegKey $(NBTNetRuleKey)
  696.         CloseRegKey $(NBTServiceKey)
  697.         CloseRegKey $(NBTParameterKey)
  698.         CloseRegKey $(NBTLinkageKey)
  699.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  700.             EndWait
  701.             Debug-Output "OEMNXPTC.INF: Registry error: add value list."
  702.             goto fatalregistry
  703.         endif
  704.     Endif
  705.     Ifstr(i) $(DoAFD) == TRUE
  706.         Shell $(UtilityInf) AddAFD
  707.         OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\Afd" $(MAXIMUM_ALLOWED) AfdKey
  708.         ifstr(i) $(AfdKey) != ""
  709.             GetRegValue $(AfdKey) "DependOnGroup" GroupList
  710.             debug-output "DependOnGroup:"$(GroupList)
  711.             set GroupValues = *($(GroupList),4)
  712.             debug-output "DependOnGroup:"$(GroupValues)
  713.             set NewGroupValues = {}
  714.             ForListDo $(GroupValues)
  715.                 ifstr(i) $($) != "TDI"
  716.                     ifstr(i) $(NewGroupValues) == {}
  717.                         Set NewGroupValues = {$($)}
  718.                     else
  719.                         Set NewGroupValues = >($(NewGroupValues), $($))
  720.                     endif
  721.                 endif
  722.             EndForListDo
  723.             SetRegValue $(AfdKey) {"DependOnGroup",$(NoTitle),$(!REG_VT_MULTI_SZ),$(NewGroupValues)}
  724.             CloseRegKey $(AfdKey)
  725.         endif
  726.     Endif
  727.     Shell $(UtilityInf), AddNameSpaceProvider, +
  728.             $(ProviderDisplayName), +
  729.             $(Winsock20Provider), +
  730.             $(ProductProviderNameSpaces), +
  731.             FALSE, +
  732.             $(ProductProviderGUID)
  733.     set RegistryErrorIndex = $($R0)
  734.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  735.         EndWait
  736.         Debug-Output "OEMNXPTC.INF: Registry error: add name space provider"
  737.         goto fatalregistry
  738.     endif
  739.     Shell $(UtilityInf), AddServiceProvider, $(ProviderName), +
  740.         $(Winsock11Provider), $(ProviderDisplayName), 8
  741.     set RegistryErrorIndex = $($R0)
  742.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  743.         EndWait
  744.         Debug-Output "OEMNXPTC.INF: Registry error: add software components"
  745.         goto fatalregistry
  746.     endif
  747.     ifstr(i) $(!STF_GUI_UNATTENDED) != YES
  748.         ifstr(i) $(InstallFromRas) != "YES"
  749.             OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\RASMan" $(MAXIMUM_ALLOWED) RASKey
  750.             ifstr(i) $(RASKey) != ""
  751.                 Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(RASRebindError)
  752.                 ifint $($ShellCode) != $(!SHELL_CODE_OK)
  753.                     goto ShellCodeError
  754.                 endif
  755.                 CloseRegKey $(RASKey)
  756.                 ifstr(i) $($R1) == "OK"
  757.                     set SaveNTN_InstallMode = $(!NTN_InstallMode)
  758.                     set !NTN_InstallMode = configure
  759.                     Shell "oemnsvra.inf" InstallOption $(!STF_LANGUAGE) "RAS" $(SrcDir) $(AddCopy) $(DoCopy) $(DoConfig) 
  760.                     set !NTN_InstallMode = $(SaveNTN_InstallMode)
  761.                 endif
  762.             endif
  763.         endif
  764.     endif
  765.     Ifint $(BillboardVisible) != 0
  766.         Shell "subroutn.inf" PopBillboard
  767.         Set BillboardVisible = 0
  768.     Endif
  769.     EndWait
  770.     goto successful
  771. configureadapter = +
  772.     ifstr(i) $(Option) == "TC"
  773.         OpenRegKey $(!REG_H_LOCAL) "" $(ParametersKeyName) $(MAXIMUM_ALLOWED) ParametersKey
  774.         GetRegValue $(ParametersKey) "EnableDHCP" EnableDHCPInfo
  775.         Set FirstTimeBinding = 0
  776.         set EnableDHCPFlag = 0
  777.         ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
  778.             Set FirstTimeBinding = 1
  779.             set EnableDHCPFlag = *($(EnableDHCPInfo),4)
  780.             DeleteRegValue $(ParametersKey) "EnableDHCP"
  781.             ifint $(FirstTimeBinding) == 1
  782.                 ifint $(EnableDHCPFlag) == 0
  783.                     Shell $(IPINFOINF), GetIPInfo
  784.                     Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  785.                     Else
  786.                         set DefaultGateway = $($R0)
  787.                         set IPAddressList  = $($R1)
  788.                         set SubnetMaskList = $($R2)
  789.                     Endif
  790.                 endif
  791.             endif
  792.         EndIf
  793.         CloseRegKey $(ParametersKey)
  794.         OpenRegKey $(!REG_H_LOCAL) "" $(LinkageKeyName) $(MAXIMUM_ALLOWED) LinkageKey
  795.         GetRegValue $(LinkageKey) "Bind" BindList
  796.         ifstr(i) $(BindList) == {}
  797.            Set BindList = ""
  798.         endif
  799.         ifstr(i) $(BindList) == ""
  800.             LibraryProcedure Result, $(!LIBHANDLE), SetupChangeServiceStart "DHCP", 4
  801.             debug-output "OEMNXPTC.INF: no binding info; warning user"
  802.             read-syms InfoDlgCantConfigure
  803.             goto infomsg
  804.         endif
  805.         set OldVersionExisted = $(TRUE )
  806.         set CardList = ""
  807.         set CardCount = 0
  808.         ForListDo *($(BindList),4)
  809.             Split-String $($), "\", BindInfo
  810.             QueryListSize BindListSize $(BindInfo)
  811.             set CardName = *($(BindInfo),$(BindListSize))
  812.             OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"*($(BindInfo),$(BindListSize)) $(MAXIMUM_ALLOWED) CardServiceKey
  813.             ifstr(i) $(CardServiceKey) != ""
  814.                 CloseRegKey $(CardServiceKey)
  815.                 set-add CardCount = $(CardCount),1
  816.                 ifstr $(CardList) == ""
  817.                     set CardList = {$(CardName)}
  818.                 else
  819.                     set CardList = >($(CardList),$(CardName))
  820.                 endif
  821.             endif
  822.         EndForListDo
  823.         debug-output $(CardList)
  824.         set OldCardList = $(CardList)
  825.         set CardList = ""
  826.         set CardServiceKey = ""
  827.         set CardCount = 1
  828.         ForListDo $(OldCardList)
  829.             ifstr(i) $(CardServiceKey) == ""
  830.                 ifstr $(CardList) == ""
  831.                     set CardList = $($)
  832.                 else
  833.                     set CardList = $(CardList)"@"$($)
  834.                 endif
  835.                 debug-output "Doing:"$($)
  836.                 debug-output $(CardList)
  837.                 set DefaultIPAddress = *($(IPAddressList),$(CardCount))
  838.                 set DefaultSubnetMask = *($(SubnetMaskList),$(CardCount))
  839.                 OpenRegKey $(!REG_H_LOCAL) "" "System\CurrentControlSet\Services\"$($)"\Parameters" $(MAXIMUM_ALLOWED) ServiceParamKey
  840.                 ifstr(i) $(ServiceParamKey) != ""
  841.                     OpenRegKey $(ServiceParamKey) "" "Tcpip" $(MAXIMUM_ALLOWED) TCPIPKey
  842.                     GetRegValue $(ParametersKey) "AutoIPAddress" AutoIPInfo
  843.                     set AutoIPFlag = *($(AutoIPInfo),4)
  844.                     set EnableDHCPForThisAdapter = $(EnableDHCPFlag)
  845.                     ifint $(AutoIPFlag) == 1
  846.                         set EnableDHCPForThisAdapter = 0
  847.                     endif
  848.                     ifstr(i) $(TCPIPKey) == ""
  849.                         CreateRegKey $(ServiceParamKey) {"Tcpip",$(NoTitle),GenericClass} "" +
  850.                         $(MAXIMUM_ALLOWED) "" TCPIPKey
  851.                         debug-output "set Parameters"
  852.                         debug-output "EnableDHCPFlag:"$(EnableDHCPForThisAdapter)
  853.                         set NewValueList = {{EnableDHCP,$(NoTitle),$(!REG_VT_DWORD),$(EnableDHCPForThisAdapter)},+
  854.                                         {UseZeroBroadcast,$(NoTitle),$(!REG_VT_DWORD),0},+
  855.                                         {LLInterface,$(NoTitle),$(!REG_VT_SZ),""}}
  856.                         Shell  $(UtilityInf), AddValueList, $(TCPIPKey), $(NewValueList)
  857.                         ifstr(i) $(TCPIPKey) != ""
  858.                             debug-output $(RegistryErrorIndex)
  859.                             ifint $(EnableDHCPForThisAdapter) == 1
  860.                                 set NewValueList = {{IPAddress,$(NoTitle),$(!REG_VT_MULTI_SZ),{"0.0.0.0"}},+
  861.                                                     {DefaultGateway,$(NoTitle),$(!REG_VT_MULTI_SZ),{}},+
  862.                                                     {SubnetMask,$(NoTitle),$(!REG_VT_MULTI_SZ),{"0.0.0.0"}}}
  863.                                 Shell  $(UtilityInf), AddValueList, $(TCPIPKey), $(NewValueList)
  864.                                 ifint $($ShellCode) != $(!SHELL_CODE_OK)
  865.                                     Debug-Output "OEMNXPTC.INF: ShellCode error: cannot write default subnet mask error."
  866.                                     goto ShellCodeError
  867.                                 endif
  868.                             else
  869.                                 ifstr(i) $(DefaultIPAddress) != ""
  870.                                     set IPAddressInfo = {}
  871.                                     GetRegValue $(TCPIPKey) "IPAddress" IPAddressInfo
  872.                                     set IPAddress = *($(IPAddressInfo), 4)
  873.                                     ifstr(i) $(IPAddress) == ""
  874.                                         set NewValueList = {{IPAddress,$(NoTitle),$(!REG_VT_MULTI_SZ),{$(DefaultIPAddress)}}}
  875.                                         Shell  $(UtilityInf), AddValueList, $(TCPIPKey), $(NewValueList)
  876.                                         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  877.                                             Debug-Output "OEMNXPTC.INF: ShellCode error: cannot write default subnet mask error."
  878.                                             goto ShellCodeError
  879.                                         endif
  880.                                     endif
  881.                                 endif
  882.                                 ifstr(i) $(DefaultSubnetMask) != ""
  883.                                     set SubnetMasInfo = {}
  884.                                     GetRegValue $(TCPIPKey) "SubnetMask" SubnetMaskInfo
  885.                                     set SubnetMask = *($(SubnetMaskInfo), 4)
  886.                                     ifstr(i) $(SubnetMask) == ""
  887.                                         set NewValueList = {{SubnetMask,$(NoTitle),$(!REG_VT_MULTI_SZ),{$(DefaultSubnetMask)}}}
  888.                                         Shell  $(UtilityInf), AddValueList, $(TCPIPKey), $(NewValueList)
  889.                                         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  890.                                             Debug-Output "OEMNXPTC.INF: ShellCode error: cannot write default subnet mask error."
  891.                                             goto ShellCodeError
  892.                                         endif
  893.                                     endif
  894.                                 endif
  895.                                 ifstr(i) $(DefaultGateway) != ""
  896.                                     GetRegValue $(TCPIPKey) "DefaultGateway" GatewayInfo
  897.                                     set Gateway = *($(GatewayInfo), 4)
  898.                                     ifstr(i) $(Gateway) == ""
  899.                                         set NewValueList = {{DefaultGateway,$(NoTitle),$(!REG_VT_MULTI_SZ),{$(DefaultGateway)}}}
  900.                                         Shell  $(UtilityInf), AddValueList, $(TCPIPKey), $(NewValueList)
  901.                                         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  902.                                             Debug-Output "OEMNXPTC.INF: ShellCode error: cannot write default subnet mask error."
  903.                                             goto ShellCodeError
  904.                                         endif
  905.                                     endif
  906.                                 endif
  907.                             endif
  908.                         endif
  909.                     endif
  910.                     CloseRegKey $(TCPIPKey)
  911.                 endif
  912.                 CloseRegKey $(ServiceParamKey)
  913.                 set-add CardCount = $(CardCount),1
  914.             Endif
  915.         EndForListDo
  916.         ifstr(i) $(CardList) != ""
  917.             ifstr(i) $(!NTN_InstallMode) == bind
  918.                 set FLibraryErrCtl = 1
  919.                 LibraryProcedure ResultList, $(!TCPCFG_HANDLE), TcpCfgCheck
  920.                 set FLibraryErrCtl = 0
  921.                 Set Result = *($(ResultList),1)
  922.                 ifint $(Result) == 0
  923.                     Debug-Output "OEMNXPTC.INF:  reconfiguration not required"
  924.                     set CommonStatus = STATUS_USERCANCEL
  925.                     goto checkBootp
  926.                 else 
  927.                     goto configureTcp
  928.                 endif
  929. checkBootp =+
  930.                 OpenRegKey $(!REG_H_LOCAL) "" "System\Setup\DHCPRelay" $(MAXIMUM_ALLOWED) KeyRelay
  931.                 set DHCP_UNATTENDED = ""
  932.                 set DHCP_Temp = "NO"
  933.                 ifstr(i) $(KeyRelay) != ""
  934.                     GetRegValue $(KeyTcpip) "GuiUnattended" DHCP_Temp
  935.                     set DHCP_UNATTENDED = *($(DHCP_Temp),4)
  936.                     CloseRegKey $(KeyRelay)
  937.                     OpenRegKey $(!REG_H_LOCAL) "" "System\Setup" $(MAXIMUM_ALLOWED) KeySetup
  938.                     DeleteRegTree $(KeySetup) "DHCPRelay"
  939.                     CloseRegKey $(KeySetup)
  940.                 endif
  941.                 Debug-Output "DHCP_UNATTENDED="$(DHCP_UNATTENDED)
  942.                 Ifstr(i) $(DHCP_UNATTENDED) != YES
  943.                     set FLibraryErrCtl = 1
  944.                     LibraryProcedure ResultList, $(!TCPCFG_HANDLE), TcpBootRelayCfgCheck
  945.                     set FLibraryErrCtl = 0
  946.                     Set Result = *($(ResultList),1)
  947.                     ifint $(Result) == 0
  948.                         Debug-Output "OEMNXPTC.INF:  bootp configuration not required"
  949.                         set CommonStatus = STATUS_USERCANCEL
  950.                         goto end
  951.                     endif
  952.                 endif
  953.             endif
  954. configureTcp =+
  955.             set FLibraryErrCtl = 1
  956.             OpenRegKey $(!REG_H_LOCAL) "" "System\Setup\Tcpip" $(MAXIMUM_ALLOWED) KeyTcpip
  957.             set Tcpip_GUI_UNATTENDED = "NO"
  958.             set Tcpip_UNATTENDED = ""
  959.             set Tcpip_UNATTENDED_SECTION = ""
  960.             set Tcpip_Temp = ""
  961.             ifstr(i) $(KeyTcpip) != ""
  962.                 GetRegValue $(KeyTcpip) "GuiUnattended" Tcpip_Temp
  963.                 set Tcpip_GUI_UNATTENDED = *($(Tcpip_Temp),4)
  964.                 GetRegValue $(KeyTcpip) "Unattended" Tcpip_Temp
  965.                 set Tcpip_UNATTENDED = *($(Tcpip_Temp),4)                 
  966.                 GetRegValue $(KeyTcpip) "UnattendedSection" Tcpip_Temp
  967.                 set Tcpip_UNATTENDED_SECTION = *($(Tcpip_Temp), 4)
  968.                 CloseRegKey $(KeyTcpip)
  969.                 OpenRegKey $(!REG_H_LOCAL) "" "System\Setup" $(MAXIMUM_ALLOWED) KeySetup
  970.                 DeleteRegTree $(KeySetup) "Tcpip"
  971.                 CloseRegKey $(KeySetup)
  972.             endif
  973.             Debug-Output "Tcpip_GUI_UNATTENDED="$(Tcpip_GUI_UNATTENDED)"Tcpip_UNATTENDED="$(Tcpip_UNATTENDED)"Tcpip_UNATTENDED_SECTION="$(Tcpip_UNATTENDED_SECTION)
  974.             LibraryProcedure ResultList, $(!TCPCFG_HANDLE), CPlTcpip, $(!STF_HWND), $(CardList), $(!STF_COMPUTERNAME), "", $(!STF_PRODUCT), $(Tcpip_GUI_UNATTENDED), $(Tcpip_UNATTENDED), $(Tcpip_UNATTENDED_SECTION)
  975.             set FLibraryErrCtl = 0
  976.             Set Result = *($(ResultList),1)
  977.             ifint $(Result) == 2
  978.                 set CommonStatus = STATUS_REBOOT
  979.             else
  980.                 set CommonStatus = STATUS_USERCANCEL
  981.             endif
  982.         else
  983.             set CommonStatus = STATUS_USERCANCEL
  984.         endif
  985.     else
  986.         Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
  987.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  988.             Debug-Output "OEMNXPTC.INF: ShellCode error: cannot get an error string."
  989.             goto ShellCodeError
  990.         endif
  991.         set Error = $($R0)
  992.         set from = end
  993.         set to = end
  994.         goto nonfatalinfo
  995.     endif
  996.         goto end
  997. bindingadapter =+
  998.     ifstr(i) $(Option) == "TC"
  999.         ForListDo {"Browser","NetLogon"}
  1000.             OpenRegKey $(!REG_H_LOCAL) "" "System\CurrentControlSet\Services\"$($) $(MAXIMUM_ALLOWED) ServicesKey
  1001.             ifstr(i) $(ServicesKey) != ""
  1002.                 GetRegValue $(ServicesKey) "DependOnService" ServicesList
  1003.                 debug-output "DependOnService:"$(ServicesList)
  1004.                 set ServiceValues = *($(ServicesList),4)
  1005.                 debug-output "DependOnService:"$(ServiceValues)
  1006.                 ifstr(i) $(ServiceValues) == {}
  1007.                     Set ServiceValues = {"LmHosts"}
  1008.                     LibraryProcedure Result, $(!LIBHANDLE), SetupChangeServiceConfig, $($), $(SERVICE_NO_CHANGE), $(SERVICE_NO_CHANGE), $(SERVICE_NO_CHANGE), "", "", $(ServiceValues), "", "", ""
  1009.                 else-ifstr(i) $(ServiceValues) == ""
  1010.                     Set ServiceValues = {"LmHosts"}
  1011.                     LibraryProcedure Result, $(!LIBHANDLE), SetupChangeServiceConfig, $($), $(SERVICE_NO_CHANGE), $(SERVICE_NO_CHANGE), $(SERVICE_NO_CHANGE), "", "", $(ServiceValues), "", "", ""
  1012.                 else-ifcontains(i) "LMHOSTS" in $(ServiceValues)
  1013.                 else
  1014.                     Set ServiceValues = >($(ServiceValues), "LmHosts")
  1015.                     LibraryProcedure Result, $(!LIBHANDLE), SetupChangeServiceConfig, $($), $(SERVICE_NO_CHANGE), $(SERVICE_NO_CHANGE), $(SERVICE_NO_CHANGE), "", "", $(ServiceValues), "", "", ""
  1016.                 endif
  1017.                 CloseRegKey $(ServicesKey)
  1018.             endif
  1019.         EndForListDo
  1020.         debug-output "binding for NetBT"
  1021.         OpenRegKey $(!REG_H_LOCAL) "" $(NetBTLinkageKeyName) $(MAXIMUM_ALLOWED) LinkageKey
  1022.         GetRegValue $(LinkageKey) "Bind" BindList
  1023.         set CombineBindInfo = *($(BindList),4)
  1024.         CloseRegKey $(LinkageKey)
  1025.         Shell "nbinfo.inf" CheckMixRpcProtocol "NetBT" 5 "tcpip" "ncacn_nb_tcp" "rpcltccm.dll" "RpcLtScm.Dll"
  1026.         OpenRegKey $(!REG_H_LOCAL) "" $(NetBTLinkageKeyName)"\Disabled" $(MAXIMUM_ALLOWED) LinkageKey
  1027.         GetRegValue $(LinkageKey) "Bind" BindList
  1028.         ForListDo *($(BindList),4)
  1029.             set CombineBindInfo = >($(CombineBindInfo), $($))
  1030.         EndForListDo
  1031.         CloseRegKey $(LinkageKey)
  1032.         OpenRegKey $(!REG_H_LOCAL) "" $(AdaptersKeyName) $(MAXIMUM_ALLOWED) AdaptersKey
  1033.         EnumRegKey $(AdaptersKey) AdaptersListInfo
  1034.         set AdaptersList = {}
  1035.         ForListDo $(AdaptersListInfo)
  1036.             ifstr(i) $(AdaptersList) == {}
  1037.                 set AdaptersList = {*($($),1)}
  1038.             else
  1039.                 set AdaptersList = >($(AdaptersList),*($($),1))
  1040.             endif
  1041.         EndForListDo
  1042.         set CardList = {}
  1043.         set CreateCardList = {}
  1044.         ForListDo $(CombineBindInfo)
  1045.             Split-String $($), "\", BindInfo
  1046.             QueryListSize BindListSize $(BindInfo)
  1047.             set CardName = *($(BindInfo),$(BindListSize))
  1048.             ifstr(i) $(CardList) == {}
  1049.                 set CardList = {$(CardName)}
  1050.             else
  1051.                 set CardList = >($(CardList),$(CardName))
  1052.             endif
  1053.             ifContains(i) $(CardName) not-in $(AdaptersList)
  1054.                 ifstr(i) $(CreateCardList) == {}
  1055.                     set CreateCardList = {$(CardName)}
  1056.                 else
  1057.                     set CreateCardList = >($(CreateCardList),$(CardName))
  1058.                 endif
  1059.             endif
  1060.         EndForListDo
  1061.         set DeleteCardList = {}
  1062.         ForListDo $(AdaptersList)
  1063.             ifcontains(i) $($) not-in $(CardList)
  1064.                 ifstr(i) $(DeleteCardList) == {}
  1065.                     set DeleteCardList = {$($)}
  1066.                 else
  1067.                     set DeleteCardList = >($(DeleteCardList),$($))
  1068.                 endif
  1069.             endif
  1070.         EndForListDo
  1071.         ForListDo $(CreateCardList)
  1072.             CreateRegKey $(AdaptersKey) {$($),$(NoTitle),GenericClass} "" $(MAXIMUM_ALLOWED) "" CardKey
  1073.             CloseRegKey $(CardKey)
  1074.         EndForListDo
  1075.         ForListDo $(DeleteCardList)
  1076.             DeleteRegKey $(AdaptersKey) $($)
  1077.         EndForListDo
  1078.         CloseRegKey $(AdaptersKey)
  1079.         debug-output "binding for TC"
  1080.         goto configureadapter
  1081.     endif
  1082.     goto successful
  1083. removeadapter = +
  1084.     Shell $(UtilityInf) RemoveDependentComponents Microsoft TCPIP
  1085.     Shell $(UtilityInf) RemoveRpcProtocol "ncadg_ip_udp"
  1086.     Shell $(UtilityInf) RemoveRpcProtocol "ncacn_ip_tcp"
  1087.     Shell $(UtilityInf) RemoveRpcProtocol "ncacn_nb_tcp"
  1088.     Shell $(UtilityInf) RemoveServiceProvider $(ProviderName)
  1089.     Shell $(UtilityInf), RemoveNameSpaceProvider, $(ProductProviderGUID)
  1090.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1091.         Debug-Output "OEMNXPTC.INF: ShellCode error"
  1092.         goto ShellCodeError
  1093.     endif
  1094.     set RegistryErrorIndex = $($R0)
  1095.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1096.         goto fatalregistry
  1097.     endif
  1098.     ForListDo  $(OEM_ABANDON_SOFTWARE)
  1099.         ifstr(i) $($) == "Tcpip"
  1100.             OpenRegKey $(!REG_H_LOCAL) "" $(LinkageKeyName) $(MAXIMUM_ALLOWED) LinkageKey
  1101.             GetRegValue $(LinkageKey) "Bind" BindList
  1102.             ForListDo *($(BindList),4)
  1103.                 Split-String $($), "\", BindInfo
  1104.                 QueryListSize BindListSize $(BindInfo)
  1105.                 set CardName = *($(BindInfo),$(BindListSize))
  1106.                 OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"*($(BindInfo),$(BindListSize))"\Parameters" $(MAXIMUM_ALLOWED) CardParamKey
  1107.                 ifstr(i) $(CardParamKey) != ""
  1108.                     DeleteRegTree $(CardParamKey) "Tcpip"
  1109.                     CloseRegKey $(CardParamKey)
  1110.                 endif
  1111.             EndForListDo
  1112.             Shell $(UtilityInf), RemoveWinsockInfo, $(ProductTCName)
  1113.             set RegistryErrorIndex = $($R0)
  1114.             Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1115.                 Debug-Output "OEMNXPTC.INF: Registry error: remove Winsock Info."
  1116.             Endif
  1117.         endif
  1118.         debug-output "Remove component: "$($)
  1119.         ifstr(i) $($) == "Streams"
  1120.             Shell $(UtilityInf), RemoveStreams
  1121.         else
  1122.             Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), $($)
  1123.         endif
  1124.     EndForListDo
  1125.     ForListDo  $(OEM_ABANDON_OPTIONS)
  1126.         debug-output "Remove component: "$($)
  1127.         Ifstr(i) $($) == $(ProductLOOPName)
  1128.             Set UseSvcctrl = "NO"
  1129.         Else
  1130.             Set UseSvcctrl = "YES"
  1131.         Endif
  1132.         ifstr(i) $($) == $(ProductLMHOSTSName)
  1133.             debug-output "Remove "$($)"'s LMHOSTS dependency"
  1134.             ForListDo {"Browser","NetLogon"}
  1135.                 OpenRegKey $(!REG_H_LOCAL) "" "System\CurrentControlSet\Services\"$($) $(MAXIMUM_ALLOWED) ServicesKey
  1136.                 ifstr(i) $(ServicesKey) != ""
  1137.                     GetRegValue $(ServicesKey) "DependOnService" ServicesList
  1138.                     debug-output "DependOnService List:"$(ServicesList)
  1139.                     set ServiceValues = *($(ServicesList),4)
  1140.                     debug-output "ServiceValues: "$(ServiceValues)
  1141.                     ifcontains(i) "LMHOSTS" in $(ServiceValues)
  1142.                         set NewServiceValues = {}
  1143.                         ForListDo $(ServiceValues)
  1144.                             ifstr(i) $($) != "LmHosts"
  1145.                                 set NewServiceValues = >($(NewServiceValues), $($))
  1146.                             endif
  1147.                         EndForListDo
  1148.                         debug-output "Final dependency list for "$($)": "$(NewServiceValues)
  1149.                         LibraryProcedure Result, $(!LIBHANDLE), SetupChangeServiceConfig, $($), $(SERVICE_NO_CHANGE), $(SERVICE_NO_CHANGE), $(SERVICE_NO_CHANGE), "", "", $(NewServiceValues), "", "", ""
  1150.                     else
  1151.                     endif
  1152.                     CloseRegKey $(ServicesKey)
  1153.                 endif
  1154.             EndForListDo
  1155.         endif
  1156.         Shell $(UtilityInf), RemoveService, $($), $(UseSvcctrl)
  1157.     EndForListDo
  1158.     goto end
  1159. UpgradeSoftware = +
  1160.     OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\NetBT" $(MAXIMUM_ALLOWED) NBTParent
  1161.     ifstr(i) $(NBTParent) != ""
  1162.         DeleteRegKey $(NBTParent) "Performance"
  1163.         CloseRegKey $(NBTParent)
  1164.     endif
  1165.     OpenRegKey $(!REG_H_LOCAL) "" $(OldProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  1166.     Ifstr(i) $(KeyProduct) == $(KeyNull)
  1167.         goto end
  1168.     endif
  1169.     GetRegValue $(KeyProduct) "DefaultGateway" DefaultGatewayList
  1170.     set DefaultGatewayValue = *($(DefaultGatewayList),4)
  1171.     Ifstr(i) $(DefaultGatewayValue) != $(KeyNull)
  1172.         install "Install-Update"
  1173.         ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  1174.             goto fatal
  1175.         endif
  1176.         CloseRegKey $(KeyProduct)
  1177.         set FLibraryErrCtl = 1
  1178.         ifstr(i) $(!UpgradeEnableDhcp) == ""
  1179.             LibraryProcedure ResultList $(!TCPCFG_HANDLE), UpgradeTcpip, $(!STF_HWND) "NO" "YES" 
  1180.         else
  1181.             LibraryProcedure ResultList $(!TCPCFG_HANDLE), UpgradeTcpip, $(!STF_HWND) "YES" $(!UpgradeEnableDhcp) 
  1182.         endif
  1183.         set FLibraryErrCtl = 0
  1184.         set UserWantsDHCP = *($(ResultList),2)
  1185.         OpenRegKey $(!REG_H_LOCAL) "" "System\CurrentControlSet\Services\Tcpip\Parameters" $(MAXIMUM_ALLOWED) TcpipParamKey
  1186.         ifstr(i) $(TcpipParamKey) != ""
  1187.             GetRegValue $(TcpipParamKey) "DNSLookupOrder" LookupInfo
  1188.             debug-output "LookupOrder:"$(LookupInfo)
  1189.             GetRegValue $(TcpipParamKey) "Domain" DomainInfo
  1190.             debug-output "Domain:"$(DomainInfo)
  1191.             GetRegValue $(TcpipParamKey) "Hostname" HostnameInfo
  1192.             debug-output "Hostname:"$(HostnameInfo)
  1193.             GetRegValue $(TcpipParamKey) "NameServer" NameServerInfo
  1194.             debug-output "NameServer:"$(NameServerInfo)
  1195.             GetRegValue $(TcpipParamKey) "SearchList" SearchListInfo
  1196.             debug-output "SearchListInfo:"$(SearchListInfo)
  1197.             CloseRegKey $(TcpipParamKey)
  1198.         endif
  1199.         OpenRegKey $(!REG_H_LOCAL) "" "System\CurrentControlSet\Services\Nbt\Parameters" $(MAXIMUM_ALLOWED) NbtParamKey
  1200.         ifstr(i) $(NbtParamKey) != ""
  1201.             GetRegValue $(NbtParamKey) "ScopeID" ScopeIDInfo
  1202.             debug-output "ScopeID:"$(ScopeID)
  1203.             CloseRegKey $(NbtParamKey)
  1204.         endif
  1205.         set OEM_ABANDON_OPTIONS = {+
  1206.             "TcpipSys",+
  1207.             "NbtSys",+
  1208.             "Telnet",+
  1209.             "LMHOSTS",+
  1210.             "Telnetsys",+
  1211.             "Loop"}
  1212.         set OEM_ABANDON_SOFTWARE = {+
  1213.             "Tcpip",+
  1214.             "Nbt",+
  1215.             "Streams"}
  1216.         Shell $(UtilityInf) RemoveRpcProtocol "ncacn_ip_tcp"
  1217.         Ifstr(i) $($0) != NO_ERROR
  1218.             Debug-Output "OEMNXPTC.INF: ERROR deleting RPC protocol data"
  1219.         Endif
  1220.         Shell $(UtilityInf) RemoveRpcProtocol "ncacn_nb_tcp"
  1221.         Ifstr(i) $($0) != NO_ERROR
  1222.             Debug-Output "OEMNXPTC.INF: ERROR deleting RPC protocol data (2)"
  1223.         Endif
  1224.         ForListDo  $(OEM_ABANDON_SOFTWARE)
  1225.             debug-output "Remove component: "$($)
  1226.             ifstr(i) $($) == "Streams"
  1227.                 Shell $(UtilityInf), RemoveStreams
  1228.             else
  1229.                 Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), $($)
  1230.             endif
  1231.             ifstr(i) $($) == "Tcpip"
  1232.                 Shell $(UtilityInf), RemoveWinsockInfo, $($)
  1233.                 set RegistryErrorIndex = $($R0)
  1234.                 Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1235.                     Debug-Output "OEMNXPTC.INF: Registry error: remove Winsock Info."
  1236.                 Endif
  1237.             endif
  1238.         EndForListDo
  1239.         ForListDo  $(OEM_ABANDON_OPTIONS)
  1240.             debug-output "Remove component: "$($)
  1241.             Ifstr(i) $($) == "loop"
  1242.                 Set UseSvcctrl = "NO"
  1243.             Else
  1244.                 Set UseSvcctrl = "YES"
  1245.             Endif
  1246.             ifstr(i) $($) == "lmhosts"
  1247.                 debug-output "Remove "$($)"'s LMHOSTS dependency"
  1248.                 ForListDo {"Browser","NetLogon"}
  1249.                     OpenRegKey $(!REG_H_LOCAL) "" "System\CurrentControlSet\Services\"$($) $(MAXIMUM_ALLOWED) ServicesKey
  1250.                     ifstr(i) $(ServicesKey) != ""
  1251.                         GetRegValue $(ServicesKey) "DependOnService" ServicesList
  1252.                         debug-output "DependOnService List:"$(ServicesList)
  1253.                         set ServiceValues = *($(ServicesList),4)
  1254.                         debug-output "ServiceValues: "$(ServiceValues)
  1255.                         ifcontains(i) "LMHOSTS" in $(ServiceValues)
  1256.                             set NewServiceValues = {}
  1257.                             ForListDo $(ServiceValues)
  1258.                                 ifstr(i) $($) != "LmHosts"
  1259.                                     set NewServiceValues = >($(NewServiceValues), $($))
  1260.                                 endif
  1261.                             EndForListDo
  1262.                             debug-output "Final dependency list for "$($)": "$(NewServiceValues)
  1263.                             LibraryProcedure Result, $(!LIBHANDLE), SetupChangeServiceConfig, $($), $(SERVICE_NO_CHANGE), $(SERVICE_NO_CHANGE), $(SERVICE_NO_CHANGE), "", "", $(NewServiceValues), "", "", ""
  1264.                         else
  1265.                         endif
  1266.                         CloseRegKey $(ServicesKey)
  1267.                     endif
  1268.                 EndForListDo
  1269.             endif
  1270.             Shell $(UtilityInf), RemoveService, $($), $(UseSvcctrl)
  1271.         EndForListDo
  1272.         set OldSTFInstallMode = $(!STF_INSTALL_MODE)
  1273.         set !STF_INSTALL_MODE = EXPRESS
  1274.         set OldInstallMode = $(!NTN_InstallMode)
  1275.         set !NTN_InstallMode = install
  1276.         Shell "" "InstallOption" $(!STF_LANGUAGE) "TC" $(!STF_SRCDIR) "NO" "NO" "NO"
  1277.         set !STF_INSTALL_MODE = $(OldSTFInstallMode)
  1278.         set !NTN_InstallMode = $(OldInstallMode)
  1279.         OpenRegKey $(!REG_H_LOCAL) "" $(ParametersKeyName) $(MAXIMUM_ALLOWED) TcpipParamKey
  1280.         ifstr(i) $(TcpipParamKey) != ""
  1281.             set NewValueList = {$(LookupInfo),$(DomainInfo),$(HostnameInfo),$(NameServerInfo),$(SearchListInfo)}
  1282.             Shell  $(UtilityInf), AddValueList, $(TcpipParamKey), $(NewValueList)
  1283.             SetRegValue $(TcpipParamKey) {"EnableDHCP",$(NoTitle),$(!REG_VT_DWORD),$(UserWantsDHCP)}
  1284.             CloseRegKey $(TcpipParamKey)
  1285.         endif
  1286.         OpenRegKey $(!REG_H_LOCAL) "" $(NetBTParamKeyName) $(MAXIMUM_ALLOWED) NetbtParamKey
  1287.         ifstr(i) $(NetbtParamKey) != ""
  1288.             Shell  $(UtilityInf), AddValueList, $(NetbtParamKey), {$(ScopeIDInfo)}
  1289.             CloseRegKey $(NetbtParamKey)
  1290.         endif
  1291.     else
  1292.         install "Install-Update"
  1293.         ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  1294.             goto fatal
  1295.         endif
  1296.         CloseRegKey $(KeyProduct)
  1297.         Shell $(UtilityInf) UpdateWinsockMappings $(ProductTCName) $(ProductTCWshDllPath)
  1298.         ifstr(i) $($R0) != NO_ERROR
  1299.             goto fatal
  1300.         endif
  1301.         OpenRegKey $(!REG_H_LOCAL) "" "Software\Microsoft\NetBT\CurrentControlSet\NetRules" $(MAXIMUM_ALLOWED) NetRulesKey
  1302.         ifstr(i) $(NetRulesKey) != ""
  1303.             SetRegValue $(NetRulesKey) {"use",$(NoTitle),$(!REG_VT_SZ),"transport yes yes"}
  1304.             CloseRegKey $(NetRulesKey)
  1305.         endif
  1306.         Shell $(UtilityInf) RemoveNetworkProvider $(ProviderName)
  1307.         OpenRegKey $(!REG_H_LOCAL) "" "System\CurrentControlSet\Services\DHCP\Parameters\Options" $(MAXIMUM_ALLOWED) KeyOptions
  1308.         ifstr(i) $(KeyOptions) != ""
  1309.             OpenRegKey $(KeyOptions) "" "1" $(MAXIMUM_ALLOWED) Key1
  1310.             ifstr(i) $(Key1) == ""
  1311.                 CreateRegKey $(KeyOptions) {"1",$(NoTitle),GenericClass} "" $(MAXIMUM_ALLOWED) "" Key1
  1312.                 Shell $(UtilityInf) AddValueList, $(Key1),+
  1313.                     {{"RegLocation", $(NoTitle), $(!REG_VT_SZ), "System\CurrentControlSet\Services\?\Parameters\Tcpip\DhcpSubnetMaskOpt"},+
  1314.                     {"KeyType", $(NoTitle), $(!REG_VT_DWORD), $(!REG_VT_MULTI_SZ)}}
  1315.             endif
  1316.             CloseRegKey $(Key1)
  1317.             OpenRegKey $(KeyOptions) "" "15" $(MAXIMUM_ALLOWED) Key15
  1318.             ifstr(i) $(Key15) == ""
  1319.                 CreateRegKey $(KeyOptions) {"15",$(NoTitle),GenericClass} "" $(MAXIMUM_ALLOWED) "" Key15
  1320.                 Shell $(UtilityInf) AddValueList, $(Key15),+
  1321.                     {{"RegLocation", $(NoTitle), $(!REG_VT_SZ), "System\CurrentControlSet\Services\Tcpip\Parameters\DhcpDomain"},+
  1322.                     {"KeyType", $(NoTitle), $(!REG_VT_DWORD), $(!REG_VT_SZ)}}
  1323.             endif
  1324.             CloseRegKey $(Key15)
  1325.         endif
  1326.         Shell $(UtilityInf), RemoveNameSpaceProvider, $(ProductProviderGUID)
  1327.         Shell $(UtilityInf), AddNameSpaceProvider, +
  1328.                 $(ProviderDisplayName), +
  1329.                 $(Winsock20Provider), +
  1330.                 $(ProductProviderNameSpaces), +
  1331.                 FALSE, +
  1332.                 $(ProductProviderGUID)
  1333.         OpenRegKey $(!REG_H_LOCAL) "" "System\CurrentControlSet\Services\Tcpip\ServiceProvider" $(MAXIMUM_ALLOWED) ProviderKey
  1334.         ifstr(i) $(ProviderKey) == ""
  1335.             Shell $(UtilityInf), AddServiceProvider, $(ProviderName), +
  1336.                 $(Winsock11Provider), 8
  1337.             set RegistryErrorIndex = $($R0)
  1338.             Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1339.                 EndWait
  1340.                 Debug-Output "OEMNXPTC.INF: Registry error: add software components"
  1341.                 goto fatalregistry
  1342.             endif
  1343.             OpenRegKey $(!REG_H_LOCAL) "" "System\CurrentControlSet\Services\Tcpip" $(MAXIMUM_ALLOWED) TcpSvcKeyHandle
  1344.             ifstr(i) $(TcpSvcKeyHandle) != ""
  1345.                 OpenRegKey $(!REG_H_LOCAL) "" "System\CurrentControlSet\Services\Tcpip\ServiceProvider" $(MAXIMUM_ALLOWED) KeyNetworkProvider
  1346.                 ifstr(i) $(KeyNetworkProvider) == ""
  1347.                    CreateRegKey $(TcpSvcKeyHandle) {"ServiceProvider",$(NoTitle),GenericClass} "" +
  1348.                         $(MAXIMUM_ALLOWED) "" KeyNetworkProvider
  1349.                 endif
  1350.                 set NewValueList = {{DnsPriority,$(NoTitle),$(!REG_VT_DWORD),2000},+
  1351.                            {Name,$(NoTitle),$(!REG_SZ),$(ProviderDisplayName)},+
  1352.                            {HostsPriority,$(NoTitle),$(!REG_VT_DWORD),500},+
  1353.                            {LocalPriority,$(NoTitle),$(!REG_VT_DWORD),499},+
  1354.                            {ProviderPath,$(NoTitle),$(!REG_VT_EXPAND_SZ),$(Winsock11Provider)},+
  1355.                            {NetbtPriority,$(NoTitle),$(!REG_VT_DWORD),2001}}
  1356.                 Shell  $(UtilityInf), AddValueList, $(KeyNetworkProvider), $(NewValueList)
  1357.                 CloseRegKey $(KeyNetworkProvider)
  1358.                 CloseRegKey $(TcpSvcKeyHandle)
  1359.             endif
  1360.         else
  1361.             CloseRegKey $(ProviderKey)
  1362.         endif
  1363.         OpenRegKey $(!REG_H_LOCAL) "" "System\CurrentControlSet\Services\Tcpip\Parameters" $(MAXIMUM_ALLOWED) TcpParmKeyHandle
  1364.         ifstr(i) $(TcpParmKeyHandle) != ""
  1365.             CreateRegKey $(TcpParmKeyHandle) {"PersistentRoutes",$(NoTitle),GenericClass} "" +
  1366.                     $(MAXIMUM_ALLOWED) "" KeyPersistentRoutes
  1367.             CloseRegKey $(KeyPersistentRoutes)
  1368.             CloseRegKey $(TcpParmKeyHandle)
  1369.         endif
  1370.     endif
  1371.     OpenRegKey $(!REG_H_LOCAL) "" "System\CurrentControlSet\Services\Tcpip" $(MAXIMUM_ALLOWED) TcpSvcKeyHandle
  1372.     ifstr(i) $(TcpSvcKeyHandle) != $(KeyNull)
  1373.         SetRegValue $(TcpSvcKeyHandle) {Group,$(NoTitle),$(!REG_VT_SZ),"PNP_TDI"}
  1374.         CloseRegKey $(TcpSvcKeyHandle)
  1375.     endif
  1376.     OpenRegKey $(!REG_H_LOCAL) "" "System\CurrentControlSet\Services\NetBT" $(MAXIMUM_ALLOWED) NetBTSvcKeyHandle
  1377.     ifstr(i) $(NetBTSvcKeyHandle) != $(KeyNull)
  1378.         SetRegValue $(NetBTSvcKeyHandle) {Group,$(NoTitle),$(!REG_VT_SZ),"PNP_TDI"}
  1379.         CloseRegKey $(NetBTSvcKeyHandle)
  1380.     endif
  1381.     OpenRegKey $(!REG_H_LOCAL) "" $(TCNetRuleKeyName) $(MAXIMUM_ALLOWED) TCKeyNetRules
  1382.     Ifstr $(TCKeyNetRules) != $(KeyNull)
  1383.         SetRegValue $(TCKeyNetRules) {use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleTCUse)}
  1384.         CloseRegKey $(TCKeyNetRules)
  1385.     endif
  1386.     OpenRegKey $(!REG_H_LOCAL) "" $(NetBTNetRuleKeyName) $(MAXIMUM_ALLOWED) NetBTKeyNetRules
  1387.     Ifstr $(NetBTKeyNetRules) != $(KeyNull)
  1388.         SetRegValue $(NetBTKeyNetRules) {use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleNETBTUse)}
  1389.         CloseRegKey $(NetBTKeyNetRules)
  1390.     endif
  1391.     OpenRegKey $(!REG_H_LOCAL) "" $(ProductTCKeyName) $(MAXIMUM_ALLOWED) TCKeyCurrentVersion
  1392.     Ifstr $(TCKeyCurrentVersion) != $(KeyNull)
  1393.         SetRegValue $(TCKeyCurrentVersion) {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductTCDescription)}
  1394.         SetRegValue $(TCKeyCurrentVersion) {OperationsSupport,$(NoTitle),$(!REG_VT_DWORD),$(ProductOpSupport)}
  1395.         CloseRegKey $(TCKeyCurrentVersion)
  1396.     endif
  1397.     goto end
  1398. successful = +
  1399.     goto end
  1400. infomsg =+
  1401.    read-syms InfoDlg
  1402.    ui start "Warning"
  1403.    set CommonStatus = STATUS_USERCANCEL
  1404.    goto end
  1405. warning = +
  1406.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
  1407.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1408.         goto ShellCodeError
  1409.     endif
  1410.     ifstr(i) $($R1) == "OK"
  1411.         goto $(to)
  1412.     else-ifstr(i) $($R1) == "CANCEL"
  1413.         goto $(from)
  1414.     else
  1415.         goto "end"
  1416.     endif
  1417. nonfatalinfo = +
  1418.     Set CommonStatus = STATUS_USERCANCEL
  1419.     Set Severity = STATUS
  1420.     goto nonfatalmsg
  1421. nonfatal = +
  1422.     Set Severity = NONFATAL
  1423.     goto nonfatalmsg
  1424. nonfatalmsg = +
  1425.     ifstr(i) $(Error) == ""
  1426.         Set Severity = NONFATAL
  1427.         Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  1428.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1429.             goto ShellCodeError
  1430.         endif
  1431.         set Error = $($R0)
  1432.     endif
  1433.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
  1434.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1435.         goto ShellCodeError
  1436.     endif
  1437.     ifstr(i) $($R1) == "OK"
  1438.         goto $(from)
  1439.     else
  1440.         goto "end"
  1441.     endif
  1442. fatalregistry = +
  1443.     Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
  1444.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1445.         goto ShellCodeError
  1446.     endif
  1447.     set Error = $($R0)
  1448.     goto fatal
  1449. fatal = +
  1450.     ifstr(i) $(Error) == ""
  1451.         Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  1452.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1453.             goto ShellCodeError
  1454.         endif
  1455.         set Error = $($R0)
  1456.     endif
  1457.     Ifint $(BillboardVisible) != 0
  1458.         Shell "subroutn.inf" PopBillboard
  1459.         Set BillboardVisible = 0
  1460.     Endif
  1461.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
  1462.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1463.         goto ShellCodeError
  1464.     endif
  1465.    goto setfailed
  1466. ShellCodeError = +
  1467.     set DlgType      = "MessageBox"
  1468.     set STF_MB_TITLE = $(ShellCodeErrorTitle)
  1469.     set STF_MB_TEXT  = $(ShellCodeErrorText)
  1470.     set STF_MB_TYPE  = 1
  1471.     set STF_MB_ICON  = 3
  1472.     set STF_MB_DEF   = 1
  1473.     ui start "Error Message"
  1474.     goto setfailed
  1475. setfailed = +
  1476.     set CommonStatus = STATUS_FAILED
  1477.     ifstr(i) $(OEM_ABANDON_ON) == TRUE
  1478.         set OEM_ABANDON_ON = FALSE
  1479.         goto removeadapter
  1480.     endif
  1481.     goto end
  1482. end = +
  1483.     freeLibrary $(!TCPCFG_HANDLE)
  1484.     goto term
  1485. term = +
  1486.     Return $(CommonStatus)
  1487. [CreateEventLog]
  1488.     read-syms GeneralConstants
  1489.     set NameOfService = $($0)
  1490.     set EventFile     = $($1)
  1491.     set TypeSupported = $($2)
  1492.     OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\EventLog\System" $(MAXIMUM_ALLOWED) KeyEventLog
  1493.     Ifstr $(KeyEventLog) != ""
  1494.         OpenRegKey $(KeyEventLog) "" $(NameOfService) $(MAXIMUM_ALLOWED) KeyService
  1495.            ifstr(i) $(KeyService) == ""
  1496.                CreateRegKey $(KeyEventLog) {$(NameOfService),$(NoTitle),GenericClass} "" $(MAXIMUM_ALLOWED) "" KeyService
  1497.            endif
  1498.            Ifstr $(KeyService) != ""
  1499.                SetRegValue $(KeyService) {EventMessageFile,$(NoTitle),$(!REG_VT_EXPAND_SZ),$(EventFile)}
  1500.                SetRegValue $(KeyService) {TypesSupported,$(NoTitle),$(!REG_VT_DWORD),$(TypeSupported)}
  1501.            endif
  1502.         Endif
  1503.     endif
  1504. CreateEventLogEnd = +
  1505.     return NO_ERROR
  1506. [GetFilesSize]
  1507.     set FileSizeList = >(>(>(^(Files-TC,3),^(Files-TCPIPEXE,3)),^(Files-ETC,3)),^(Files-LMHOST,3))
  1508.     set TotalSize = 0
  1509.     ForListDo $(FileSizeList)
  1510.         ForListDo $($)
  1511.             Split-String $($) "=" SplitString
  1512.             set Size = *($(SplitString),3)
  1513.             set-add TotalSize = $(TotalSize) $(Size)
  1514.         EndForListDo
  1515.     EndForListDo
  1516.     set-div SizeInK = $(TotalSize) 1024
  1517.     return $(SizeInK)
  1518. [Install-Option]
  1519.     set STF_VITAL = ""
  1520.     ifstr(i) $(AddCopy) == "YES"
  1521.         AddSectionFilesToCopyList Files-TC $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  1522.         AddSectionFilesToCopyList Files-TCPIPEXE $(SrcDir) $(!STF_WINDOWSSYSPATH)
  1523.         AddSectionFilesToCopyList Files-ETC $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers\etc
  1524.         AddSectionFilesToCopyList Files-LMHOST $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers\etc
  1525.     endif
  1526.     ifstr(i) $(DoCopy) == "YES"
  1527.        set !STF_NCPA_FLUSH_COPYLIST = TRUE
  1528.        Debug-Output "OEMNXPTC.INF: *** CopyFilesInCopyList [2]"
  1529.        CopyFilesInCopyList
  1530.     endif
  1531.     ifstr(i) $(DoConfig) == "YES"
  1532.     endif
  1533.     Exit
  1534. [Install-Update]
  1535.    set STF_VITAL        = ""
  1536.    set STF_OVERWRITE    = "VERIFYSOURCEOLDER"
  1537.    AddSectionFilesToCopyList Files-TC $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  1538.    AddSectionFilesToCopyList Files-TCPIPEXE $(SrcDir) $(!STF_WINDOWSSYSPATH)
  1539.    AddSectionFilesToCopyList Files-LMHOST $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers\etc
  1540.    AddSectionFilesToCopyList Files-ETC-Upgrade $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers\etc
  1541.    Exit
  1542. [Source Media Descriptions]
  1543.     1 = "Windows NT Server CD-ROM", TAGFILE = cdrom_s.40
  1544. [Signature]
  1545.     FileType = MICROSOFT_FILE
  1546. [GetSignature]
  1547.     read-syms Signature
  1548.     return $(FileType)
  1549. [ProductType]
  1550. STF_PRODUCT  = LanmanNT
  1551. STF_PLATFORM = I386
  1552. [Files-Inf]
  1553. 2,    oemsetup.inf,     SIZE=1000,    RENAME=$(!UG_Filename)
  1554. [Files-ETC-Upgrade]
  1555. 1,HOSTS , SIZE=999, RENAME=HOSTS.SAM
  1556. 1,SERVICES , SIZE=6007, RENAME=SERVICES.SAM
  1557. [Files-ETC]
  1558. 1,HOSTS , SIZE=999
  1559. 1,NETWORKS , SIZE=407
  1560. 1,PROTOCOL , SIZE=800
  1561. 1,SERVICES , SIZE=6007
  1562. [Files-LMHOST]
  1563. 1,LMHOSTS.SAM , SIZE=3691
  1564. [Files-LMHOSTOTHER]
  1565. 99,LMHOSTS.SAM , SIZE=3691
  1566. [Files-TC]
  1567. 1,NETBT.SYS , SIZE=860504
  1568. 1,TCPIP.SYS , SIZE=752124, OVERWRITE=OLDER
  1569. [Files-TCPIPEXE]
  1570. 1, DHCPCSVC.DLL, SIZE=221312
  1571. 1, DHCPSAPI.DLL, SIZE=116924
  1572. 1, ICMP.DLL, SIZE=41560
  1573. 1, IPCONFIG.EXE, SIZE=388792
  1574. 1, NBTSTAT.EXE, SIZE=87168
  1575. 1, SNMPAPI.DLL, SIZE=121484
  1576. 1, TCPSVCS.EXE, SIZE=139144
  1577. 1, TRACERT.EXE, SIZE=62192
  1578. 1,ARP.EXE , SIZE=110608
  1579. 1,HOSTNAME.EXE , SIZE=61244
  1580. 1,INETMIB1.DLL , SIZE=171652
  1581. 1,IPINFO.INF , SIZE=999
  1582. 1,LMHSVC.DLL , SIZE=68684
  1583. 1,NETSTAT.EXE , SIZE=111112
  1584. 1,PING.EXE , SIZE=69732
  1585. 1,ROUTE.EXE , SIZE=123748
  1586. [LanguagesSupported]
  1587.     ENG
  1588. [OptionsTextENG]
  1589.     TC     = "TCP/IP プロトコル"
  1590. [FileConstantsENG]
  1591. ProCaption   = "Windows NT セットアップ"
  1592. ProCancel    = "キャンセル"
  1593. ProCancelMsg = "Windows NT ネットワークは正しくインストールされていません。"+
  1594.                "ファイルのコピーを中止しますか?"
  1595. ProCancelCap = "ネットワーク セットアップ メッセージ"
  1596. ProText1     = "コピー元:"
  1597. ProText2     = "コピー先:"
  1598. NoNewComponents = "インストールする新しいコンポーネントがありません。"
  1599. FunctionTitle   = "TCP/IP セットアップ"
  1600. ProductNETBTDescription           = "NetBT System ドライバ"
  1601. ProductNETBTDisplayName   = "WINS Client (TCP/IP)"
  1602. ProductNETBTTitle         = "WINS クライアント (TCP/IP)"
  1603. ProductTELNETDisplayName = "Telnet"
  1604. ProductTELNETTitle      = "Telnet ネットワーク サポート環境"
  1605. ProductTELNETSYSDisplayName = "Telnetsys"
  1606. ProductTELNETSYSTitle     = "Telnet ドライバ"
  1607. ProductLMHOSTSDisplayName = "TCP/IP NetBIOS Helper"
  1608. ProductLMHOSTSTitle     = "TCP/IP NetBIOS ヘルパ"
  1609. ProductDHCPDisplayName = "DHCP Client"
  1610. ProductDHCPTitle     = "DHCP クライアント"
  1611. ProductTCDisplayName = "TCP/IP Service"
  1612. ProductTCTitle     = "TCP/IP プロトコル"
  1613. ProductTCDescription         = "伝送制御プロトコル/インターネット プロトコル。相互接続されたさまざまなネットワーク間の通信を提供する、既定のワイド エリア ネットワーク プロトコルです。"
  1614. ProviderDisplayName     = "TCP/IP"
  1615. ShellCodeErrorTitle     = "エラー: "$(FunctionTitle)
  1616. ShellCodeErrorText      = "シェル コード エラーです。"
  1617. RASRebindError = "セットアップはリモート アクセス サービスがインストールされていることを検出しました。TCP/IP プロトコルをサポートするように RAS を構成しますか?"
  1618. [DialogConstantsENG]
  1619. Help        = "ヘルプ(&H)"
  1620. Exit        = "キャンセル"
  1621. OK          = "OK"
  1622. HelpContext = ""
  1623. Continue    = "続行"
  1624. Cancel      = "キャンセル"
  1625. [FileDependentDlgENG]
  1626. [InfoDlg]
  1627. STF_MB_TITLE = "情報メッセージ"
  1628. DlgType = "MessageBox"
  1629. STF_MB_TEXT  = $(InfoMsgText)
  1630. STF_MB_TYPE  = 1
  1631. STF_MB_ICON  = 5
  1632. STF_MB_DEF   = 1
  1633. [DHCPDialog]
  1634. DHCPText = "ネットワーク上に DHCP サーバーがある場合は、動的に IP アドレスを提供するように"+
  1635.            " TCP/IP を構成することができます。不明な場合は、システム管理者に問い合わせてください。DHCP を使用しますか?"
  1636. STF_MB_TITLE = "TCP/IP セットアップ"
  1637. DlgType = "MessageBox"
  1638. STF_MB_TEXT  = $(DHCPText)
  1639. STF_MB_TYPE  = 3
  1640. STF_MB_ICON  = 5
  1641. STF_MB_DEF   = 2
  1642. [InfoDlgCantConfigure]
  1643. InfoMsgText = "現在 TCP/IP サービスはアダプタを使うように構成されていません。"+
  1644.     "インストールの直後であれば、[ネットワーク] ダイアログ ボックスに戻って [OK] または [閉じる] を"+
  1645.     "クリックしてください。このアダプタを構成することができます。"
  1646. [WarningDlgENG]
  1647. STF_MB_TITLE = "TCP/IP セットアップの警告"
  1648. DlgType = "MessageBox"
  1649. STF_MB_TEXT  = $(Error)
  1650. STF_MB_TYPE  = 1
  1651. STF_MB_ICON  = 5
  1652. STF_MB_DEF   = 1
  1653. [Billboard1ENG]
  1654. Status = "TCP/IP および関連するサービスをインストールしています..."
  1655.