home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 9 / 09.iso / d / d423_liu / 8.ddi / OEMNADD2.IN_ / OEMNADD2.IN
Encoding:
INI File  |  1993-07-24  |  31.5 KB  |  827 lines

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