home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1996 February / VPR9602A.ISO / i386 / oemnadnf.in_ / oemnadnf.inf
INI File  |  1995-10-25  |  34KB  |  808 lines

  1. [Identification]
  2.     OptionType = NetAdapter
  3. [PlatformsSupported]
  4.     EISA
  5.     "Jazz-Internal Bus"
  6. [Options]
  7.     BONSAI
  8.     RODAN
  9.     NETFLX
  10.     DURANGO
  11.     CPQTOK
  12. [FileConstants]
  13. UtilityInf      = "UTILITY.INF"
  14. subroutineinf   = "SUBROUTN.INF"
  15. SoftwareType    = "driver"
  16. Exit_Code       = 0
  17. NetEventDLL     = "%SystemRoot%\System32\netevent.dll"
  18. IoLogMsgDLL     = "%SystemRoot%\System32\IoLogMsg.dll"
  19. NETFLX_1BYTE    = 6361358
  20. DURANGO_1BYTE   = 6295822
  21. CPQTOK_1BYTE    = 6295822
  22. BONSAI_1BYTE    = 6426894
  23. RODAN_1BYTE     = 6492430
  24. BonsaiString    = "BONSAI"
  25. RodanString     = "RODAN"
  26. Manufacturer    = "Microsoft"
  27. ProductMajorVersion     = "3"
  28. ProductMinorVersion     = "51"
  29. ProductVersion  = $(ProductMajorVersion)"."$(ProductMinorVersion)
  30. ProductSoftwareName     = "NETFLX"
  31. ProductSoftwareImagePath = "\SystemRoot\system32\drivers\netflx.sys"
  32. NetRuleSoftwareType     = "netflxSys ndisDriver netflxDriver"
  33. NetRuleSoftwareUse      = $(SoftwareType)
  34. NetRuleSoftwareBindForm = """NetflxSys"" yes no container"
  35. NetRuleSoftwareClass    = {"netflxDriver basic"}
  36. NetRuleSoftwareBindable = {"netflxDriver netflxAdapter non exclusive 100"}
  37. ProductHardwareName     = "NETFLX"
  38. NetRuleHardwareType     = "netflx netflxAdapter"
  39. NetRuleHardwareBindForm = " yes yes container"
  40. NetRuleHardwareClass    = {"netflxAdapter basic"}
  41. ProductKeyName  = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion"
  42. ParamKeyName    = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters"
  43. NetCardKeyName  = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\Windows NT\CurrentVersion\NetworkCards"
  44. [GeneralConstants]
  45. from      = ""
  46. to        = ""
  47. ExitCodeOk     = 0
  48. ExitCodeCancel = 1
  49. ExitCodeFatal  = 2
  50. KeyNull         = ""
  51. MAXIMUM_ALLOWED   = 33554432
  52. RegistryErrorIndex = NO_ERROR
  53. KeyProduct      = ""
  54. KeyParameters   = ""
  55. TRUE            = 1
  56. FALSE           = 0
  57. NoTitle            = 0
  58. ExitState   = "Active"
  59. OldVersionExisted = $(FALSE)
  60. DriverPath      = $(!STF_NTPATH)\drivers
  61. AdpList = {}
  62. DualNicList = {}
  63. AddAdpCount = 0
  64. [date]
  65.     Now = {} ? $(!LIBHANDLE) GetSystemDate
  66. [Identify]
  67.     read-syms Identification
  68.     set Status     = STATUS_SUCCESSFUL
  69.     set Identifier = $(OptionType)
  70.     set Media      = #("Source Media Descriptions", 1, 1)
  71.     Return $(Status) $(Identifier) $(Media)
  72. [ReturnOptions]
  73.     set Status        = STATUS_FAILED
  74.     set OptionList     = {}
  75.     set OptionTextList = {}
  76.     set LanguageList = ^(LanguagesSupported, 1)
  77.     Ifcontains(i) $($0) in $(LanguageList)
  78.         ifstr(i) $($1) == ""
  79.            goto returnoptions
  80.         endif
  81.         set PlatformList = ^(PlatformsSupported, 1)
  82.         Ifcontains(i) $($1) in $(PlatformList)
  83.            goto returnoptions
  84.         else
  85.            set Status = STATUS_NOTSUPPORTED
  86.            goto finish_ReturnOptions
  87.         endif
  88.     else
  89.         set Status = STATUS_NOLANGUAGE
  90.         goto finish_ReturnOptions
  91.     endif
  92. returnoptions = +
  93.     set OptionList     = ^(Options, 1)
  94.     set OptionTextList = ^(OptionsText$($0), 1)
  95.     set Status         = STATUS_SUCCESSFUL
  96. finish_ReturnOptions = +
  97.     Return $(Status) $(OptionList) $(OptionTextList)
  98. [InstallOption]
  99.     set Option   = $($1)
  100.     set SrcDir   = $($2)
  101.     set AddCopy  = $($3)
  102.     set DoCopy   = $($4)
  103.     set DoConfig = $($5)
  104.     set LanguageList = ^(LanguagesSupported, 1)
  105.     Ifcontains(i) $($0) NOT-IN $(LanguageList)
  106.         Return STATUS_NOLANGUAGE
  107.     endif
  108.     Debug-Output "OEMNADNF.INF: STF_CWDIR is: "$(!STF_CWDIR)
  109.     Debug-Output "OEMNADNF.INF: STF_LANGUAGE is: "$(!STF_LANGUAGE)
  110.     set-subst LF = "\n"
  111.     read-syms GeneralConstants
  112.     read-syms FileConstants
  113.     read-syms DialogConstants$(!STF_LANGUAGE)
  114.     ifstr(i) $(!NTN_Origination) == "NCPA"
  115.         set Continue = $(OK)
  116.     endif
  117.     read-syms FileConstants$(!STF_LANGUAGE)
  118.     detect date
  119.     set-title  $(FunctionTitle)
  120.     set to   = Begin
  121.     set from = Begin
  122.     set CommonStatus = STATUS_SUCCESSFUL
  123.     EndWait
  124. Begin = +
  125.     Ifstr(i) $(!NTN_InstallMode) == deinstall
  126.         set StartLabel = removeadapter
  127.     else-Ifstr(i) $(!NTN_InstallMode) == Update
  128.         set StartLabel = UpgradeSoftware
  129.     else-Ifstr(i) $(!NTN_InstallMode) == bind
  130.         set StartLabel = bindingadapter
  131.     else-Ifstr(i) $(!NTN_InstallMode) == configure
  132.         set CommonStatus = STATUS_REBOOT
  133.         Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  134.             Debug-Output "Cannot configure the Compaq Netflex driver software."
  135.             Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
  136.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  137.                 Debug-Output "ShellCode error: cannot get an error string."
  138.                 goto ShellCodeError
  139.             endif
  140.             set Error = $($R0)
  141.             set from = end
  142.             set to = end
  143.             goto nonfatal
  144.         endif
  145.         set CommonStatus = STATUS_REBOOT
  146.         set StartLabel = configureadapter
  147.     else
  148.         set StartLabel = installadapter
  149.         set OEM_ABANDON_OPTIONS = {}
  150.         set OEM_ABANDON_SOFTWARE = FALSE
  151.         set OEM_ABANDON_ON = TRUE
  152.     endif
  153.     set from = $(fatal)
  154.     set to = $(fatal)
  155.     goto $(StartLabel)
  156. installadapter = +
  157.     OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  158.     Ifstr $(KeyProduct) != $(KeyNull)
  159.     CloseRegKey $(KeyProduct)
  160.         ifstr(i) !(NTN_RegBase) == $(ProductKeyName)
  161.             Shell $(UtilityInf), VerExistedDlg, $(ProductSoftwareTitle),+
  162.                 $(ProductVersion)
  163.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  164.                 goto ShellCodeError
  165.             endif
  166.             goto end
  167.         else
  168.             set OldVersionExisted = $(TRUE)
  169.         endif
  170.     endif
  171.     goto nextstep
  172. configureadapter = +
  173.     Ifstr $(KeyProduct) == $(KeyNull)
  174.         OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) KeyProduct
  175.         Ifstr $(KeyProduct) == $(KeyNull)
  176.             set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  177.             Debug-Output "Cannot find component product key"
  178.             goto fatalregistry
  179.         Endif
  180.     Endif
  181.     Debug-Output "INF: Shelling to FindService"
  182.     Shell $(UtilityInf) FindService, $(KeyProduct)
  183.     Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  184.         Debug-Output "INF: FindService shell failure"
  185.         Goto ShellCodeError
  186.     Endif
  187.     Ifstr(i) $($R0) != NO_ERROR
  188.         Debug-Output "INF: FindService Shell error: "$($R0)
  189.         Goto fatalregistry
  190.     endif
  191.     Set KeyParameters = $($R2)
  192.     ifstr(i) $(KeyParameters) != ""
  193.         GetRegValue $(KeyParameters),"MediaType", MediaTypeInfo
  194.         ifint *($(MediaTypeInfo),4) != 2
  195.             Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_HARDWARE
  196.             set from = end
  197.             set to = end
  198.             set Error = $($R0)
  199.             goto nonfatal
  200.         else
  201.             GetRegValue $(KeyParameters),"NetworkAddress", NetworkAddressInfo
  202.             set NetworkAddress = *($(NetworkAddressInfo), 4)
  203.             read-syms FileDependentDlg$(!STF_LANGUAGE)
  204.             ui start "NetworkAddress"
  205.             ifstr(i) $(DLGEVENT) == "CONTINUE"
  206.                 set NetworkAddress = *($(EditTextOut),1)
  207.                 SetRegValue $(KeyParameters) {NetworkAddress,$(NoTitle),$(!REG_VT_SZ),$(NetworkAddress)}
  208.                 ui pop 1
  209.             else
  210.                 set CommonStatus = STATUS_USERCANCEL
  211.                 ui pop 1
  212.             endif
  213.         endif
  214.         CloseRegKey $(KeyParameters)
  215.     endif
  216.     goto successful
  217. nextstep = +
  218.     StartWait
  219.     set DualPort = FALSE
  220.     ifstr $(Option) == "NETFLX"
  221.         Shell $(UtilityInf), EISAFindBus, $(NETFLX_1BYTE)
  222.     else-ifstr $(Option) == "DURANGO"
  223.         Shell $(UtilityInf), EISAFindBus, $(DURANGO_1BYTE)
  224.     else-ifstr $(Option) == "CPQTOK"
  225.         Shell $(UtilityInf), EISAFindBus, $(CPQTOK_1BYTE)
  226.     else-ifstr $(Option) == "BONSAI"
  227.         Shell $(UtilityInf), EISAFindBus, $(BONSAI_1BYTE)
  228.         set DualPort = TRUE
  229.     else
  230.         Shell $(UtilityInf), EISAFindBus, $(RODAN_1BYTE)
  231.         set DualPort = TRUE
  232.     endif
  233.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  234.         goto ShellCodeError
  235.     endif
  236.     ifstr $($R0) != "NO_ERROR"
  237.         set Error = $($R0)
  238.         goto fatal
  239.     endif
  240.     ifstr(i) $($R1) == {}
  241.         set Error = $(CANNOT_FIND_ANY_CARD)
  242.         set CommonStatus = STATUS_USERCANCEL
  243.         set from = end
  244.         goto nonfatal
  245.     endif
  246.     set AdapterList = $($R1)
  247.     ifint $(OldVersionExisted) == $(FALSE)
  248.         ifstr(i) $(!NTN_InstallMode) == "install"
  249.            Ifstr(i) $(DoCopy) == "YES"
  250.               Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES
  251.               Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  252.                   Goto ShellCodeError
  253.               Else-Ifstr(i) $($R0) == STATUS_FAILED
  254.                   Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
  255.                   ifint $($ShellCode) != $(!SHELL_CODE_OK)
  256.                       goto ShellCodeError
  257.                   endif
  258.                   set Error = $($R0)
  259.                   Goto fatal
  260.               Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
  261.                   Goto successful
  262.               Endif
  263.               Set SrcDir = $($R1)
  264.            Endif
  265.            install "Install-Option"
  266.            ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  267.               Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE"
  268.               ifint $($ShellCode) != $(!SHELL_CODE_OK)
  269.                   goto ShellCodeError
  270.               endif
  271.               set Error = $($R0)
  272.               goto fatal
  273.            endif
  274.         endif
  275.         Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), +
  276.             $(ProductSoftwareName), +
  277.             $(ProductSoftwareName), +
  278.             $(ProductSoftwareTitle), $(STF_CONTEXTINFNAME), +
  279.             $(ProductSoftwareImagePath), "kernel", "NDIS", {}, "",+
  280.             $(NetEventDLL)
  281.         Set OEM_ABANDON_SOFTWARE = TRUE
  282.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  283.             goto ShellCodeError
  284.         endif
  285.         set RegistryErrorIndex = $($R0)
  286.         Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
  287.             EndWait
  288.             CloseRegKey $($R1)
  289.             CloseRegKey $($R2)
  290.             CloseRegKey $($R3)
  291.             CloseRegKey $($R4)
  292.             CloseRegKey $($R5)
  293.             goto fatalregistry
  294.         endif
  295.         set SoftProductKey      = $($R1)
  296.         Set SoftNetRuleKey      = $($R2)
  297.         Set SoftServiceKey      = $($R3)
  298.         Set SoftParameterKey    = $($R4)
  299.         Set SoftLinkageKey      = $($R5)
  300.         set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
  301.                            {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)},+
  302.                            {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)},+
  303.                            {Title,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareTitle)},+
  304.                            {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareDescription)},+
  305.                            {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareName)},+
  306.                            {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  307.         Shell  $(UtilityInf), AddValueList, $(SoftProductKey), $(NewValueList)
  308.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  309.             goto ShellCodeError
  310.         endif
  311.         set RegistryErrorIndex = $($R0)
  312.         Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
  313.             EndWait
  314.             CloseRegKey $(SoftProductKey)
  315.             CloseRegKey $(SoftNetRuleKey)
  316.             CloseRegKey $(SoftServiceKey)
  317.             CloseRegKey $(SoftParameterKey)
  318.             CloseRegKey $(SoftLinkageKey)
  319.             goto fatalregistry
  320.         endif
  321.         set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareType)},+
  322.                             {use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareUse)}, +
  323.                             {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareBindForm)}, +
  324.                             {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareClass)}, +
  325.                             {bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareBindable)}, +
  326.                             {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)} }
  327.         Shell  $(UtilityInf), AddValueList, $(SoftNetRuleKey), $(NewValueList)
  328.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  329.             goto ShellCodeError
  330.         endif
  331.         set RegistryErrorIndex = $($R0)
  332.         CloseRegKey $(SoftProductKey)
  333.         CloseRegKey $(SoftNetRuleKey)
  334.         CloseRegKey $(SoftServiceKey)
  335.         CloseRegKey $(SoftParameterKey)
  336.         CloseRegKey $(SoftLinkageKey)
  337.         Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
  338.             EndWait
  339.             goto fatalregistry
  340.         endif
  341.     endif
  342.     ForListDo $(AdapterList)
  343.         set BusNum = *($($),1)
  344.         set SlotNum = *($($),2)
  345.         Debug-Output $(BusNum)
  346.         Debug-Output $(SlotNum)
  347.         Shell $(UtilityInf), IsNetCardAlreadyInstalled, $(BusNum), +
  348.             $(SlotNum), $(ProductHardware$(Option)Description), $(ProductHardwareName)
  349.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  350.             goto ShellCodeError
  351.         endif
  352.         ifstr $($R0) != "NO_ERROR"
  353.             set Error = $($R0)
  354.             goto fatal
  355.         endif
  356.         set tempvar = $($R1)
  357.         ifstr(i) $(DualPort) == TRUE
  358.             set AdpList = { {1},{2} }
  359.         else
  360.             set AdpList = { {1} }
  361.         endif
  362.         set AddAdpCount = 0
  363.         ifstr(i) $(tempvar) != "YES"
  364.           ForListDo $(AdpList)
  365.             Shell $(UtilityInf), AddHardwareComponent, $(ProductHardwareName),$(STF_CONTEXTINFNAME),$(ProductKeyName)
  366.             ifint $($R4) != -1
  367.                 Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4))
  368.             endif
  369.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  370.                 goto ShellCodeError
  371.             endif
  372.             set RegistryErrorIndex = $($R0)
  373.             Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
  374.                 EndWait
  375.                 CloseRegKey $($R1)
  376.                 CloseRegKey $($R2)
  377.                 CloseRegKey $($R3)
  378.                 goto fatalregistry
  379.             endif
  380.             Set HardNetCardKey      = $($R1)
  381.             Set HardNetRuleKey      = $($R2)
  382.             Set HardParameterKey    = $($R3)
  383.             set AdapterNumber       = $($R4)
  384.             set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+
  385.                                    {Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardware$(Option)Title)},+
  386.                                    {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardware$(Option)Description)},+
  387.                                    {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+
  388.                                    {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
  389.                                    {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  390.             Shell  $(UtilityInf), AddValueList, $(HardNetCardKey), $(NewValueList)
  391.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  392.                 goto ShellCodeError
  393.             endif
  394.             ifstr $(Option) == "NETFLX"
  395.                 LoadLibrary "x" $(!STF_CWDDIR)netflx.dll !NETFLEX_HANDLE
  396.                 set Option_1Byte = $(NETFLX_1BYTE)
  397.                 LibraryProcedure Result $(!NETFLEX_HANDLE), GetNetFlexMediaType, "EISAAdapter\"$(BusNum), $(SlotNum)
  398.                 set MediaType = *($(Result),1)
  399.                 FreeLibrary $(!NETFLEX_HANDLE)
  400.             else-ifstr $(Option) == "CPQTOK"
  401.                 set Option_1Byte = $(CPQTOK_1BYTE)
  402.                 set MediaType = 2
  403.             else-ifstr $(Option) == "DURANGO"
  404.                 set Option_1Byte = $(DURANGO_1BYTE)
  405.                 set MediaType = 2
  406.             else-ifstr $(Option) == "BONSAI"
  407.                 set Option_1Byte = $(BONSAI_1BYTE)
  408.                 set MediaType = 1
  409.             else
  410.                 set Option_1Byte = $(RODAN_1BYTE)
  411.                 set MediaType = 2
  412.             endif
  413.              ifint $(AddAdpCount) == 0
  414.                 Shell $(UtilityInf), AssignAdapterNumber
  415.                 ifint $($ShellCode) != $(!SHELL_CODE_OK)
  416.                      goto ShellCodeError
  417.                 endif
  418.                 set AdpNumber1 = $(AdapterNumber)
  419.                 set AdpNumber2 = $($R1)
  420.              endif
  421.              ifstr(i) $(DualPort) == TRUE
  422.                 ifint $(AddAdpCount) == 0
  423.                    set NewValueList = {{BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNum)},+
  424.                            {BusType,$(NoTitle),$(!REG_VT_DWORD),2},+
  425.                            {EisaCompressedId,$(NoTitle),$(!REG_VT_DWORD),$(Option_1Byte)},+
  426.                            {MediaType,$(NoTitle),$(!REG_VT_DWORD),$(MediaType)},+
  427.                            {SlotNumber,$(NoTitle),$(!REG_VT_DWORD),$(SlotNum)},+
  428.                            {PortNumber,$(NoTitle),$(!REG_VT_DWORD), 1},+
  429.                            {PairNumber,$(NoTitle),$(!REG_VT_DWORD), $(AdpNumber2) }}
  430.                 else
  431.                    set NewValueList = {{BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNum)},+
  432.                            {BusType,$(NoTitle),$(!REG_VT_DWORD),2},+
  433.                            {EisaCompressedId,$(NoTitle),$(!REG_VT_DWORD),$(Option_1Byte)},+
  434.                            {MediaType,$(NoTitle),$(!REG_VT_DWORD),$(MediaType)},+
  435.                            {SlotNumber,$(NoTitle),$(!REG_VT_DWORD),$(SlotNum)},+
  436.                            {PortNumber,$(NoTitle),$(!REG_VT_DWORD), 2},+
  437.                            {PairNumber,$(NoTitle),$(!REG_VT_DWORD), $(AdpNumber1) }}
  438.                 endif
  439.              else
  440.                 set NewValueList = {{BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNum)},+
  441.                        {BusType,$(NoTitle),$(!REG_VT_DWORD),2},+
  442.                        {EisaCompressedId,$(NoTitle),$(!REG_VT_DWORD),$(Option_1Byte)},+
  443.                        {MediaType,$(NoTitle),$(!REG_VT_DWORD),$(MediaType)},+
  444.                        {SlotNumber,$(NoTitle),$(!REG_VT_DWORD),$(SlotNum)}}
  445.              endif
  446.              Shell  $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
  447.              ifint $($ShellCode) != $(!SHELL_CODE_OK)
  448.                  goto ShellCodeError
  449.              endif
  450.              set NetworkAddress = ""
  451.              ifint $(MediaType) == 2
  452.                 read-syms FileDependentDlg$(!STF_LANGUAGE)
  453.                 ui start "NetworkAddress"
  454.                 ifstr(i) $(DLGEVENT) == "CONTINUE"
  455.                     set NetworkAddress = *($(EditTextOut),1)
  456.                     SetRegValue $(HardParameterKey) {NetworkAddress,$(NoTitle),$(!REG_VT_SZ),$(NetworkAddress)}
  457.                     ui pop 1
  458.                 endif
  459.              endif
  460.              set TempProdName = """"$(ProductHardwareName)$(AdapterNumber)""""
  461.              set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
  462.              set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardwareType)},+
  463.                                  {bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, +
  464.                                  {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardwareClass)}, +
  465.                                  {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)} }
  466.              Shell  $(UtilityInf), AddValueList, $(HardNetRuleKey), $(NewValueList)
  467.              CloseRegKey $(HardNetCardKey)
  468.              CloseRegKey $(HardNetRuleKey)
  469.              CloseRegKey $(HardParameterKey)
  470.              ifint $($ShellCode) != $(!SHELL_CODE_OK)
  471.                  goto ShellCodeError
  472.              endif
  473.              ifstr(i) $(DualPort) == TRUE
  474.                 set-add AddAdpCount = $(AddAdpCount),1
  475.              endif
  476.           EndForListDo
  477.       endif
  478.     EndForListDo
  479.     goto writeparameters
  480. writeparameters = +
  481.     EndWait
  482.     goto successful
  483. bindingadapter =+
  484.     set Error = "Binding: Sorry, not yet implemented."
  485.     goto fatal
  486. removeadapter = +
  487.     Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  488.         Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  489.             $(ProductSoftwareName)
  490.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  491.             Debug-Output "ShellCode error"
  492.             goto ShellCodeError
  493.         endif
  494.         set RegistryErrorIndex = $($R0)
  495.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  496.             goto fatalregistry
  497.         endif
  498.     else
  499.         OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase)"\NetRules" +
  500.             $(MAXIMUM_ALLOWED) NetRulesKey
  501.         Ifstr $(NetRulesKey) == $(KeyNull)
  502.             Debug-Output "UTILITY.INF: Could not open NetRules key"
  503.             set RegistryErrorIndex = UNABLE_ACCESS_CONFIGURE_SERVICE
  504.             goto ShellCodeError
  505.         endif
  506.         GetRegValue $(NetRulesKey), "InfOption", RA_InfOptionInfo
  507.         set RA_InfOption = *($(RA_InfOptionInfo), 4)
  508.         ifstr(i) $(RA_InfOption) == $(BonsaiString)
  509.            goto RemoveSecondAdapter
  510.         else-ifstr(i) $(RA_InfOption) == $(RodanString)
  511.            goto RemoveSecondAdapter
  512.         else
  513.            goto RemoveOriginalAdapter
  514.         endif
  515. RemoveSecondAdapter = +
  516.         Shell "", GetSecondAdapter, $(!NTN_RegBase)
  517.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  518.            Debug-Output "ShellCode error"
  519.            goto ShellCodeError
  520.         endif
  521.         set RegistryErrorIndex = $($R0)
  522.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  523.             goto fatalregistry
  524.         endif
  525.         set PortTwo_RegBase = $($R1)
  526.         Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  527.               $(ProductSoftwareName), $(PortTwo_RegBase)
  528.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  529.            Debug-Output "ShellCode error"
  530.            goto ShellCodeError
  531.         endif
  532.         set RegistryErrorIndex = $($R0)
  533.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  534.            goto fatalregistry
  535.         endif
  536. RemoveOriginalAdapter = +
  537.         Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  538.               $(ProductSoftwareName), $(!NTN_RegBase)
  539.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  540.            Debug-Output "ShellCode error"
  541.            goto ShellCodeError
  542.         endif
  543.         set RegistryErrorIndex = $($R0)
  544.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  545.            goto fatalregistry
  546.         endif
  547.     endif
  548.     goto end
  549. UpgradeSoftware = +
  550.     ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  551.         OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  552.         Ifstr $(KeyProduct) != $(KeyNull)
  553.             install "Install-Update"
  554.             ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  555.                 goto fatal
  556.             endif
  557.             SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)}
  558.             SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)}
  559.             CloseRegKey $(KeyProduct)
  560.         else
  561.             goto fatalregistry
  562.         endif
  563.     endif
  564.     goto end
  565. successful = +
  566.     goto end
  567. abandon = +
  568.     ForListDo $(OEM_ABANDON_OPTIONS)
  569.         Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  570.             $(ProductSoftwareName), $($)
  571.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  572.             Debug-Output "ShellCode error"
  573.             goto ShellCodeError
  574.         endif
  575.         set RegistryErrorIndex = $($R0)
  576.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  577.             goto fatalregistry
  578.         endif
  579.     EndForListDo
  580.     Ifstr(i) $(OEM_ABANDON_SOFTWARE) == TRUE
  581.         Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  582.             $(ProductSoftwareName), FALSE
  583.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  584.             Debug-Output "ShellCode error"
  585.             goto ShellCodeError
  586.         endif
  587.         set RegistryErrorIndex = $($R0)
  588.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  589.             goto fatalregistry
  590.         endif
  591.     endif
  592.     goto end
  593. warning = +
  594.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
  595.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  596.         goto ShellCodeError
  597.     endif
  598.     ifstr(i) $($R1) == "OK"
  599.         goto $(to)
  600.     else-ifstr(i) $($R1) == "CANCEL"
  601.         goto $(from)
  602.     else
  603.         goto end
  604.     endif
  605. nonfatal = +
  606.     ifstr(i) $(Error) == ""
  607.         Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  608.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  609.             goto ShellCodeError
  610.         endif
  611.         set Error = $($R0)
  612.     endif
  613.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "NONFATAL", $(Error)
  614.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  615.         goto ShellCodeError
  616.     endif
  617.     ifstr(i) $($R1) == "OK"
  618.         goto $(from)
  619.     else
  620.         goto end
  621.     endif
  622. fatalregistry = +
  623.     Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
  624.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  625.         goto ShellCodeError
  626.     endif
  627.     set Error = $($R0)
  628.     goto fatal
  629. fatal = +
  630.     ifstr(i) $(Error) == ""
  631.         Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  632.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  633.             goto ShellCodeError
  634.         endif
  635.         set Error = $($R0)
  636.     endif
  637.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
  638.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  639.         goto ShellCodeError
  640.     endif
  641.     goto setfailed
  642. ShellCodeError = +
  643.     set DlgType      = "MessageBox"
  644.     set STF_MB_TITLE = $(ShellCodeErrorTitle)
  645.     set STF_MB_TEXT  = $(ShellCodeErrorText)
  646.     set STF_MB_TYPE  = 1
  647.     set STF_MB_ICON  = 3
  648.     set STF_MB_DEF   = 1
  649.     ui start "Error Message"
  650.     goto setfailed
  651. setfailed = +
  652.     set CommonStatus = STATUS_FAILED
  653.     ifstr(i) $(OEM_ABANDON_ON) == TRUE
  654.         set OEM_ABANDON_ON = FALSE
  655.         goto abandon
  656.     endif
  657.     goto end
  658. end = +
  659.     goto term
  660. term = +
  661.     Return $(CommonStatus)
  662. [GetSecondAdapter]
  663.     read-syms GeneralConstants
  664.     read-syms FileConstants
  665.     Split-String $($0), "\", CardList
  666.     set GS_NetCardNum   = *($(CardList),11)
  667.     set GS_HardKeyName = $(!NTN_ServiceBase)"\"$(ProductHardwareName)$(GS_NetCardNum)"\Parameters"
  668.     set RegistryErrorIndex      = NO_ERROR
  669.     OpenRegKey $(!REG_H_LOCAL) "" $(GS_HardKeyName) $(MAXIMUM_ALLOWED) GS_ParametersKey
  670.     Ifstr $(GS_ParametersKey) == $(KeyNull)
  671.        set RegistryErrorIndex = UNABLE_OPEN_NETWORKCARD_SECTION
  672.        goto GS_Return
  673.     endif
  674.     GetRegValue $(GS_ParametersKey), "PairNumber", GS_AdpNumberInfo
  675.     set GS_AdpNumber = *($(GS_AdpNumberInfo),4)
  676.     set TempNum = $(GS_AdpNumber)
  677.     set ReturnPath = $(NetCardKeyName)"\"$(TempNum)
  678. GS_Return = +
  679.     return $(RegistryErrorIndex) $(ReturnPath)
  680. [Install-Option]
  681.     set STF_VITAL = ""
  682.     ifstr(i) $(AddCopy) == "YES"
  683.         AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  684.         AddSectionFilesToCopyList Files-DLL $(SrcDir) $(!STF_WINDOWSSYSPATH)
  685.     endif
  686.     ifstr(i) $(DoCopy) == "YES"
  687.        set !STF_NCPA_FLUSH_COPYLIST = TRUE
  688.        CopyFilesInCopyList
  689.     endif
  690.     ifstr(i) $(DoConfig) == "YES"
  691.     endif
  692.     Exit
  693. [Install-Update]
  694.    set STF_VITAL        = ""
  695.    set STF_OVERWRITE    = "VERIFYSOURCEOLDER"
  696.    AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  697.    AddSectionFilesToCopyList Files-DLL $(SrcDir) $(!STF_WINDOWSSYSPATH)
  698.    exit
  699. [Source Media Descriptions]
  700.      1 = "Windows NT Server CD-ROM または セットアップ ディスク #5" , TAGFILE = disk1.s
  701.      2 = "Windows NT Server CD-ROM または セットアップ ディスク #6" , TAGFILE = disk2.s
  702.      3 = "Windows NT Server CD-ROM または セットアップ ディスク #7" , TAGFILE = disk3.s
  703.      4 = "Windows NT Server CD-ROM または セットアップ ディスク #8" , TAGFILE = disk4.s
  704.      5 = "Windows NT Server CD-ROM または セットアップ ディスク #9" , TAGFILE = disk5.s
  705.      6 = "Windows NT Server CD-ROM または セットアップ ディスク #10" , TAGFILE = disk6.s
  706.      7 = "Windows NT Server CD-ROM または セットアップ ディスク #11", TAGFILE = disk7.s
  707.      8 = "Windows NT Server CD-ROM または セットアップ ディスク #12", TAGFILE = disk8.s
  708.      9 = "Windows NT Server CD-ROM または セットアップ ディスク #13", TAGFILE = disk9.s
  709.     10 = "Windows NT Server CD-ROM または セットアップ ディスク #14", TAGFILE = disk10.s
  710.     11 = "Windows NT Server CD-ROM または セットアップ ディスク #15", TAGFILE = disk11.s
  711.     12 = "Windows NT Server CD-ROM または セットアップ ディスク #16", TAGFILE = disk12.s
  712.     13 = "Windows NT Server CD-ROM または セットアップ ディスク #17", TAGFILE = disk13.s
  713.     14 = "Windows NT Server CD-ROM または セットアップ ディスク #18", TAGFILE = disk14.s
  714.     15 = "Windows NT Server CD-ROM または セットアップ ディスク #19", TAGFILE = disk15.s
  715.     16 = "Windows NT Server CD-ROM または セットアップ ディスク #20", TAGFILE = disk16.s
  716.     17 = "Windows NT Server CD-ROM または セットアップ ディスク #21", TAGFILE = disk17.s
  717.     18 = "Windows NT Server CD-ROM または セットアップ ディスク #22", TAGFILE = disk18.s
  718.     19 = "Windows NT Server CD-ROM または セットアップ ディスク #23", TAGFILE = disk19.s
  719.     20 = "Windows NT Server CD-ROM または セットアップ ディスク #24", TAGFILE = disk20.s
  720.     21 = "Windows NT Server CD-ROM または セットアップ ディスク #25", TAGFILE = disk21.s
  721.     22 = "Windows NT Server CD-ROM または セットアップ ディスク #26", TAGFILE = disk22.s
  722.     23 = "Windows NT Server CD-ROM または セットアップ ディスク #27", TAGFILE = disk23.s
  723.     24 = "Windows NT Server CD-ROM または セットアップ ディスク #28", TAGFILE = disk24.s
  724.     25 = "Windows NT Server CD-ROM または セットアップ ディスク #29", TAGFILE = disk25.s
  725.     26 = "Windows NT Server CD-ROM または セットアップ ディスク #30", TAGFILE = disk26.s
  726.     27 = "Windows NT Server CD-ROM または セットアップ ディスク #31", TAGFILE = disk27.s
  727.     28 = "Windows NT Server CD-ROM または セットアップ ディスク #32", TAGFILE = disk28.s
  728.     29 = "Windows NT Server CD-ROM または セットアップ ディスク #33", TAGFILE = disk29.s
  729.     30 = "Windows NT Server CD-ROM または セットアップ ディスク #34", TAGFILE = disk30.s
  730.     50 = "Windows NT Server CD-ROM または リモートブート ディスク #1", TAGFILE = disk50.s
  731.     51 = "Windows NT Server CD-ROM または リモートブート ディスク #2", TAGFILE = disk51.s
  732. [Signature]
  733.     FileType = MICROSOFT_FILE
  734. [GetSignature]
  735.     read-syms Signature
  736.     return $(FileType)
  737. [ProductType]
  738. STF_PRODUCT  = LanmanNT
  739. STF_PLATFORM = I386
  740. [Files-Inf]
  741. 2,    oemsetup.inf,     SIZE=1000,    RENAME=$(!UG_Filename)
  742. [Files-BONSAI]
  743. 23,NETFLX.BIN , SIZE=111616
  744. 27,NETFLX.SYS , SIZE=30720
  745. [Files-CPQTOK]
  746. 23,NETFLX.BIN , SIZE=111616
  747. 27,NETFLX.SYS , SIZE=30720
  748. [Files-DLL]
  749. 14,NETFLX.DLL , SIZE=6144
  750. [Files-DURANGO]
  751. 23,NETFLX.BIN , SIZE=111616
  752. 27,NETFLX.SYS , SIZE=30720
  753. [Files-NETFLX]
  754. 23,NETFLX.BIN , SIZE=111616
  755. 27,NETFLX.SYS , SIZE=30720
  756. [Files-RODAN]
  757. 23,NETFLX.BIN , SIZE=111616
  758. 27,NETFLX.SYS , SIZE=30720
  759. [LanguagesSupported]
  760.     ENG
  761. [OptionsTextENG]
  762.     BONSAI     = "COMPAQ NetFlex-2 DualPort ENET コントローラ"
  763.     RODAN      = "COMPAQ NetFlex-2 DualPort TR コントローラ"
  764.     NETFLX     = "COMPAQ NetFlex/NetFlex-2 ENET-TR コントローラ"
  765.     DURANGO    = "COMPAQ NetFlex-2 TR コントローラ"
  766.     CPQTOK     = "COMPAQ 32-Bit DualSpeed Token-Ring コントローラ"
  767. [FileConstantsENG]
  768. ProCaption   = "Windows NT セットアップ"
  769. ProCancel    = "キャンセル(&L)"
  770. ProCancelMsg = "Windows NT ネットワークは正しく組み込まれていません。"+
  771.                "ファイルのコピーを中止しますか?"
  772. ProCancelCap = "ネットワーク セットアップ メッセージ"
  773. ProText1     = "コピー元:"
  774. ProText2     = "コピー先:"
  775. FunctionTitle   = "COMPAQ NetFlex アダプタ カード セットアップ"
  776. ProductSoftwareDescription        = "COMPAQ ENET-TR EISA ドライバ"
  777. ProductHardwareBONSAIDescription  = "COMPAQ NetFlex-2 DualPort ENET コントローラ"
  778. ProductHardwareRODANDescription   = "COMPAQ NetFlex-2 DualPort TR コントローラ"
  779. ProductHardwareNETFLXDescription  = "COMPAQ NetFlex/NetFlex-2 ENET-TR コントローラ"
  780. ProductHardwareDURANGODescription = "COMPAQ Token-Ring コントローラ"
  781. ProductHardwareCPQTOKDescription        = "COMPAQ 32-Bit DualSpeed Token-Ring コントローラ"
  782. CANNOT_FIND_ANY_CARD            = "システムにネットワーク カードが存在しません。"
  783. ProductSoftwareTitle            = "COMPAQ ENET-TR ドライバ"
  784. ProductHardwareBONSAITitle      = "COMPAQ NetFlex-2 DualPort ENET コントローラ"
  785. ProductHardwareRODANTitle       = "COMPAQ NetFlex-2 DualPort TR コントローラ"
  786. ProductHardwareNETFLXTitle      = "COMPAQ NetFlex/NetFlex-2 ENET-TR コントローラ"
  787. ProductHardwareDURANGOTitle     = "COMPAQ NetFlex-2 TR コントローラ"
  788. ProductHardwareCPQTOKTitle      = "COMPAQ 32-Bit Token-Ring コントローラ"
  789. ShellCodeErrorTitle     = "エラー: "$(FunctionTitle)
  790. ShellCodeErrorText      = "シェル コード エラーです。"
  791. [DialogConstantsENG]
  792. Help        = "ヘルプ(&H)"
  793. Exit        = "キャンセル"
  794. OK          = "OK"
  795. HelpContext = ""
  796. Continue    = "続行"
  797. Cancel      = "キャンセル"
  798. [FileDependentDlgENG]
  799. Edit1Label = "ネットワーク アドレス(&N):"
  800. DlgType = "Edit"
  801. DlgTemplate = "NETWORK_NUMBER"
  802. Caption = $(FunctionTitle)
  803. HelpContext = $(!IDH_DB_OEMNADNF_INS)
  804. EditTextLim = 17
  805. EditTextIn  = $(NetworkAddress)
  806. EditFocus   = "ALL"
  807. RCCtlFocusOn = 403
  808.