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

  1. [Identification]
  2.     OptionType = NetAdapter
  3. [PlatformsSupported]
  4.     EISA
  5.     "Jazz-Internal Bus"
  6. [Options]
  7.     ELNK3EISA
  8. [FileConstants]
  9. UtilityInf      = "UTILITY.INF"
  10. subroutineinf   = "SUBROUTN.INF"
  11. SoftwareType    = "driver"
  12. Exit_Code       = 0
  13. NetEventDLL     = "%SystemRoot%\System32\netevent.dll"
  14. IoLogMsgDLL     = "%SystemRoot%\System32\IoLogMsg.dll"
  15. ELNK3EISA_COMPRESSID = 5270864          
  16. ELNK3EISA_1BYTE    = 2421189968         
  17. ELNK3EISA_MASK     = 4043309055         
  18. Manufacturer    = "Microsoft"
  19. ProductMajorVersion     = "3"
  20. ProductMinorVersion     = "1"
  21. ProductVersion  = $(ProductMajorVersion)"."$(ProductMinorVersion)
  22. ProductSoftwareName     = "Elnk3"
  23. ProductSoftwareImagePath = "\SystemRoot\System32\drivers\elnk3.sys"
  24. NetRuleSoftwareType     = "elnk3Sys ndisDriver elnk3Driver"
  25. NetRuleSoftwareUse      = $(SoftwareType)
  26. NetRuleSoftwareBindForm = """elnk3Sys"" yes no container"
  27. NetRuleSoftwareClass    = {"elnk3Driver basic"}
  28. NetRuleSoftwareBindable = {"elnk3Driver elnk3Adapter non exclusive 100"}
  29. ProductHardwareName     = "Elnk3"
  30. NetRuleHardwareType     = "elnk3 elnk3Adapter"
  31. NetRuleHardwareBindForm = " yes yes container"
  32. NetRuleHardwareClass    = {"elnk3Adapter basic"}
  33. ProductKeyName  = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion"
  34. ParamKeyName    = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters"
  35. [GeneralConstants]
  36. from      = ""
  37. to        = ""
  38. ExitCodeOk     = 0
  39. ExitCodeCancel = 1
  40. ExitCodeFatal  = 2
  41. KeyNull         = ""
  42. MAXIMUM_ALLOWED   = 33554432
  43. RegistryErrorIndex = NO_ERROR
  44. KeyProduct      = ""
  45. KeyParameters   = ""
  46. TRUE            = 1
  47. FALSE           = 0
  48. NoTitle            = 0
  49. ExitState   = "Active"
  50. OldVersionExisted = $(FALSE)
  51. DriverPath      = $(!STF_NTPATH)\drivers
  52. [date]
  53.     Now = {} ? $(!LIBHANDLE) GetSystemDate
  54. [Identify]
  55.     read-syms Identification
  56.     set Status     = STATUS_SUCCESSFUL
  57.     set Identifier = $(OptionType)
  58.     set Media      = #("Source Media Descriptions", 1, 1)
  59.     Return $(Status) $(Identifier) $(Media)
  60. [ReturnOptions]
  61.     set Status        = STATUS_FAILED
  62.     set OptionList     = {}
  63.     set OptionTextList = {}
  64.     set LanguageList = ^(LanguagesSupported, 1)
  65.     Ifcontains(i) $($0) in $(LanguageList)
  66.         ifstr(i) $($1) == ""
  67.            goto returnoptions
  68.         endif
  69.         set PlatformList = ^(PlatformsSupported, 1)
  70.         Ifcontains(i) $($1) in $(PlatformList)
  71.            goto returnoptions
  72.         else
  73.            set Status = STATUS_NOTSUPPORTED
  74.            goto finish_ReturnOptions
  75.         endif
  76.     else
  77.         set Status = STATUS_NOLANGUAGE
  78.         goto finish_ReturnOptions
  79.     endif
  80. returnoptions = +
  81.     set OptionList     = ^(Options, 1)
  82.     set OptionTextList = ^(OptionsText$($0), 1)
  83.     set Status         = STATUS_SUCCESSFUL
  84. finish_ReturnOptions = +
  85.     Return $(Status) $(OptionList) $(OptionTextList)
  86. [InstallOption]
  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.     Debug-Output "OEMNADEE.INF: STF_CWDIR is: "$(!STF_CWDIR)
  97.     Debug-Output "OEMNADEE.INF: STF_LANGUAGE is: "$(!STF_LANGUAGE)
  98.     set-subst LF = "\n"
  99.     read-syms GeneralConstants
  100.     read-syms FileConstants
  101.     read-syms DialogConstants$(!STF_LANGUAGE)
  102.     ifstr(i) $(!NTN_Origination) == "NCPA"
  103.         set Continue = $(OK)
  104.     endif
  105.     read-syms FileConstants$(!STF_LANGUAGE)
  106.     detect date
  107.     set-title  $(FunctionTitle)
  108.     set to   = Begin
  109.     set from = Begin
  110.     set CommonStatus = STATUS_SUCCESSFUL
  111.     EndWait
  112. Begin = +
  113.     Ifstr(i) $(!NTN_InstallMode) == deinstall
  114.         set StartLabel = removeadapter
  115.     else-Ifstr(i) $(!NTN_InstallMode) == Update
  116.         set StartLabel = UpgradeSoftware
  117.     else-Ifstr(i) $(!NTN_InstallMode) == bind
  118.         set StartLabel = bindingadapter
  119.     else-Ifstr(i) $(!NTN_InstallMode) == configure
  120.         set CommonStatus = STATUS_REBOOT
  121.         Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  122.             Debug-Output "Cannot configure the elnk3 driver software."
  123.             Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
  124.         else
  125.             Debug-Output "Cannot configure the elnk3 adapter card."
  126.             Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_HARDWARE
  127.         endif
  128.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  129.             Debug-Output "ShellCode error: cannot get an error string."
  130.             goto ShellCodeError
  131.         endif
  132.         set Error = $($R0)
  133.         set from = end
  134.         set to = end
  135.         goto nonfatalinfo
  136.     else
  137.         set StartLabel = installadapter
  138.         set OEM_ABANDON_OPTIONS = {}
  139.         set OEM_ABANDON_SOFTWARE = FALSE
  140.         set OEM_ABANDON_ON = TRUE
  141.     endif
  142.     set from = $(fatal)
  143.     set to = $(fatal)
  144.     goto $(StartLabel)
  145. installadapter = +
  146.     OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  147.     Ifstr $(KeyProduct) != $(KeyNull)
  148.         CloseRegKey $(KeyProduct)
  149.         ifstr(i) !(NTN_RegBase) == $(ProductKeyName)
  150.            Shell $(UtilityInf), VerExistedDlg, $(ProductSoftwareTitle),+
  151.                $(ProductVersion)
  152.            ifint $($ShellCode) != $(!SHELL_CODE_OK)
  153.                Debug-Output "ShellCode error: cannot get an error string."
  154.                goto ShellCodeError
  155.            endif
  156.            goto end
  157.         else
  158.            Shell $(UtilityInf), CardExistedDlg
  159.            ifint $($ShellCode) != $(!SHELL_CODE_OK)
  160.                Debug-Output "ShellCode error: cannot get an error string."
  161.                goto ShellCodeError
  162.            endif
  163.            ifstr(i) $($R1) != "OK"
  164.                set CommonStatus = STATUS_USERCANCEL
  165.                goto end
  166.            endif
  167.            set OldVersionExisted = $(TRUE)
  168.         endif
  169.     endif
  170.     CloseRegKey $(KeyProduct)
  171.     goto nextstep
  172. configureadapter = +
  173.     set Error = "Configure: Sorry, not yet implemented."
  174.     goto fatal
  175. nextstep = +
  176.     StartWait
  177.     Shell $(UtilityInf), EISAFindBus, $(ELNK3EISA_1BYTE), $(ELNK3EISA_MASK)
  178.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  179.         goto ShellCodeError
  180.     endif
  181.     ifstr $($R0) != "NO_ERROR"
  182.         set Error = $($R0)
  183.         goto fatal
  184.     endif
  185.     ifstr(i) $($R1) == {}
  186.         set Error = $(CANNOT_FIND_ANY_CARD)
  187.         set CommonStatus = STATUS_USERCANCEL
  188.         set from = "end"
  189.         goto nonfatal
  190.     endif
  191.     set AdapterList = $($R1)
  192.     ifint $(OldVersionExisted) == $(FALSE)
  193.         ifstr(i) $(!NTN_InstallMode) == "install"
  194.            Ifstr(i) $(DoCopy) == "YES"
  195.               Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES
  196.               Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  197.                   Goto ShellCodeError
  198.               Else-Ifstr(i) $($R0) == STATUS_FAILED
  199.                   Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
  200.                   ifint $($ShellCode) != $(!SHELL_CODE_OK)
  201.                       goto ShellCodeError
  202.                   endif
  203.                   set Error = $($R0)
  204.                   Goto fatal
  205.               Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
  206.                   Goto successful
  207.               Endif
  208.               Set SrcDir = $($R1)
  209.            Endif
  210.            install "Install-Option"
  211.            ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  212.               Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE"
  213.               ifint $($ShellCode) != $(!SHELL_CODE_OK)
  214.                   goto ShellCodeError
  215.               endif
  216.               set Error = $($R0)
  217.               goto fatal
  218.            endif
  219.         endif
  220.         Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), +
  221.             $(ProductSoftwareName), +
  222.             $(ProductSoftwareName), +
  223.             $(ProductSoftwareTitle), $(STF_CONTEXTINFNAME), +
  224.             $(ProductSoftwareImagePath), "kernel", "NDIS", {}, "",+
  225.             $(NetEventDLL)
  226.         Set OEM_ABANDON_SOFTWARE = TRUE
  227.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  228.             goto ShellCodeError
  229.         endif
  230.         set RegistryErrorIndex = $($R0)
  231.         Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
  232.             EndWait
  233.             CloseRegKey $($R1)
  234.             CloseRegKey $($R2)
  235.             CloseRegKey $($R3)
  236.             CloseRegKey $($R4)
  237.             CloseRegKey $($R5)
  238.             goto fatalregistry
  239.         endif
  240.         set SoftProductKey      = $($R1)
  241.         Set SoftNetRuleKey      = $($R2)
  242.         Set SoftServiceKey      = $($R3)
  243.         Set SoftParameterKey    = $($R4)
  244.         Set SoftLinkageKey      = $($R5)
  245.         set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
  246.                            {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)},+
  247.                            {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)},+
  248.                            {Title,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareTitle)},+
  249.                            {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareDescription)},+
  250.                            {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareName)},+
  251.                            {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  252.         Shell  $(UtilityInf), AddValueList, $(SoftProductKey), $(NewValueList)
  253.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  254.             goto ShellCodeError
  255.         endif
  256.         set RegistryErrorIndex = $($R0)
  257.         Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
  258.             EndWait
  259.             CloseRegKey $(SoftProductKey)
  260.             CloseRegKey $(SoftNetRuleKey)
  261.             CloseRegKey $(SoftServiceKey)
  262.             CloseRegKey $(SoftParameterKey)
  263.             CloseRegKey $(SoftLinkageKey)
  264.             goto fatalregistry
  265.         endif
  266.         set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareType)},+
  267.                             {use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareUse)}, +
  268.                             {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareBindForm)}, +
  269.                             {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareClass)}, +
  270.                             {bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareBindable)}, +
  271.                             {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  272.         Shell  $(UtilityInf), AddValueList, $(SoftNetRuleKey), $(NewValueList)
  273.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  274.             goto ShellCodeError
  275.         endif
  276.         set RegistryErrorIndex = $($R0)
  277.         CloseRegKey $(SoftProductKey)
  278.         CloseRegKey $(SoftNetRuleKey)
  279.         CloseRegKey $(SoftServiceKey)
  280.         CloseRegKey $(SoftParameterKey)
  281.         CloseRegKey $(SoftLinkageKey)
  282.         Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
  283.             EndWait
  284.             goto fatalregistry
  285.         endif
  286.     endif
  287.     ForListDo $(AdapterList)
  288.         set BusNum = *($($),1)
  289.         set SlotNum = *($($),2)
  290.         Debug-Output $(BusNum)
  291.         Debug-Output $(SlotNum)
  292.         Shell $(UtilityInf), IsNetCardAlreadyInstalled, $(BusNum), +
  293.             $(SlotNum), $(ProductHardwareDescription), $(ProductHardwareName)
  294.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  295.             goto ShellCodeError
  296.         endif
  297.         ifstr $($R0) != "NO_ERROR"
  298.             set Error = $($R0)
  299.             goto fatal
  300.         endif
  301.         ifstr(i) $($R1) != "YES"
  302.                 Shell $(UtilityInf), AddHardwareComponent, $(ProductHardwareName),$(STF_CONTEXTINFNAME),$(ProductKeyName)
  303.                 ifint $($R4) != -1
  304.                     Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4))
  305.                 endif
  306.                 ifint $($ShellCode) != $(!SHELL_CODE_OK)
  307.                     goto ShellCodeError
  308.                 endif
  309.                 set RegistryErrorIndex = $($R0)
  310.                 Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
  311.                     EndWait
  312.                     CloseRegKey $($R1)
  313.                     CloseRegKey $($R2)
  314.                     CloseRegKey $($R3)
  315.                     goto fatalregistry
  316.                 endif
  317.                 Set HardNetCardKey      = $($R1)
  318.                 Set HardNetRuleKey      = $($R2)
  319.                 Set HardParameterKey    = $($R3)
  320.                 set AdapterNumber       = $($R4)
  321.                 set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+
  322.                                    {Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardwareTitle)},+
  323.                                    {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareDescription)},+
  324.                                    {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+
  325.                                    {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
  326.                                    {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  327.                 Shell  $(UtilityInf), AddValueList, $(HardNetCardKey), $(NewValueList)
  328.                 ifint $($ShellCode) != $(!SHELL_CODE_OK)
  329.                     goto ShellCodeError
  330.                 endif
  331.                 set NewValueList = {{BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNum)},+
  332.                                    {CardType,$(NoTitle),$(!REG_VT_DWORD),1},+
  333.                                    {BusType,$(NoTitle),$(!REG_VT_DWORD),2},+
  334.                                    {MediaType,$(NoTitle),$(!REG_VT_DWORD),1},+
  335.                                    {EisaCompressedId,$(NoTitle),$(!REG_VT_DWORD),$(ELNK3EISA_COMPRESSID)},+
  336.                                    {SlotNumber,$(NoTitle),$(!REG_VT_DWORD),$(SlotNum)}}
  337.                 Shell  $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
  338.                 ifint $($ShellCode) != $(!SHELL_CODE_OK)
  339.                     goto ShellCodeError
  340.                 endif
  341.                  set TempProdName = """"$(ProductHardwareName)$(AdapterNumber)""""
  342.                  set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
  343.                  set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardwareType)},+
  344.                                      {bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, +
  345.                                      {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardwareClass)}, +
  346.                                      {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  347.                 Shell  $(UtilityInf), AddValueList, $(HardNetRuleKey), $(NewValueList)
  348.                 CloseRegKey $(HardNetCardKey)
  349.                 CloseRegKey $(HardNetRuleKey)
  350.                 CloseRegKey $(HardParameterKey)
  351.                 ifint $($ShellCode) != $(!SHELL_CODE_OK)
  352.                     goto ShellCodeError
  353.                 endif
  354.         endif
  355.     EndForListDo
  356.     goto writeparameters
  357. writeparameters = +
  358.     EndWait
  359.     goto successful
  360. bindingadapter =+
  361.     set Error = "Binding: Sorry, not yet implemented."
  362.     goto fatal
  363. removeadapter = +
  364.     Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  365.         Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  366.             $(ProductSoftwareName)
  367.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  368.             Debug-Output "ShellCode error"
  369.             goto ShellCodeError
  370.         endif
  371.         set RegistryErrorIndex = $($R0)
  372.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  373.             goto fatalregistry
  374.         endif
  375.     else
  376.         Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  377.             $(ProductSoftwareName), $(!NTN_RegBase)
  378.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  379.             Debug-Output "ShellCode error"
  380.             goto ShellCodeError
  381.         endif
  382.         set RegistryErrorIndex = $($R0)
  383.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  384.             goto fatalregistry
  385.         endif
  386.     endif
  387.     goto end
  388. UpgradeSoftware = +
  389.     ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  390.         OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  391.         Ifstr $(KeyProduct) != $(KeyNull)
  392.             GetRegValue $(KeyProduct),"MajorVersion", VersionInfo
  393.             set Version = *($(VersionInfo), 4)
  394.             Shell $(UtilityInf), GetInfFileNameFromRegistry, $(KeyProduct)
  395.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  396.                 Debug-Output "ShellCode error"
  397.                 goto ShellCodeError
  398.             endif
  399.             set !UG_Filename = $($R0)
  400.             ifstr(i) $(!UG_Filename) != ""
  401.                 install "Install-Update"
  402.                 ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  403.                     goto fatal
  404.                 endif
  405.             endif
  406.             SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)}
  407.             SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)}
  408.             ifint $(Version) != $(ProductVersion)
  409.             endif
  410.             CloseRegKey $(KeyProduct)
  411.         else
  412.             goto fatalregistry
  413.         endif
  414.     else
  415.         OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) +
  416.               $(MAXIMUM_ALLOWED) NetworkCardKey
  417.         Ifstr(i) $(NetworkCardKey) != $(KeyNull)
  418.             GetRegValue $(NetworkCardKey),"ServiceName", ServiceNameInfo
  419.             set ServiceName = *($(ServiceNameInfo), 4)
  420.             OpenRegKey $(NetworkCardKey) "" "NetRules" +
  421.                 $(MAXIMUM_ALLOWED) NetRuleKey
  422.             Ifstr(i) $(NetRuleKey) != $(KeyNull)
  423.             else
  424.                 goto fatalregistry
  425.             endif
  426.             CloseRegKey $(NetRules)
  427.             CloseRegKey $(NetworkCardKey)
  428.         else
  429.             goto fatalregistry
  430.         endif
  431.         OpenRegKey $(!REG_H_LOCAL) "" +
  432.               $(!NTN_ServiceBase)"\"$(ServiceName) +
  433.               $(MAXIMUM_ALLOWED) ServiceKey
  434.         Ifstr(i) $(ServiceKey) != $(KeyNull)
  435.             CloseRegKey $(ServiceKey)
  436.         else
  437.             goto fatalregistry
  438.         endif
  439.     endif
  440.     goto end
  441. successful = +
  442.     goto end
  443. abandon = +
  444.     ForListDo $(OEM_ABANDON_OPTIONS)
  445.         Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  446.             $(ProductSoftwareName), $($)
  447.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  448.             Debug-Output "ShellCode error"
  449.             goto ShellCodeError
  450.         endif
  451.         set RegistryErrorIndex = $($R0)
  452.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  453.             goto fatalregistry
  454.         endif
  455.     EndForListDo
  456.     Ifstr(i) $(OEM_ABANDON_SOFTWARE) == TRUE
  457.         Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  458.             $(ProductSoftwareName), FALSE
  459.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  460.             Debug-Output "ShellCode error"
  461.             goto ShellCodeError
  462.         endif
  463.         set RegistryErrorIndex = $($R0)
  464.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  465.             goto fatalregistry
  466.         endif
  467.     endif
  468.     goto end
  469. warning = +
  470.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
  471.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  472.         goto ShellCodeError
  473.     endif
  474.     ifstr(i) $($R1) == "OK"
  475.         goto $(to)
  476.     else-ifstr(i) $($R1) == "CANCEL"
  477.         goto $(from)
  478.     else
  479.         goto "end"
  480.     endif
  481. nonfatalinfo = +
  482.     Set CommonStatus = STATUS_USERCANCEL
  483.     Set Severity = STATUS
  484.     goto nonfatalmsg
  485. nonfatal = +
  486.     Set Severity = NONFATAL
  487.     goto nonfatalmsg
  488. nonfatalmsg = +
  489.     ifstr(i) $(Error) == ""
  490.         Set Severity = NONFATAL
  491.         Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  492.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  493.             goto ShellCodeError
  494.         endif
  495.         set Error = $($R0)
  496.     endif
  497.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
  498.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  499.         goto ShellCodeError
  500.     endif
  501.     ifstr(i) $($R1) == "OK"
  502.         goto $(from)
  503.     else
  504.         goto "end"
  505.     endif
  506. fatalregistry = +
  507.     Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
  508.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  509.         goto ShellCodeError
  510.     endif
  511.     set Error = $($R0)
  512.     goto fatal
  513. fatal = +
  514.     ifstr(i) $(Error) == ""
  515.         Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  516.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  517.             goto ShellCodeError
  518.         endif
  519.         set Error = $($R0)
  520.     endif
  521.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
  522.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  523.         goto ShellCodeError
  524.     endif
  525.     goto setfailed
  526. ShellCodeError = +
  527.     set DlgType      = "MessageBox"
  528.     set STF_MB_TITLE = $(ShellCodeErrorTitle)
  529.     set STF_MB_TEXT  = $(ShellCodeErrorText)
  530.     set STF_MB_TYPE  = 1
  531.     set STF_MB_ICON  = 3
  532.     set STF_MB_DEF   = 1
  533.     ui start "Error Message"
  534.     goto setfailed
  535. setfailed = +
  536.     set CommonStatus = STATUS_FAILED
  537.     ifstr(i) $(OEM_ABANDON_ON) == TRUE
  538.         set OEM_ABANDON_ON = FALSE
  539.         goto abandon
  540.     endif
  541.     goto end
  542. end = +
  543.     goto term
  544. term = +
  545.     Return $(CommonStatus)
  546. [Install-Option]
  547.     set STF_VITAL = ""
  548.     ifstr(i) $(AddCopy) == "YES"
  549.         AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  550.     endif
  551.     ifstr(i) $(DoCopy) == "YES"
  552.        set !STF_NCPA_FLUSH_COPYLIST = TRUE
  553.        CopyFilesInCopyList
  554.     endif
  555.     ifstr(i) $(DoConfig) == "YES"
  556.     endif
  557.     Exit
  558. [Install-Update]
  559.    set STF_VITAL        = ""
  560.    set STF_OVERWRITE    = "VERIFYSOURCEOLDER"
  561.    AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  562.    AddSectionFilesToCopyList Files-Inf $(SrcDir) $(!STF_WINDOWSSYSPATH)
  563.    set !STF_NCPA_FLUSH_COPYLIST = TRUE
  564.    CopyFilesInCopyList
  565.    exit
  566. [Source Media Descriptions]
  567.     1    = "Windows NT Advanced Server Setup Disk #1"   , TAGFILE = disk1
  568.     2    = "Windows NT Advanced Server Setup Disk #2"   , TAGFILE = disk2
  569.     3    = "Windows NT Advanced Server Setup Disk #3"   , TAGFILE = disk3
  570.     4    = "Windows NT Advanced Server Setup Disk #4"   , TAGFILE = disk4
  571.     5    = "Windows NT Advanced Server Setup Disk #5"   , TAGFILE = disk5
  572.     6    = "Windows NT Advanced Server Setup Disk #6"   , TAGFILE = disk6
  573.     7    = "Windows NT Advanced Server Setup Disk #7"   , TAGFILE = disk7
  574.     8    = "Windows NT Advanced Server Setup Disk #8"   , TAGFILE = disk8
  575.     9    = "Windows NT Advanced Server Setup Disk #9"   , TAGFILE = disk9
  576.     10    = "Windows NT Advanced Server Setup Disk #10"  , TAGFILE = disk10
  577.     11    = "Windows NT Advanced Server Setup Disk #11"  , TAGFILE = disk11
  578.     12    = "Windows NT Advanced Server Setup Disk #12"  , TAGFILE = disk12
  579.     13    = "Windows NT Advanced Server Setup Disk #13"  , TAGFILE = disk13
  580.     14    = "Windows NT Advanced Server Setup Disk #14"  , TAGFILE = disk14
  581.     15    = "Windows NT Advanced Server Setup Disk #15"  , TAGFILE = disk15
  582.     16    = "Windows NT Advanced Server Setup Disk #16"  , TAGFILE = disk16
  583.     17    = "Windows NT Advanced Server Setup Disk #17"  , TAGFILE = disk17
  584.     18    = "Windows NT Advanced Server Setup Disk #18"  , TAGFILE = disk18
  585.     19    = "Windows NT Advanced Server Setup Disk #19"  , TAGFILE = disk19
  586.     20    = "Windows NT Advanced Server Setup Disk #20"  , TAGFILE = disk20
  587.     21    = "Windows NT Advanced Server Setup Disk #21"  , TAGFILE = disk21
  588.     22    = "Windows NT Advanced Server Setup Disk #22"  , TAGFILE = disk22
  589.     23    = "Windows NT Advanced Server Setup Disk #23"  , TAGFILE = disk23
  590.     24    = "Windows NT Advanced Server Setup Disk #24"  , TAGFILE = disk24
  591.     25    = "Windows NT Advanced Server Setup Disk #25"  , TAGFILE = disk25
  592.     26    = "Windows NT Advanced Server Setup Disk #26"  , TAGFILE = disk26
  593.     27    = "Windows NT Advanced Server Setup Disk #27"  , TAGFILE = disk27
  594.     28    = "Windows NT Advanced Server Setup Disk #28"  , TAGFILE = disk28
  595.     29    = "Windows NT Advanced Server Setup Disk #29"  , TAGFILE = disk29
  596. [ProductType]
  597. STF_PRODUCT  = LanmanNT
  598. STF_PLATFORM = I386
  599. [Files-Inf]
  600. 2,    oemsetup.inf,     SIZE=1000,    RENAME=$(!UG_Filename)
  601. [Files-ELNK3EISA]
  602. 22,ELNK3.SYS , SIZE=29696
  603. [LanguagesSupported]
  604.     ENG
  605. [OptionsTextENG]
  606.     ELNK3EISA     = "3Com Etherlink III EISA Adapter"
  607. [FileConstantsENG]
  608. ProCaption   = "Windows NT Setup"
  609. ProCancel    = "Cancel"
  610. ProCancelMsg = "Windows NT Networking is not correctly installed.  "+
  611.                "Are you sure you want to cancel copying files?"
  612. ProCancelCap = "Network Setup Message"
  613. ProText1     = "Copying:"
  614. ProText2     = "To:"
  615. FunctionTitle   = "3Com Etherlink III EISA Adapter Card Setup"
  616. ProductSoftwareDescription      = "3Com Etherlink III Adapter Driver"
  617. ProductHardwareDescription      = "3Com Etherlink III EISA Adapter"
  618. CANNOT_FIND_ANY_CARD            = "Network card is not present in the system"
  619. ProductSoftwareTitle    = "3Com Etherlink III Adapter Driver"
  620. ProductHardwareTitle    = "3Com Etherlink III EISA Adapter"
  621. ShellCodeErrorTitle     = "Error: "$(FunctionTitle)
  622. ShellCodeErrorText      = "Shell Code Error."
  623. [DialogConstantsENG]
  624. Help        = "&Help"
  625. Exit        = "Cancel"
  626. OK          = "OK"
  627. HelpContext = ""
  628. Continue    = "Continue"
  629. Cancel      = "Cancel"
  630. [FileDependentDlgENG]
  631.  
  632.  
  633.  
  634.