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

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