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

  1. [Identification]
  2.     OptionType = NetAdapter
  3. [PlatformsSupported]
  4.     ISA
  5.     EISA
  6.     "Jazz-Internal Bus"
  7. [Options]
  8.     ELNKII
  9. [FileConstants]
  10. UtilityInf      = "UTILITY.INF"
  11. ParamInf        = "NCPARAM.INF"
  12. subroutineinf   = "SUBROUTN.INF"
  13. SoftwareType    = "driver"
  14. Exit_Code       = 0
  15. NetEventDLL     = "%SystemRoot%\System32\netevent.dll"
  16. IoLogMsgDLL     = "%SystemRoot%\System32\IoLogMsg.dll"
  17. Manufacturer    = "Microsoft"
  18. ProductMajorVersion     = "3"
  19. ProductMinorVersion     = "51"
  20. ProductVersion  = $(ProductMajorVersion)"."$(ProductMinorVersion)
  21. ProductSoftwareName     = "Elnkii"
  22. ProductSoftwareImagePath = "\SystemRoot\System32\drivers\elnkii.sys"
  23. NetRuleSoftwareType     = "elnkiiSys ndisDriver elnkiiDriver"
  24. NetRuleSoftwareUse      = $(SoftwareType)
  25. NetRuleSoftwareBindForm = """ElnkIISys"" yes no container"
  26. NetRuleSoftwareClass    = {"elnkiiDriver basic"}
  27. NetRuleSoftwareBindable = {"elnkiiDriver elnkiiAdapter non exclusive 100"}
  28. ProductHardwareName     = "Elnkii"
  29. NetRuleHardwareType     = "elnkii elnkiiAdapter"
  30. NetRuleHardwareBindForm = " yes yes container"
  31. NetRuleHardwareClass    = {"elnkiiAdapter basic"}
  32. ProductKeyName  = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion"
  33. ParamKeyName    = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters"
  34. [GeneralConstants]
  35. from      = ""
  36. to        = ""
  37. ExitCodeOk     = 0
  38. ExitCodeCancel = 1
  39. ExitCodeFatal  = 2
  40. KeyNull         = ""
  41. MAXIMUM_ALLOWED   = 33554432
  42. RegistryErrorIndex = NO_ERROR
  43. KeyProduct      = ""
  44. KeyParameters   = ""
  45. TRUE            = 1
  46. FALSE           = 0
  47. NoTitle            = 0
  48. ExitState   = "Active"
  49. OldVersionExisted = $(FALSE)
  50. DriverPath      = $(!STF_NTPATH)\drivers
  51. [date]
  52.     Now = {} ? $(!LIBHANDLE) GetSystemDate
  53. [Identify]
  54.     read-syms Identification
  55.     set Status     = STATUS_SUCCESSFUL
  56.     set Identifier = $(OptionType)
  57.     set Media      = #("Source Media Descriptions", 1, 1)
  58.     Return $(Status) $(Identifier) $(Media)
  59. [ReturnOptions]
  60.     set Status        = STATUS_FAILED
  61.     set OptionList     = {}
  62.     set OptionTextList = {}
  63.     set LanguageList = ^(LanguagesSupported, 1)
  64.     Ifcontains(i) $($0) in $(LanguageList)
  65.         ifstr(i) $($1) == ""
  66.                         goto returnoptions
  67.         endif
  68.         set PlatformList = ^(PlatformsSupported, 1)
  69.         Ifcontains(i) $($1) in $(PlatformList)
  70.                         goto returnoptions
  71.         else
  72.                         set Status = STATUS_NOTSUPPORTED
  73.                         goto finish_ReturnOptions
  74.         endif
  75.     else
  76.                 set Status = STATUS_NOLANGUAGE
  77.                 goto finish_ReturnOptions
  78.     endif
  79. returnoptions = +
  80.     set OptionList     = ^(Options, 1)
  81.     set OptionTextList = ^(OptionsText$($0), 1)
  82.     set Status         = STATUS_SUCCESSFUL
  83. finish_ReturnOptions = +
  84.     Return $(Status) $(OptionList) $(OptionTextList)
  85. [InstallOption]
  86.     set Status   = STATUS_FAILED
  87.     set Option   = $($1)
  88.     set SrcDir   = $($2)
  89.     set AddCopy  = $($3)
  90.     set DoCopy   = $($4)
  91.     set DoConfig = $($5)
  92.     set LanguageList = ^(LanguagesSupported, 1)
  93.     Ifcontains(i) $($0) NOT-IN $(LanguageList)
  94.         Return STATUS_NOLANGUAGE
  95.     endif
  96.     set-subst LF = "\n"
  97.     read-syms GeneralConstants
  98.     read-syms FileConstants
  99.     read-syms DialogConstants$(!STF_LANGUAGE)
  100.     ifstr(i) $(!NTN_Origination) == "NCPA"
  101.         set Continue = $(OK)
  102.     endif
  103.     read-syms FileConstants$(!STF_LANGUAGE)
  104.     detect date
  105.     set-title  $(FunctionTitle)
  106.     set to   = Begin
  107.     set from = Begin
  108.     set CommonStatus = STATUS_SUCCESSFUL
  109.     EndWait
  110. Begin = +
  111.     Set ActivateDetection = FALSE
  112.     Ifstr(i) $(!NTN_InstallMode) == deinstall
  113.         set StartLabel = removeadapter
  114.     else-Ifstr(i) $(!NTN_InstallMode) == Update
  115.         set StartLabel = UpgradeSoftware
  116.     else-Ifstr(i) $(!NTN_InstallMode) == bind
  117.         set StartLabel = bindingadapter
  118.     else-Ifstr(i) $(!NTN_InstallMode) == configure
  119.         set CommonStatus = STATUS_REBOOT
  120.         set ActivateDetection = TRUE
  121.         set StartLabel = configureadapter
  122.         Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  123.             Debug-Output "Cannot configure the Elink II driver software."
  124.             Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
  125.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  126.                 Debug-Output "ShellCode error: cannot get an error string."
  127.                 goto ShellCodeError
  128.             endif
  129.             set Error = $($R0)
  130.             set from = end
  131.             set to = end
  132.             goto nonfatalinfo
  133.         endif
  134.     else
  135.         set ActivateDetection = TRUE
  136.         set StartLabel = installadapter
  137.         set OEM_ABANDON_OPTIONS = {}
  138.         set OEM_ABANDON_SOFTWARE = FALSE
  139.         set OEM_ABANDON_ON = TRUE
  140.     endif
  141.     Debug-Output "OEMNADE2.INF: =================================================="
  142.     Debug-Output "OEMNADE2.INF: STF_CWDIR is: "$(!STF_CWDIR)
  143.     Debug-Output "OEMNADE2.INF: STF_LANGUAGE is: "$(!STF_LANGUAGE)
  144.     Debug-Output "OEMNADE2.INF: Option is: "$(Option)
  145.     Debug-Output "OEMNADE2.INF: !STF_NCDETECT  is: "$(!STF_NCDETECT)
  146.     Debug-Output "OEMNADE2.INF: !STF_NCOPTION  is: "$(!STF_NCOPTION)
  147.     Debug-Output "OEMNADE2.INF: !STF_NCDETCARD is: "$(!STF_NCDETCARD)
  148.     Debug-Output "OEMNADE2.INF: !STF_NCDETINFO is: "$(!STF_NCDETINFO)
  149.     Debug-Output "OEMNADE2.INF: =================================================="
  150.     Set DetectedCard = FALSE
  151.     Ifstr(i) $(ActivateDetection) != TRUE
  152.         Goto $(StartLabel)
  153.     Endif
  154.     Set TypeList = {{IRQ, IRQ_List, IRQ_Level},+
  155.                     {IOADDR, IOADDR_Addr_List, IOBaseAddrValue},+
  156.                     {MEMADDR, MemBaseAddrDecList, MemBaseAddrDec},+
  157.                     {TRANSCEIVER, TranceiverValueList, TransceiverValue}}
  158.     Debug-Output "OEMNADE2.INF: Calling Param_BuildTypeLists"
  159.     Shell $(ParamInf) Param_BuildTypeLists $(Option) $(TypeList)
  160.     Set Status = $($R0)
  161.     ifstr(i) $(Status) != STATUS_SUCCESSFUL
  162.         Goto fataldetect
  163.     Endif
  164.     Debug-Output "OEMNADE2.INF: Calling Param_SetDefaults"
  165.     Shell $(ParamInf) Param_SetDefaults {}
  166.     Shell $(ParamInf) HexListFromDecList $(IOADDR_Addr_List)
  167.     Set IOADDR_Hex_List = $($R0)
  168.     Shell $(UtilityInf) SortList $(IRQ_List) TRUE FALSE
  169.     Set IRQ_List = $($R0)
  170.     Ifstr(i) $(!STF_NCDETECT) == YES
  171.         Ifstr(i) $(!STF_NCOPTION) == $(Option)
  172.            Set DetectedCard = TRUE
  173.            Debug-Output "OEMNADE2.INF: Setting DetectedCard to TRUE"
  174.         Endif
  175.     Endif
  176.     Set MappedValue = 1
  177.     Ifint $(MemBaseAddrDec) == 0
  178.        Set MappedValue = 0
  179.     Endif
  180.     Shell "" DebugConfiguration "After parameter querying"
  181.     Set from = $(fatal)
  182.     Set to = $(fatal)
  183.     Goto $(StartLabel)
  184. installadapter = +
  185.     OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  186.     Ifstr $(KeyProduct) != $(KeyNull)
  187.         CloseRegKey $(KeyProduct)
  188.         ifstr(i) !(NTN_RegBase) == $(ProductKeyName)
  189.            Shell $(UtilityInf), VerExistedDlg, $(ProductSoftwareTitle),+
  190.                $(ProductVersion)
  191.            ifint $($ShellCode) != $(!SHELL_CODE_OK)
  192.                Debug-Output "ShellCode error: cannot get an error string."
  193.                goto ShellCodeError
  194.            endif
  195.            goto end
  196.         else
  197.            Shell $(UtilityInf), CardExistedDlg
  198.            ifint $($ShellCode) != $(!SHELL_CODE_OK)
  199.                Debug-Output "ShellCode error: cannot get an error string."
  200.                goto ShellCodeError
  201.            endif
  202.            ifstr(i) $($R1) != "OK"
  203.                set CommonStatus = STATUS_USERCANCEL
  204.                goto end
  205.            endif
  206.            set OldVersionExisted = $(TRUE)
  207.         endif
  208.     endif
  209.     Set CurrParamSettings = {}
  210.     Ifstr(i) $(DetectedCard) != TRUE
  211.         Goto adaptersetup
  212.     Endif
  213.     StartWait
  214.     Shell $(ParamInf) Param_QueryCard $(!STF_NCDETCARD)
  215.     EndWait
  216.     Ifstr(i) $($R0) != STATUS_SUCCESSFUL
  217.         Goto adaptersetup
  218.     Endif
  219.     Set DetectedParams = $($R1)
  220.     Debug-Output "OEMNADE2.INF: Calling Param_SetDefaults to merge detected params"
  221.     Shell $(ParamInf) Param_SetDefaults $(DetectedParams)
  222.     goto adaptersetup
  223. configureadapter = +
  224.     Ifstr $(KeyProduct) == $(KeyNull)
  225.         OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) KeyProduct
  226.         Ifstr $(KeyProduct) == $(KeyNull)
  227.             set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  228.             Debug-Output "Cannot find component product key"
  229.             goto fatalregistry
  230.         Endif
  231.     Endif
  232.     Debug-Output "INF: Shelling to FindService"
  233.     Shell $(UtilityInf) FindService, $(KeyProduct)
  234.     Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  235.         Debug-Output "INF: FindService shell failure"
  236.         Goto ShellCodeError
  237.     Endif
  238.     Ifstr(i) $($R0) != NO_ERROR
  239.         Debug-Output "INF: FindService Shell error: "$($R0)
  240.         Goto fatalregistry
  241.     endif
  242.     Set KeyParameters = $($R2)
  243.     CloseRegKey $($R1)
  244.     Ifstr $(KeyParameters) == $(KeyNull)
  245.         set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  246.         Debug-Output "Cannot find component service"
  247.         goto fatalregistry
  248.     endif
  249.     set OldVersionExisted = $(TRUE)
  250.     set ValueName = ""
  251.     set ValueData = ""
  252.     set ValueStr  = ""
  253.     set ValueList = {}
  254.     EnumRegValue $(KeyParameters) ValueList
  255.     ForListDo $(ValueList)
  256.         set ValueItem = $($)
  257.         set ValueName = *($(ValueItem),1)
  258.         set ValueData = *($(ValueItem),4)
  259.         Ifstr(i) $(ValueName) == "Transceiver"
  260.             set TransceiverValue = $(ValueData)
  261.         else-ifstr(i) $(ValueName) == "MemoryMapped"
  262.             set MappedValue = $(ValueData)
  263.         else-ifstr(i) $(ValueName) == "InterruptNumber"
  264.             set IRQ_Level = $(ValueData)
  265.         else-ifstr(i) $(ValueName) == "IoBaseAddress"
  266.             set IOBaseAddrValue = $(ValueData)
  267.         else-ifstr(i) $(ValueName) == "BusType"
  268.             set BusInterfaceType = $(ValueData)
  269.         else-ifstr(i) $(ValueName) == "BusNumber"
  270.             set BusNumber = $(ValueData)
  271.         endif
  272.     EndForListDo
  273.     Shell $(ParamInf) Param_SaveValues
  274.     Set CurrParamSettings = $($R0)
  275. adaptersetup = +
  276.     Shell "" DebugConfiguration "before displaying dialog"
  277.     Set from = adapteroptions
  278.     Set IOADDR_Hex_Value = *($(IOADDR_Hex_List), ~($(IOADDR_Addr_List),$(IOBaseAddrValue)))
  279.     Ifint $(MappedValue) == 0
  280.         Set CheckItemsIn = {"OFF"}
  281.     Else
  282.         Set CheckItemsIn = {"ON"}
  283.     Endif
  284.     Ifint $(TransceiverValue) == 1
  285.         Set RadioIn = {1}
  286.     Else
  287.         Set RadioIn = {2}
  288.     Endif
  289.     Shell $(ParamInf) Param_ParameterConfidence
  290.     Ifstr(i) $($R0) != STATUS_SUCCESSFUL
  291.         Debug-Output "OEMNADE2.INF: parameter confidence too low to bypass configuration"
  292.         Goto adapteroptions
  293.     Endif
  294.     Ifstr(i) $(DetectedCard) == TRUE
  295.         Ifstr(i) $(!STF_INSTALL_MODE) != CUSTOM
  296.             Goto adapterverify
  297.         Endif
  298.     Endif
  299. adapteroptions = +
  300.     ifstr(i) $(!STF_GUI_UNATTENDED) == "YES"
  301.         ifstr(i) $(!AutoNetInterfaceType) != ""
  302.             set BusInterfaceType = $(!AutoNetInterfaceType)
  303.         else
  304.             set BusInterfaceType = 1    
  305.         endif
  306.         ifstr(i) $(!AutoNetBusNumber) != ""
  307.             set BusNumber = $(!AutoNetBusNumber)
  308.         else
  309.             set BusNumber = 0
  310.         endif
  311.         goto adapterverify
  312.     endif
  313.     read-syms FileDependentDlg$(!STF_LANGUAGE)
  314.     ui start "InputDlg"
  315.     ifstr(i) $(DLGEVENT) == "CONTINUE"
  316.         set IRQ_Level = $(Combo1Out)
  317.         set IOADDR_Hex_Value = $(Combo2Out)
  318.         set TransceiverTypeIndex = *($(RadioOut),1)
  319.         Ifint $(TransceiverTypeIndex) == 1
  320.             Set TransceiverValue = 1
  321.         Else
  322.             Set TransceiverValue = 2
  323.         Endif
  324.         Set Chk = *($(CheckItemsOut), 1)
  325.         Ifstr(i) $(Chk) == "ON"
  326.             Set MappedValue = 1
  327.         Else
  328.             Set MappedValue = 0
  329.         Endif
  330.         Ifint $(MappedValue) == 0
  331.             Set MemBaseAddrDec = 0
  332.         Else
  333.             Set MemBaseAddrDec = *($(MemBaseAddrDecList),2)
  334.         Endif
  335.         Set IOBaseAddrValue = *($(IOADDR_Addr_List), ~($(IOADDR_Hex_List),$(IOADDR_Hex_Value)))
  336.         ui pop 1
  337.     else-ifstr(i) $(DLGEVENT) == "BACK"
  338.         set CommonStatus = STATUS_USERCANCEL
  339.         Debug-Output "Action: exit. Bye."
  340.         ui pop 1
  341.         goto end
  342.     else
  343.         Debug-Output "Action: unknown. Bye."
  344.         ui pop 1
  345.         goto end
  346.     endif
  347.     ifstr(i) $(!STF_NCDETINFO) == {}
  348.         Shell $(UtilityInf),GetBusTypeDialog,$(ProductHardware$(Option)Description) $(BusInterfaceType) $(BusNumber)
  349.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  350.             Debug-Output "ShellCode error."
  351.             goto ShellCodeError
  352.         endif
  353.         set BusInterfaceType = $($R1)
  354.         set BusNumber = $($R2)
  355.     else
  356.         set BusInterfaceType = *($(!STF_NCDETINFO),5)
  357.         set BusNumber = *($(!STF_NCDETINFO),6)
  358.     endif
  359. adapterverify = +
  360.     Shell "" DebugConfiguration "after running dialog"
  361.     Ifstr(i) $(DetectedCard) != TRUE
  362.         Shell $(ParamInf) Param_SaveValues
  363.         Set NewParamSettings = $($R0)
  364.         Ifstr(i) $(CurrParamSettings) == {}
  365.             Set DiffParamSettings = $(NewParamSettings)
  366.         Else
  367.             Shell $(ParamInf) Param_DiffValues $(CurrParamSettings)
  368.             Set DiffParamSettings = $($R0)
  369.         Endif
  370.         Debug-Output "OEMNADE2.INF: Calling Param_VerifyResources"
  371.         Shell $(ParamInf) Param_VerifyResources $(DiffParamSettings)
  372.         Ifstr(i) $($R0) == STATUS_SUCCESSFUL
  373.             Debug-Output "OEMNADE2.INF: Param_VerifyResources succeeded"
  374.             Goto skipoptions
  375.         Endif
  376.     Else
  377.         Set CardVerifyIndex = $(!STF_NCDETCARD)
  378.         Debug-Output "OEMNADE2.INF: Calling Param_VerifyCard"
  379.         Shell $(ParamInf) Param_VerifyCard $(!STF_NCDETCARD)
  380.         Ifstr(i) $($R0) == STATUS_SUCCESSFUL
  381.             Debug-Output "OEMNADE2.INF: Param_VerifyCard succeeded"
  382.             Goto skipoptions
  383.         Endif
  384.     Endif
  385.     Set from = adapteroptions
  386.     Set to = skipoptions
  387.     Shell $(UtilityInf),RegistryErrorString,VERIFY_WARNING
  388.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  389.         Debug-Output "ShellCode error: cannot get an error string."
  390.         goto ShellCodeError
  391.     endif
  392.     set Error = $($R0)
  393.     Goto Warning
  394. skipoptions =+
  395.     ifint $(OldVersionExisted) == $(TRUE)
  396.         ifstr(i) $(!NTN_InstallMode) == configure
  397.             goto writeparameters
  398.         endif
  399.     endif
  400.     StartWait
  401.     ifint $(OldVersionExisted) == $(FALSE)
  402.         ifstr(i) $(!NTN_InstallMode) == "install"
  403.            Ifstr(i) $(DoCopy) == "YES"
  404.               Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES
  405.               Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  406.                   Goto ShellCodeError
  407.               Else-Ifstr(i) $($R0) == STATUS_FAILED
  408.                   Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
  409.                   ifint $($ShellCode) != $(!SHELL_CODE_OK)
  410.                       goto ShellCodeError
  411.                   endif
  412.                   set Error = $($R0)
  413.                   Goto fatal
  414.               Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
  415.                   Goto successful
  416.               Endif
  417.               Set SrcDir = $($R1)
  418.            Endif
  419.            install "Install-Option"
  420.            ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  421.               Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE"
  422.               ifint $($ShellCode) != $(!SHELL_CODE_OK)
  423.                   goto ShellCodeError
  424.               endif
  425.               set Error = $($R0)
  426.               goto fatal
  427.            endif
  428.         endif
  429.         Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), +
  430.             $(ProductSoftwareName), +
  431.             $(ProductSoftwareName), +
  432.             $(ProductSoftwareTitle), $(STF_CONTEXTINFNAME), +
  433.             $(ProductSoftwareImagePath), "kernel", "NDIS", {}, "",+
  434.             $(NetEventDLL)
  435.         Set OEM_ABANDON_SOFTWARE = TRUE
  436.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  437.             Debug-Output "ShellCode error"
  438.             goto ShellCodeError
  439.         endif
  440.         set RegistryErrorIndex = $($R0)
  441.         set KeyProduct      = $($R1)
  442.         Set SoftNetRulesKey = $($R2)
  443.         CloseRegKey $($R3)
  444.         CloseRegKey $($R4)
  445.         CloseRegKey $($R5)
  446.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  447.             EndWait
  448.             Debug-Output "Registry error: add software components"
  449.             CloseRegKey $(KeyProduct)
  450.             CloseRegKey $(SoftNetRulesKey)
  451.             goto fatalregistry
  452.         endif
  453.         set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
  454.                            {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)},+
  455.                            {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)},+
  456.                            {Title,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareTitle)},+
  457.                            {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareDescription)},+
  458.                            {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareName)},+
  459.                            {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  460.         Shell  $(UtilityInf), AddValueList, $(KeyProduct), $(NewValueList)
  461.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  462.             Debug-Output "ShellCode error."
  463.             goto ShellCodeError
  464.         endif
  465.         set RegistryErrorIndex = $($R0)
  466.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  467.             EndWait
  468.             Debug-Output "Registry error: add value list."
  469.             CloseRegKey $(KeyProduct)
  470.             CloseRegKey $(SoftNetRulesKey)
  471.             goto fatalregistry
  472.         endif
  473.         set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareType)},+
  474.                             {use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareUse)}, +
  475.                             {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareBindForm)}, +
  476.                             {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareClass)}, +
  477.                             {bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareBindable)}, +
  478.                             {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  479.         Shell  $(UtilityInf), AddValueList, $(SoftNetRulesKey), $(NewValueList)
  480.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  481.             Debug-Output "ShellCode error."
  482.             goto ShellCodeError
  483.         endif
  484.         set RegistryErrorIndex = $($R0)
  485.         CloseRegKey $(KeyProduct)
  486.         CloseRegKey $(SoftNetRulesKey)
  487.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  488.             EndWait
  489.             Debug-Output "Resgitry error: add value list."
  490.             goto fatalregistry
  491.         endif
  492.     endif
  493.     Shell $(UtilityInf), AddHardwareComponent, $(ProductHardwareName),$(STF_CONTEXTINFNAME),$(ProductKeyName)
  494.     ifint $($R4) != -1
  495.         Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4))
  496.     endif
  497.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  498.         Debug-Output "Cannot add hardware component"
  499.         goto ShellCodeError
  500.     endif
  501.     set RegistryErrorIndex = $($R0)
  502.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  503.         EndWait
  504.         Debug-Output "Registry error: add hardware component"
  505.         CloseRegKey $($R1)
  506.         CloseRegKey $($R2)
  507.         CloseRegKey $($R3)
  508.         goto fatalregistry
  509.     endif
  510.     set KeyParameters = $($R3)
  511.     set KeyAdapterRules = $($R2)
  512.     set AdapterNumber = $($R4)
  513.     set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+
  514.                        {Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardware$(Option)Title)},+
  515.                        {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardware$(Option)Description)},+
  516.                        {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+
  517.                        {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
  518.                        {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  519.     Shell  $(UtilityInf), AddValueList, $($R1), $(NewValueList)
  520.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  521.         Debug-Output "ShellCode error"
  522.         goto ShellCodeError
  523.     endif
  524.     CloseRegKey $($R1)
  525.     set TempProdName = """"$(ProductHardwareName)$(AdapterNumber)""""
  526.     set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
  527.     set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardwareType)},+
  528.                         {bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, +
  529.                         {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardwareClass)}, +
  530.                         {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  531.     Shell  $(UtilityInf), AddValueList, $(KeyAdapterRules), $(NewValueList)
  532.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  533.         Debug-Output "ShellCode error."
  534.         goto ShellCodeError
  535.     endif
  536.     set RegistryErrorIndex = $($R0)
  537.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  538.         EndWait
  539.         Debug-Output "Resgitry error: add value list."
  540.         CloseRegKey $(KeyParameters)
  541.         CloseRegKey $(KeyAdapterRules)
  542.         goto fatalregistry
  543.     endif
  544.     CloseRegKey $(KeyAdapterRules)
  545.     goto writeparameters
  546. writeparameters = +
  547.     Set NewValueList = {{Transceiver,$(NoTitle),$(!REG_VT_DWORD),$(TransceiverValue)},+
  548.                        {BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusInterfaceType)},+
  549.                        {BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNumber)},+
  550.                        {MediaType,$(NoTitle),$(!REG_VT_DWORD),1},+
  551.                        {MemoryMapped,$(NoTitle),$(!REG_VT_DWORD),$(MappedValue)},+
  552.                        {InterruptNumber,$(NoTitle),$(!REG_VT_DWORD),$(IRQ_Level)},+
  553.                        {IoBaseAddress,$(NoTitle),$(!REG_VT_DWORD),$(IOBaseAddrValue)}}
  554.     Shell  $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList)
  555.     ifstr(i) $(!STF_GUI_UNATTENDED) == "YES"
  556.         Shell $(UtilityInf),AddDefaultNetCardParameters,$(KeyParameters)
  557.     endif
  558.     CloseRegKey $(KeyParameters)
  559.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  560.         Debug-Output "ShellCode error. (Add Value List)"
  561.         goto ShellCodeError
  562.     endif
  563.     set RegistryErrorIndex = $($R0)
  564.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  565.         Debug-Output "Registry error: Add value list"
  566.         goto fatalregistry
  567.     endif
  568.     EndWait
  569.     goto successful
  570. bindingadapter =+
  571.     set Error = "Binding: Sorry, not yet implemented."
  572.     goto fatal
  573. removeadapter = +
  574.     Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  575.         Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  576.             $(ProductSoftwareName)
  577.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  578.             Debug-Output "ShellCode error"
  579.             goto ShellCodeError
  580.         endif
  581.         set RegistryErrorIndex = $($R0)
  582.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  583.             goto fatalregistry
  584.         endif
  585.     else
  586.         Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  587.             $(ProductSoftwareName), $(!NTN_RegBase)
  588.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  589.             Debug-Output "ShellCode error"
  590.             goto ShellCodeError
  591.         endif
  592.         set RegistryErrorIndex = $($R0)
  593.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  594.             goto fatalregistry
  595.         endif
  596.     endif
  597.     goto end
  598. UpgradeSoftware = +
  599.     OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  600.     Ifstr $(KeyProduct) != $(KeyNull)
  601.         install "Install-Update"
  602.         ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  603.             goto fatal
  604.         endif
  605.         SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)}
  606.         SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)}
  607.         CloseRegKey $(KeyProduct)
  608.     else
  609.         goto fatalregistry
  610.     endif
  611.     goto end
  612. successful = +
  613.     goto end
  614. abandon = +
  615.     ForListDo $(OEM_ABANDON_OPTIONS)
  616.         Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  617.             $(ProductSoftwareName), $($)
  618.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  619.             Debug-Output "ShellCode error"
  620.             goto ShellCodeError
  621.         endif
  622.         set RegistryErrorIndex = $($R0)
  623.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  624.             goto fatalregistry
  625.         endif
  626.     EndForListDo
  627.     Ifstr(i) $(OEM_ABANDON_SOFTWARE) == TRUE
  628.         Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  629.             $(ProductSoftwareName), FALSE
  630.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  631.             Debug-Output "ShellCode error"
  632.             goto ShellCodeError
  633.         endif
  634.         set RegistryErrorIndex = $($R0)
  635.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  636.             goto fatalregistry
  637.         endif
  638.     endif
  639.     goto end
  640. warning = +
  641.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
  642.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  643.         goto ShellCodeError
  644.     endif
  645.     ifstr(i) $($R1) == "OK"
  646.         goto $(to)
  647.     else-ifstr(i) $($R1) == "CANCEL"
  648.         goto $(from)
  649.     else
  650.         goto "end"
  651.     endif
  652. nonfatalinfo = +
  653.     Set Severity = STATUS
  654.     Set CommonStatus = STATUS_USERCANCEL
  655.     goto nonfatalmsg
  656. nonfatal = +
  657.     Set Severity = NONFATAL
  658.     goto nonfatalmsg
  659. nonfatalmsg = +
  660.     ifstr(i) $(Error) == ""
  661.         Set Severity = NONFATAL
  662.         Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  663.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  664.             goto ShellCodeError
  665.         endif
  666.         set Error = $($R0)
  667.     endif
  668.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
  669.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  670.         goto ShellCodeError
  671.     endif
  672.     ifstr(i) $($R1) == "OK"
  673.         goto $(from)
  674.     else
  675.         goto "end"
  676.     endif
  677. fatalregistry = +
  678.     Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
  679.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  680.         goto ShellCodeError
  681.     endif
  682.     set Error = $($R0)
  683.     goto fatal
  684. fataldetect = +
  685.     Shell $(UtilityInf),RegistryErrorString,CANNOT_DETECT
  686.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  687.         Debug-Output "ShellCode error: cannot get an error string."
  688.         goto ShellCodeError
  689.     endif
  690.     set Error = $($R0)
  691.     Goto fatal
  692. fatal = +
  693.     ifstr(i) $(Error) == ""
  694.         Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  695.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  696.             goto ShellCodeError
  697.         endif
  698.         set Error = $($R0)
  699.     endif
  700.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
  701.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  702.         goto ShellCodeError
  703.     endif
  704.     goto setfailed
  705. ShellCodeError = +
  706.     set DlgType      = "MessageBox"
  707.     set STF_MB_TITLE = $(ShellCodeErrorTitle)
  708.     set STF_MB_TEXT  = $(ShellCodeErrorText)
  709.     set STF_MB_TYPE  = 1
  710.     set STF_MB_ICON  = 3
  711.     set STF_MB_DEF   = 1
  712.     ui start "Error Message"
  713.     goto setfailed
  714. setfailed = +
  715.     set CommonStatus = STATUS_FAILED
  716.     ifstr(i) $(OEM_ABANDON_ON) == TRUE
  717.         set OEM_ABANDON_ON = FALSE
  718.         goto abandon
  719.     endif
  720.     goto end
  721. end = +
  722.     goto term
  723. term = +
  724.     Return $(CommonStatus)
  725. [DebugConfiguration]
  726.     Set InfName = "OEMNADE2.INF"
  727.     Debug-Output $(InfName)" **CONFIGURATION STATE: "$($0)
  728.     Debug-Output $(InfName)" IRQ_Level is "$(!p:IRQ_Level)
  729.     Debug-Output $(InfName)" IOBaseAddrValue is "$(!p:IOBaseAddrValue)
  730.     Debug-Output $(InfName)" TransceiverValue is "$(!p:TransceiverValue)
  731.     Debug-Output $(InfName)" MemBaseAddrDec is "$(!p:MemBaseAddrDec)
  732.     Debug-Output $(InfName)" MappedValue is "$(!p:MappedValue)
  733.     return
  734. [Install-Option]
  735.     set STF_VITAL = ""
  736.     ifstr(i) $(AddCopy) == "YES"
  737.         AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  738.     endif
  739.     ifstr(i) $(DoCopy) == "YES"
  740.        set !STF_NCPA_FLUSH_COPYLIST = TRUE
  741.        CopyFilesInCopyList
  742.     endif
  743.     Exit
  744. [Install-Update]
  745.    set STF_VITAL        = ""
  746.    set STF_OVERWRITE    = "VERIFYSOURCEOLDER"
  747.    AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  748.    exit
  749. [Source Media Descriptions]
  750.      1 = "Windows NT Server CD-ROM または セットアップ ディスク #5" , TAGFILE = disk1.s
  751.      2 = "Windows NT Server CD-ROM または セットアップ ディスク #6" , TAGFILE = disk2.s
  752.      3 = "Windows NT Server CD-ROM または セットアップ ディスク #7" , TAGFILE = disk3.s
  753.      4 = "Windows NT Server CD-ROM または セットアップ ディスク #8" , TAGFILE = disk4.s
  754.      5 = "Windows NT Server CD-ROM または セットアップ ディスク #9" , TAGFILE = disk5.s
  755.      6 = "Windows NT Server CD-ROM または セットアップ ディスク #10" , TAGFILE = disk6.s
  756.      7 = "Windows NT Server CD-ROM または セットアップ ディスク #11", TAGFILE = disk7.s
  757.      8 = "Windows NT Server CD-ROM または セットアップ ディスク #12", TAGFILE = disk8.s
  758.      9 = "Windows NT Server CD-ROM または セットアップ ディスク #13", TAGFILE = disk9.s
  759.     10 = "Windows NT Server CD-ROM または セットアップ ディスク #14", TAGFILE = disk10.s
  760.     11 = "Windows NT Server CD-ROM または セットアップ ディスク #15", TAGFILE = disk11.s
  761.     12 = "Windows NT Server CD-ROM または セットアップ ディスク #16", TAGFILE = disk12.s
  762.     13 = "Windows NT Server CD-ROM または セットアップ ディスク #17", TAGFILE = disk13.s
  763.     14 = "Windows NT Server CD-ROM または セットアップ ディスク #18", TAGFILE = disk14.s
  764.     15 = "Windows NT Server CD-ROM または セットアップ ディスク #19", TAGFILE = disk15.s
  765.     16 = "Windows NT Server CD-ROM または セットアップ ディスク #20", TAGFILE = disk16.s
  766.     17 = "Windows NT Server CD-ROM または セットアップ ディスク #21", TAGFILE = disk17.s
  767.     18 = "Windows NT Server CD-ROM または セットアップ ディスク #22", TAGFILE = disk18.s
  768.     19 = "Windows NT Server CD-ROM または セットアップ ディスク #23", TAGFILE = disk19.s
  769.     20 = "Windows NT Server CD-ROM または セットアップ ディスク #24", TAGFILE = disk20.s
  770.     21 = "Windows NT Server CD-ROM または セットアップ ディスク #25", TAGFILE = disk21.s
  771.     22 = "Windows NT Server CD-ROM または セットアップ ディスク #26", TAGFILE = disk22.s
  772.     23 = "Windows NT Server CD-ROM または セットアップ ディスク #27", TAGFILE = disk23.s
  773.     24 = "Windows NT Server CD-ROM または セットアップ ディスク #28", TAGFILE = disk24.s
  774.     25 = "Windows NT Server CD-ROM または セットアップ ディスク #29", TAGFILE = disk25.s
  775.     26 = "Windows NT Server CD-ROM または セットアップ ディスク #30", TAGFILE = disk26.s
  776.     27 = "Windows NT Server CD-ROM または セットアップ ディスク #31", TAGFILE = disk27.s
  777.     28 = "Windows NT Server CD-ROM または セットアップ ディスク #32", TAGFILE = disk28.s
  778.     29 = "Windows NT Server CD-ROM または セットアップ ディスク #33", TAGFILE = disk29.s
  779.     30 = "Windows NT Server CD-ROM または セットアップ ディスク #34", TAGFILE = disk30.s
  780.     50 = "Windows NT Server CD-ROM または リモートブート ディスク #1", TAGFILE = disk50.s
  781.     51 = "Windows NT Server CD-ROM または リモートブート ディスク #2", TAGFILE = disk51.s
  782. [Signature]
  783.     FileType = MICROSOFT_FILE
  784. [GetSignature]
  785.     read-syms Signature
  786.     return $(FileType)
  787. [ProductType]
  788. STF_PRODUCT  = LanmanNT
  789. STF_PLATFORM = I386
  790. [Files-Inf]
  791. 2,    oemsetup.inf,     SIZE=1000,    RENAME=$(!UG_Filename)
  792. [Files-ElnkII]
  793. 27,ELNKII.SYS , SIZE=24576
  794. [LanguagesSupported]
  795.     ENG
  796. [OptionsTextENG]
  797.     ELNKII     = "3Com Etherlink II アダプタ (および II/16、II/16 TP)"
  798. [FileConstantsENG]
  799. ProCaption   = "Windows NT セットアップ"
  800. ProCancel    = "キャンセル"
  801. ProCancelMsg = "Windows NT ネットワークは正しく組み込まれていません。"+
  802.                "ファイルのコピーを中止しますか?"
  803. ProCancelCap = "ネットワーク セットアップ メッセージ"
  804. ProText1     = "コピー元:"
  805. ProText2     = "コピー先:"
  806. FunctionTitle   = "3Com Etherlink II アダプタ カード セットアップ"
  807. ProductSoftwareDescription      = "3Com Etherlink II アダプタ ドライバ"
  808. ProductHardwareELNKIIDescription        = "3Com Etherlink II アダプタ"
  809. ProductSoftwareTitle    = "3Com Etherlink II アダプタ ドライバ"
  810. ProductHardwareELNKIITitle = "3Com Etherlink II アダプタ"
  811. ShellCodeErrorTitle     = "エラー: "$(FunctionTitle)
  812. ShellCodeErrorText      = "シェル コード エラーです。"
  813. [DialogConstantsENG]
  814. Help        = "ヘルプ(&H)"
  815. Exit        = "キャンセル"
  816. OK          = "OK"
  817. HelpContext = ""
  818. Continue    = "続行"
  819. Cancel      = "キャンセル"
  820. [MemoryMappedChoicesENG]
  821. Map_1 = 1, "ON"
  822. Map_2 = 0, "OFF"
  823. [FileDependentDlgENG]
  824. DlgText = "次のフィールドの値を選択してください:"
  825. Combo1Label = "IRQ レベル(&I):"
  826. Combo2Label = "I/O ポート アドレス(&P):"
  827. CheckBox1   = "メモリ マップ(&M)"
  828. Label1 = "トランシーバの種類"
  829. Radio1 = "外部(&E)"
  830. Radio2 = "オンボード(&N)"
  831. DlgType = "RadioCombination"
  832. DlgTemplate = "ELNK_II"
  833. Caption = $(FunctionTitle)
  834. Combo1List = $(IRQ_List)
  835. Combo1Out  = $(IRQ_Level)
  836. Combo2List = $(IOADDR_Hex_List)
  837. Combo2Out  = $(IOADDR_Hex_Value)
  838. ComboListItemsIn  = {Combo1List, Combo2List}
  839. ComboListItemsOut = {Combo1Out, Combo2Out}
  840. EditTextIn = ""
  841. EditTextLim = ""
  842. CBOptionsGreyed = {}
  843. NotifyFields = {NO, NO}
  844. HelpContext = $(!IDH_DB_OEMNADE2_INS)
  845.