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

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