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

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