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

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