home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1999 March / VPR9903B.ISO / DRVLIBJ / NETCARD / NEC98 / 3COM / 3C905B / OEMSETUP.INF < prev    next >
INI File  |  1998-11-10  |  50KB  |  1,647 lines

  1.  
  2. [IntstallOptions]
  3.  Install_dRMON = "YES"
  4.  Install_3NIC_Diag = "YES"
  5.  Install_PACE = "YES"
  6.  Install_Shortcuts = "YES"
  7.  
  8. [Identification]
  9.  OptionType = NetAdapter
  10.  
  11. [PlatformsSupported]
  12.  ISA
  13.  EISA
  14.  "Jazz-Internal Bus"
  15.  PCI
  16.  
  17. [Options]
  18.  3C90X 
  19. 3C905 
  20. 3C900 
  21.  
  22. [DriverFilenameConstantsNDIS3]
  23.  NetEventDLL = "%SystemRoot%\System32\netevent.dll;%SystemRoot%\System32\drivers\el90xnd3.sys"
  24.  ProductSoftwareImagePath = "%SystemRoot%\System32\drivers\el90xnd3.sys"
  25.  ProductSoftwareUpgradePath = "\SystemRoot\System32\drivers\el90xnd3.sys"
  26.  
  27. [DriverFilenameConstantsNDIS4]
  28.  NetEventDLL = "%SystemRoot%\System32\netevent.dll;%SystemRoot%\System32\drivers\el90xnd4.sys"
  29.  ProductSoftwareImagePath = "%SystemRoot%\System32\drivers\el90xnd4.sys"
  30.  ProductSoftwareUpgradePath = "\SystemRoot\System32\drivers\el90xnd4.sys"
  31.  
  32.  
  33. [FileConstants]
  34.  UtilityInf = "UTILITY.INF"
  35.  subroutineinf = "SUBROUTN.INF"
  36.  SoftwareType = "driver"
  37.  Exit_Code = 0
  38.  IoLogMsgDLL = "%SystemRoot%\System32\IoLogMsg.dll"
  39.  TrayIconExe = "comsmd.exe"
  40.  NetworkCardsKey = $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"
  41.  
  42. Manufacturer = "3Com"
  43.  ProductMajorVersion = "1"
  44.  ProductMinorVersion = "0"
  45.  ProductReview = "1"
  46.  ProductVersion = $(ProductMajorVersion)"."$(ProductMinorVersion)
  47.  ProductSoftwareName = "El90x"
  48.  NetRuleSoftwareType = "El90xSys ndisDriver El90xDriver"
  49.  NetRuleSoftwareUse = $(SoftwareType)
  50.  NetRuleSoftwareBindForm = """El90xSys"" yes no container"
  51.  NetRuleSoftwareClass = {"El90xDriver basic"}
  52.  NetRuleSoftwareBindable = {"El90xDriver El90xAdapter non exclusive 100"}
  53.  ProductHardwareName = "El90x"
  54.  NetRuleHardwareBindForm = " yes yes container"
  55.  
  56.  ProductKeyName = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion"
  57.  ParamKeyName = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters"
  58.  
  59.  FunctionTitle = "3Com 3C90x Adapter Card Setup"
  60.  ProductSoftwareDescription = "3Com 3C90x Adapter Driver"
  61.  ProductSoftwareTitle = "3Com 3C90x Adapter Driver"
  62.  3CNUMBER = "3C90X"
  63.  
  64. GROUP_NAME = "3Com Fast Etherlink XL/Etherlink XL"
  65.  NetRuleHardwareType = "El90x El90xAdapter"
  66.  NetRuleHardwareClass = {"El90xAdapter basic"}
  67.  
  68.  ProductHardwareXXXXXTitle = "3Com Fast EtherLink/Etherlink XL PCI Busmaster NIC"
  69.  ProductHardwareXXXXXDescription = "3Com Fast EtherLink/Etherlink XL PCI Busmaster NIC"
  70.  
  71.  ProductHardware36944Title = "3Com Fast EtherLink XL NIC (3C905-TX)"
  72.  ProductHardware36944Description = "3Com Fast EtherLink XL 10/100Mb TX Ethernet NIC (3C905-TX)"
  73.  
  74.  ProductHardware36945Title = "3Com Fast EtherLink XL NIC (3C905-T4)"
  75.  ProductHardware36945Description = "3Com Fast EtherLink XL 10/100Mb T4 Ethernet NIC (3C905-T4)"
  76.  
  77.  ProductHardware36949Title = "3Com Fast EtherLink XL NIC (3C905B-TX)"
  78.  ProductHardware36949Description = "3Com Fast EtherLink XL 10/100Mb TX Ethernet NIC (3C905B-TX)"
  79.  
  80.  ProductHardware36864Title = "3Com EtherLink XL NIC (3C900-TPO)"
  81.  ProductHardware36864Description = "3Com EtherLink XL TPO 10Mb Ethernet NIC (3C900-TPO)" 
  82.  
  83. ProductHardware36865Title = "3Com EtherLink XL NIC (3C900-COMBO)"
  84.  ProductHardware36865Description = "3Com EtherLink XL COMBO 10Mb Ethernet NIC (3C900-COMBO)" 
  85.  
  86. ProductHardware36867Title = "3Com EtherLink XL NIC (3C900B-TPC)"
  87.  ProductHardware36867Description = "3Com EtherLink XL TPC 10Mb Ethernet NIC (3C900B-TPC)" 
  88.  
  89. ProductHardware36868Title = "3Com EtherLink XL NIC (3C900B-TPO)"
  90.  ProductHardware36868Description = "3Com EtherLink XL TPO 10Mb Ethernet NIC (3C900B-TPO)" 
  91.  
  92. ProductHardware36869Title = "3Com EtherLink XL NIC (3C900B-COMBO)"
  93.  ProductHardware36869Description = "3Com EtherLink XL COMBO 10Mb Ethernet NIC (3C900B-COMBO)" 
  94.  
  95.  
  96. AdapterType         = 5 
  97. CFIDList         = {36944, 36945, 36949, 36864, 36865, 36867, 36868, 36869}
  98.                           
  99.  
  100. [GeneralConstants]
  101.  from = ""
  102.  to = ""
  103.  ExitCodeOk = 0
  104.  ExitCodeCancel = 1 
  105. ExitCodeFatal = 2
  106.  KeyNull = ""
  107.  MAXIMUM_ALLOWED = 33554432
  108.  RegistryErrorIndex = NO_ERROR
  109.  KeyProduct = ""
  110.  KeyParameters = ""
  111.  TRUE = 1
  112.  FALSE = 0
  113.  NoTitle = 0
  114.  ExitState = "Active"
  115.  OldVersionExisted = $(FALSE)
  116.  DriverPath = $(!STF_NTPATH)\drivers
  117.  NT350VersionConstant = "3.50"
  118.  NT310VersionConstant = "3.10"
  119.  NT400VersionConstant = "(4.0)"
  120.  INF_PROCESSER = "I386"
  121. [date]
  122.  Now = {} ? $(!LIBHANDLE) GetSystemDate
  123.  
  124. [Identify]
  125.  read-syms Identification
  126.  set Status = STATUS_SUCCESSFUL
  127.  set Identifier = $(OptionType)
  128.  set Media = #("Source Media Descriptions", 1, 1)
  129.  Return $(Status) $(Identifier) $(Media)
  130.  
  131. [ReturnOptions]
  132.  set Status = STATUS_FAILED
  133.  set OptionList = {}
  134.  set OptionTextList = {}
  135.  set LanguageList = ^(LanguagesSupported, 1)
  136.  Ifcontains(i) $($0) in $(LanguageList)
  137.  ifstr(i) $($1) == ""
  138.  goto returnoptions
  139.  endif
  140.  set PlatformList = ^(PlatformsSupported, 1)
  141.  Ifcontains(i) $($1) in $(PlatformList)
  142.  goto returnoptions
  143.  else
  144.  set Status = STATUS_NOTSUPPORTED
  145.  goto finish_ReturnOptions
  146.  endif
  147.  else
  148.  set Status = STATUS_NOLANGUAGE
  149.  goto finish_ReturnOptions
  150.  endif
  151.  
  152. returnoptions = +
  153.  set OptionList = ^(Options, 1)
  154.  set OptionTextList = ^(OptionsText$($0), 1)
  155.  set Status = STATUS_SUCCESSFUL
  156.  
  157. finish_ReturnOptions = +
  158.  Return $(Status) $(OptionList) $(OptionTextList)
  159.  
  160. [PaceRegistry]
  161.  read-syms GeneralConstants
  162.  read-syms FileConstants
  163.  read-syms DialogConstants$(!STF_LANGUAGE)
  164.  read-syms FileConstants$(!STF_LANGUAGE)
  165.  
  166.  
  167.     OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\3Com\"$(ProductSoftwareName) $(!REG_KEY_ALL_ACCESS) KeyNt
  168.     
  169.     set TrayIconList = {PACENAME,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareName)}
  170.     SetRegValue $(KeyNt) $(TrayIconList)
  171.     
  172.     CloseRegKey $(KeyNt) 
  173.  
  174. OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE" $(!REG_KEY_WRITE) SOFTPACEKEY
  175.  
  176. OpenRegKey $(SOFTPACEKEY) "" "3Com" $(!REG_KEY_WRITE) COMPACEKEY
  177.  ifstr $(COMPACEKEY) == ""
  178.  CreateRegKey $(SOFTPACEKEY) {"3Com", 0, GenericClass} "" $(!REG_KEY_WRITE) "" COMPACEKEY
  179.  endif
  180.  
  181. OpenRegKey $(COMPACEKEY) "" "DA" $(!REG_KEY_WRITE) DAPACEKEY
  182.  ifstr $(DAPACEKEY) == ""
  183.  CreateRegKey $(COMPACEKEY) {"DA", 0, GenericClass} "" $(!REG_KEY_WRITE) "" DAPACEKEY
  184.  endif
  185.  
  186.  OpenRegKey $(DAPACEKEY) "" "CardsSupported" $(!REG_KEY_WRITE) CARDPACEKEY
  187.  ifstr $(CARDPACEKEY) == ""
  188.  CreateRegKey $(DAPACEKEY) {"CardsSupported", 0, GenericClass} "" $(!REG_KEY_WRITE) "" CARDPACEKEY
  189.  endif
  190.  
  191.  OpenRegKey $(CARDPACEKEY) "" "EL90X" $(!REG_KEY_WRITE) EL90XPACEKEY
  192.  ifstr $(EL90XPACEKEY) == ""
  193.  CreateRegKey $(CARDPACEKEY) {"EL90X", 0, GenericClass} "" $(!REG_KEY_WRITE) "" EL90XPACEKEY
  194.  endif
  195.  
  196. SetRegValue $(EL90XPACEKEY) {"CardName", 0, $(!REG_VT_SZ), $(GROUP_NAME)}
  197.  SetRegValue $(EL90XPACEKEY) {"Pace", 0, $(!REG_VT_SZ), "1"}
  198.  SetRegValue $(EL90XPACEKEY) {"FastIP", 0, $(!REG_VT_SZ), "1"}
  199.  
  200. OpenRegKey $(DAPACEKEY) "" "Pace" $(!REG_KEY_WRITE) PACEPACEKEY
  201.  ifstr $(PACEPACEKEY) == ""
  202.  CreateRegKey $(DAPACEKEY) {"Pace", 0, GenericClass} "" $(!REG_KEY_WRITE) "" PACEPACEKEY
  203.  endif
  204.  
  205.  OpenRegKey $(PACEPACEKEY) "" "Applications" $(!REG_KEY_WRITE) APPPACEKEY
  206.  ifstr $(APPPACEKEY) == ""
  207.  CreateRegKey $(PACEPACEKEY) {"Applications", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPPACEKEY
  208.  endif
  209.  
  210.  OpenRegKey $(APPPACEKEY) "" "Emotion CreativePartner (IPX)" $(!REG_KEY_WRITE) APPSPECPACEKEY
  211.  ifstr $(APPSPECPACEKEY) == ""
  212.  CreateRegKey $(APPPACEKEY) {"Emotion CreativePartner (IPX)", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY
  213.  endif
  214.  set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"IPX"},+
  215.  {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, +
  216.  {RangeStart,$(NoTitle),$(!REG_VT_SZ),"87C7"}, +
  217.  {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"87C8"}}
  218.  Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList)
  219.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  220.  goto ShellCodeError
  221.  endif
  222.  CloseRegKey $(APPSPECPACEKEY)
  223.  
  224.  
  225. OpenRegKey $(APPPACEKEY) "" "Emotion CreativePartner (TCP/IP)" $(!REG_KEY_WRITE) APPSPECPACEKEY
  226.  ifstr $(APPSPECPACEKEY) == ""
  227.  CreateRegKey $(APPPACEKEY) {"Emotion CreativePartner (TCP/IP)", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY
  228.  endif
  229.  set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"UDP"},+
  230.  {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, +
  231.  {RangeStart,$(NoTitle),$(!REG_VT_SZ),"0453"}, +
  232.  {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"0455"}}
  233.  Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList)
  234.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  235.  goto ShellCodeError
  236.  endif
  237.  CloseRegKey $(APPSPECPACEKEY)
  238.  
  239.  OpenRegKey $(APPPACEKEY) "" "InSoft Communique!" $(!REG_KEY_WRITE) APPSPECPACEKEY
  240.  ifstr $(APPSPECPACEKEY) == ""
  241.  CreateRegKey $(APPPACEKEY) {"InSoft Communique!", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY
  242.  endif
  243.  set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"UDP"},+
  244.  {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, +
  245.  {RangeStart,$(NoTitle),$(!REG_VT_SZ),"1025, 1500"}, +
  246.  {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"1050, 1525"}}
  247.  Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList)
  248.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  249.  goto ShellCodeError
  250.  endif
  251.  CloseRegKey $(APPSPECPACEKEY)
  252.  
  253.  OpenRegKey $(APPPACEKEY) "" "Picturetel LiveLAN (over IPX)" $(!REG_KEY_WRITE) APPSPECPACEKEY
  254.  ifstr $(APPSPECPACEKEY) == ""
  255.  CreateRegKey $(APPPACEKEY) {"Picturetel LiveLAN (over IPX)", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY
  256.  endif
  257.  set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"IPX"},+
  258.  {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, +
  259.  {RangeStart,$(NoTitle),$(!REG_VT_SZ),"4050"}, +
  260.  {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"4082"}}
  261.  Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList)
  262.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  263.  goto ShellCodeError
  264.  endif
  265.  CloseRegKey $(APPSPECPACEKEY)
  266.  
  267.  OpenRegKey $(APPPACEKEY) "" "Picturetel LiveLAN (over TCP/IP)" $(!REG_KEY_WRITE) APPSPECPACEKEY
  268.  ifstr $(APPSPECPACEKEY) == ""
  269.  CreateRegKey $(APPPACEKEY) {"Picturetel LiveLAN (over TCP/IP)", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY
  270.  endif
  271.  set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"UDP"},+
  272.  {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, +
  273.  {RangeStart,$(NoTitle),$(!REG_VT_SZ),"06a4"}, +
  274.  {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"06d6"}}
  275.  Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList)
  276.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  277.  goto ShellCodeError
  278.  endif
  279.  CloseRegKey $(APPSPECPACEKEY)
  280.  
  281.  OpenRegKey $(APPPACEKEY) "" "Precept FlashWare" $(!REG_KEY_WRITE) APPSPECPACEKEY
  282.  ifstr $(APPSPECPACEKEY) == ""
  283.  CreateRegKey $(APPPACEKEY) {"Precept FlashWare", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY
  284.  endif
  285.  set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"UDP"},+
  286.  {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, +
  287.  {RangeStart,$(NoTitle),$(!REG_VT_SZ),"8000, C000"}, +
  288.  {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"8000, C000"}}
  289.  Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList)
  290.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  291.  goto ShellCodeError
  292.  endif
  293.  CloseRegKey $(APPSPECPACEKEY)
  294.  
  295.  OpenRegKey $(APPPACEKEY) "" "Progressive Networks RealAudio" $(!REG_KEY_WRITE) APPSPECPACEKEY
  296.  ifstr $(APPSPECPACEKEY) == ""
  297.  CreateRegKey $(APPPACEKEY) {"Progressive Networks RealAudio", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY
  298.  endif
  299.  set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"UDP"},+
  300.  {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, +
  301.  {RangeStart,$(NoTitle),$(!REG_VT_SZ),"6970"}, +
  302.  {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"7170"}}
  303.  Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList)
  304.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  305.  goto ShellCodeError
  306.  endif
  307.  CloseRegKey $(APPSPECPACEKEY)
  308.  
  309.  OpenRegKey $(APPPACEKEY) "" "Starlight Networks StarCast" $(!REG_KEY_WRITE) APPSPECPACEKEY
  310.  ifstr $(APPSPECPACEKEY) == ""
  311.  CreateRegKey $(APPPACEKEY) {"Starlight Networks StarCast", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY
  312.  endif
  313.  set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"UDP"},+
  314.  {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, +
  315.  {RangeStart,$(NoTitle),$(!REG_VT_SZ),"1911"}, +
  316.  {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"1911"}}
  317.  Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList)
  318.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  319.  goto ShellCodeError
  320.  endif
  321.  CloseRegKey $(APPSPECPACEKEY)
  322.  
  323.  OpenRegKey $(APPPACEKEY) "" "VCON Cruiser 100" $(!REG_KEY_WRITE) APPSPECPACEKEY
  324.  ifstr $(APPSPECPACEKEY) == ""
  325.  CreateRegKey $(APPPACEKEY) {"VCON Cruiser 100", 0, GenericClss} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY
  326.  endif
  327.  set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"UDP"},+
  328.  {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, +
  329.  {RangeStart,$(NoTitle),$(!REG_VT_SZ),"1500, 1600"}, +
  330.  {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"1500, 1600"}}
  331.  Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList)
  332.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  333.  goto ShellCodeError
  334.  endif
  335.  CloseRegKey $(APPSPECPACEKEY)
  336.  
  337.  OpenRegKey $(APPPACEKEY) "" "VXtreme Web Theater" $(!REG_KEY_WRITE) APPSPECPACEKEY
  338.  ifstr $(APPSPECPACEKEY) == ""
  339.  CreateRegKey $(APPPACEKEY) {"VXtreme Web Theater", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY
  340.  endif
  341.  set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"UDP"},+
  342.  {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, +
  343.  {RangeStart,$(NoTitle),$(!REG_VT_SZ),"7000"}, +
  344.  {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"7020"}}
  345.  Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList)
  346.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  347.  goto ShellCodeError
  348.  endif
  349.  CloseRegKey $(APPSPECPACEKEY)
  350.  
  351.  OpenRegKey $(APPPACEKEY) "" "Xing Technology Streamworks" $(!REG_KEY_WRITE) APPSPECPACEKEY
  352.  ifstr $(APPSPECPACEKEY) == ""
  353.  CreateRegKey $(APPPACEKEY) {"Xing Technology Streamworks", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY
  354.  endif
  355.  set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"UDP"},+
  356.  {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, +
  357.  {RangeStart,$(NoTitle),$(!REG_VT_SZ),"1558"}, +
  358.  {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"1558"}}
  359.  Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList)
  360.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  361.  goto ShellCodeError
  362.  endif
  363.  CloseRegKey $(APPSPECPACEKEY)
  364.  
  365.  OpenRegKey $(APPPACEKEY) "" "Vosaic Software Server" $(!REG_KEY_WRITE) APPSPECPACEKEY
  366.  ifstr $(APPSPECPACEKEY) == ""
  367.  CreateRegKey $(APPPACEKEY) {"Vosaic Software Server", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY
  368.  endif
  369.  set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"TCP"},+
  370.  {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, +
  371.  {RangeStart,$(NoTitle),$(!REG_VT_SZ),"04D3"}, +
  372.  {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"04D3"}}
  373.  Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList)
  374.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  375.  goto ShellCodeError
  376.  endif
  377.  CloseRegKey $(APPSPECPACEKEY)
  378.  
  379.  OpenRegKey $(APPPACEKEY) "" "Vosaic Software Client" $(!REG_KEY_WRITE) APPSPECPACEKEY
  380.  ifstr $(APPSPECPACEKEY) == ""
  381.  CreateRegKey $(APPPACEKEY) {"Vosaic Software Client", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY
  382.  endif
  383.  set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"UDP"},+
  384.  {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, +
  385.  {RangeStart,$(NoTitle),$(!REG_VT_SZ),"F169"}, +
  386.  {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"F17D"}}
  387.  Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList)
  388.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  389.  goto ShellCodeError
  390.  endif
  391.  CloseRegKey $(APPSPECPACEKEY)
  392.  
  393.  CloseRegKey $(APPPACEKEY)
  394.  CloseRegKey $(PACEPACEKEY)
  395.  CloseRegKey $(EL90XPACEKEY)
  396.  CloseRegKey $(CARDPACEKEY)
  397.  CloseRegKey $(DAPACEKEY)
  398.  CloseRegKey $(COMPACEKEY)
  399.  CloseRegKey $(SOFTPACEKEY)
  400.  
  401. return 
  402.  
  403.  
  404. [InstallOption]
  405.  
  406.  
  407.  
  408.  
  409. set CurrLang = $($0)
  410.  set Option = $($1)
  411.  set SrcDir = $($2)
  412.  set AddCopy = $($3)
  413.  set DoCopy = $($4)
  414.  set DoConfig = $($5)
  415.  set LanguageList = ^(LanguagesSupported, 1)
  416.  Ifcontains(i) $($0) NOT-IN $(LanguageList)
  417.  Return STATUS_NOLANGUAGE
  418.  endif
  419.  set-subst LF = "\n"
  420.  read-syms IntstallOptions
  421.  read-syms GeneralConstants
  422.  read-syms FileConstants
  423.  read-syms DialogConstants$(!STF_LANGUAGE)
  424.  ifstr(i) $(!NTN_Origination) == "NCPA"
  425.  set Continue = "OK"
  426.  endif
  427.  read-syms FileConstants$(!STF_LANGUAGE)
  428.  detect date
  429.  set-title $(FunctionTitle)
  430.  set to = Begin
  431.  set from = Begin
  432.  set CommonStatus = STATUS_SUCCESSFUL
  433.  EndWait
  434.  
  435. Begin = +
  436.  
  437.  
  438.  
  439.  
  440.  
  441. set CurrentVersionValue = ""
  442.  OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\Windows Nt\CurrentVersion" $(!REG_KEY_READ) KeyNt
  443.  Ifstr(i) $(KeyNt) != ""
  444.  GetRegValue $(KeyNt) "CurrentVersion" CurrentVersionValue
  445.  Debug-Output "$(InfFile) : WinNT CurrentVersion ="$(CurrentVersionValue)
  446.  CloseRegKey $(KeyNt)
  447.  Endif
  448.  
  449.  
  450. ;ifstr(i) (*($(CurrentVersionValue),4)) == $(NT400VersionConstant)
  451.      set NDIS_VER = NDIS4
  452. ; else
  453. ;        set NDIS_VER = NDIS3 
  454. ;endif
  455.     
  456.     read-syms DriverFilenameConstants$(NDIS_VER)
  457.  
  458.  ifstr(i) (*($(CurrentVersionValue),4)) == $(NT310VersionConstant) 
  459. Debug-Output "$(InfFile) : Configureadapter"
  460.  set Error = "Windows NT v3.10 is not support by this product"
  461.  goto fatal
  462.  endif
  463.  
  464. Ifstr(i) $(!NTN_InstallMode) == deinstall
  465.  set StartLabel = removeadapter
  466.  else-Ifstr(i) $(!NTN_InstallMode) == Update
  467.  set StartLabel = UpgradeSoftware
  468.  else-Ifstr(i) $(!NTN_InstallMode) == bind
  469.  set StartLabel = bindingadapter
  470.  else-Ifstr(i) $(!NTN_InstallMode) == configure
  471.  ifstr $(!STF_PLATFORM) == $(INF_PROCESSER) 
  472. RunProgram ExitCode "Windows Directory" "" 3nicdiag.exe 
  473. set CommonStatus = STATUS_USERCANCEL
  474.  goto end
  475.  else-Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  476.  Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
  477.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  478.  goto ShellCodeError
  479.  endif
  480.  set Error = $($R0)
  481.  set from = end
  482.  set to = end
  483.  goto nonfatalinfo
  484.  else
  485.  set StartLabel = configureadapter
  486.  endif
  487.  else
  488.  set StartLabel = installadapter
  489.  set OEM_ABANDON_OPTIONS = {}
  490.  set OEM_ABANDON_SOFTWARE = FALSE
  491.  set OEM_ABANDON_ON = TRUE
  492.  endif
  493.  
  494.  Debug-Output "$(InfFile) : =================================================="
  495.  Debug-Output "$(InfFile) : STF_CWDIR is: "$(!STF_CWDIR)
  496.  Debug-Output "$(InfFile) : STF_SRCDIR is: "$(!STF_SRCDIR)
  497.  Debug-Output "$(InfFile) : STF_LANGUAGE is: "$(!STF_LANGUAGE)
  498.  Debug-Output "$(InfFile) : Option is: "$(Option)
  499.  Debug-Output "$(InfFile) : !STF_NCN_InstallMode is:"$(!NTN_InstallMode)
  500.  Debug-Output "$(InfFile) : !STF_NCDETECT is: "$(!STF_NCDETECT)
  501.  Debug-Output "$(InfFile) : !STF_NCOPTION is: "$(!STF_NCOPTION)
  502.  Debug-Output "$(InfFile) : !STF_NCDETCARD is: "$(!STF_NCDETCARD)
  503.  Debug-Output "$(InfFile) : !STF_NCDETINFO is: "$(!STF_NCDETINFO)
  504.  Debug-Output "$(InfFile) : !STF_GUI_UNATTENDED is: "$(!STF_GUI_UNATTENDED)
  505.  Debug-Output "$(InfFile) : !STF_BusType is $(!STF_BUSTYPE)" 
  506. Debug-Output "$(InfFile) : !STF_BusTypeList is $(!STF_BUSTYPELIST)" 
  507. Debug-Output "$(InfFile) : =================================================="
  508.  
  509.  set from = $(fatal)
  510.  set to = $(fatal)
  511.  goto $(StartLabel)
  512.  
  513. installadapter = +
  514.  
  515. Debug-Output "$(InfFile) : Installadapter" 
  516. OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(!REG_KEY_READ) KeyProduct
  517.  Ifstr $(KeyProduct) != $(KeyNull)
  518.  CloseRegKey $(KeyProduct)
  519.  ifstr(i) !(NTN_RegBase) == $(ProductKeyName)
  520.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  521.  Debug-Output "ShellCode error: cannot get an error string."
  522.  goto ShellCodeError
  523.  endif
  524.  goto end
  525.  else
  526.  set OldVersionExisted = $(TRUE)
  527.  endif
  528.  Endif
  529.  
  530.  Goto adapteroptions 
  531.  
  532. configureadapter = +
  533.  Debug-Output "$(InfFile) : Configureadapter"
  534.  
  535.  set Error = "Cannot configure the software component"
  536.  goto fatal
  537.  
  538. adapteroptions = +
  539.  Debug-Output "$(InfFile) : Adapteroptions"
  540.  set from = adapteroptions
  541.  ifstr(i) $(!NTN_InstallMode) == configure
  542.  goto updateparameters
  543.  endif
  544.  
  545. installproduct =+
  546.  Debug-Output "$(InfFile) : installproduct"
  547.  StartWait 
  548. set AdapterList = $($R1)
  549.  ifint $(OldVersionExisted) == $(FALSE)
  550.  Ifstr(i) $(DoCopy) == "YES"
  551.  Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) NO
  552.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  553.  Goto ShellCodeError
  554.  Else-Ifstr(i) $($R0) == STATUS_FAILED
  555.  Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
  556.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  557.  goto ShellCodeError
  558.  endif
  559.  set Error = $($R0)
  560.  Goto fatal
  561.  Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
  562.  Goto successful
  563.  Endif
  564.  
  565. Endif
  566.  
  567.  install "Install-Option"
  568.  ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  569.  Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE"
  570.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  571.  goto ShellCodeError
  572.  endif
  573.  set Error = $($R0)
  574.  goto fatal
  575.  endif
  576.  
  577. endif
  578.  
  579.  
  580.  
  581.  
  582.  
  583. OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"$(ProductHardwareName) $(!REG_KEY_READ) KeyNt
  584.  CloseRegKey $(KeyNt)
  585.  
  586.  Ifstr(i) $(KeyNt) == ""
  587.  Debug-Output "$(InfFile) : AddSoftwareComponent"
  588.  Debug-Output "$(InfFile) : --> $(Manufacturer)"
  589.  Debug-Output "$(InfFile) : --> $(ProductSoftwareName)"
  590.  Debug-Output "$(InfFile) : --> $(ProductSoftwareTitle)"
  591.  Debug-Output "$(InfFile) : --> $(STF_CONTEXTINFNAME)"
  592.  Debug-Output "$(InfFile) : --> $(ProductSoftwareImagePath)"
  593.  Debug-Output "$(InfFile) : --> $(NetEventDLL)"
  594.  
  595.  Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), +
  596.  $(ProductSoftwareName), +
  597.  $(ProductSoftwareName), +
  598.  $(ProductSoftwareTitle), $(STF_CONTEXTINFNAME), +
  599.  $(ProductSoftwareImagePath), "kernel", "NDIS", {}, "",+
  600.  $(NetEventDLL)
  601.  
  602. Set OEM_ABANDON_SOFTWARE = TRUE
  603.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  604.  goto ShellCodeError
  605.  endif
  606.  set RegistryErrorIndex = $($R0)
  607.  Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
  608.  EndWait
  609.  CloseRegKey $($R1)
  610.  CloseRegKey $($R2)
  611.  CloseRegKey $($R3)
  612.  CloseRegKey $($R4)
  613.  CloseRegKey $($R5)
  614.  goto fatalregistry
  615.  endif
  616.  Set SoftProductKey = $($R1)
  617.  Set SoftNetRuleKey = $($R2)
  618.  Set SoftServiceKey = $($R3)
  619.  Set SoftParameterKey = $($R4)
  620.  Set SoftLinkageKey = $($R5)
  621.  set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
  622.  {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)},+
  623.  {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)},+
  624.  {Title,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareTitle)},+
  625.  {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareDescription)},+
  626.               {Review,$(NoTitle),$(!REG_VT_DWORD),$(ProductReview)},+
  627.  {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareName)},+
  628.  {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  629.  Shell $(UtilityInf), AddValueList, $(SoftProductKey), $(NewValueList)
  630.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  631.  goto ShellCodeError
  632.  endif
  633.  set RegistryErrorIndex = $($R0)
  634.  Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
  635.  EndWait
  636.  CloseRegKey $(SoftProductKey)
  637.  CloseRegKey $(SoftNetRuleKey)
  638.  CloseRegKey $(SoftServiceKey)
  639.  CloseRegKey $(SoftParameterKey)
  640.  CloseRegKey $(SoftLinkageKey)
  641.  goto fatalregistry
  642.  endif
  643.  set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareType)},+
  644.  {use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareUse)}, +
  645.  {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareBindForm)}, +
  646.  {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareClass)}, +
  647.  {bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareBindable)}, +
  648.  {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  649.  Shell $(UtilityInf), AddValueList, $(SoftNetRuleKey), $(NewValueList)
  650.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  651.  goto ShellCodeError
  652.  endif
  653.  set RegistryErrorIndex = $($R0)
  654.  CloseRegKey $(SoftProductKey)
  655.  CloseRegKey $(SoftNetRuleKey)
  656.  CloseRegKey $(SoftServiceKey)
  657.  CloseRegKey $(SoftParameterKey)
  658.  CloseRegKey $(SoftLinkageKey)
  659.  
  660.  
  661.  
  662. set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareType)},+
  663.  {use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareUse)}, +
  664.  {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareBindForm)}, +
  665.  {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareClass)}, +
  666.  {bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareBindable)}, +
  667.  {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  668.  Shell $(UtilityInf), AddValueList, $(SoftNetRuleKey), $(NewValueList)
  669.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  670.  goto ShellCodeError
  671.  endif
  672.  
  673.  
  674. Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
  675.  EndWait
  676.  goto fatalregistry
  677.  endif
  678.  endif 
  679.  
  680. Debug-Output "$(InfFile) : About to look for 3Com PCI Cards"
  681.  
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  
  688. set TargetVersion = *($(CurrentVersionValue),4)
  689.  Debug-Output "$(InfFile) : Current Version:"$(TargetVersion)
  690.  
  691.  ifstr $(TargetVersion) == $(NT350VersionConstant) 
  692. Debug-Output "Running on WindowsNT 3.50"
  693.  set Version350 = $(TRUE)
  694.  else
  695.  Debug-Output "Running on WindowsNT 3.51 or higher"
  696.  set Version350 = $(FALSE)
  697.  endif
  698.  
  699.  ifint $(Version350) == $(TRUE)
  700.  Debug-Output "Running on WindowsNT v3.50, Not using PCI Detection!!!"
  701.  ifstr $(!STF_GUI_UNATTENDED) == "YES"
  702.  Debug-Output "$(InfFile) : Running in GUI unattended mode"
  703.  ifstr(i) $(!AutoNetInterfaceType) != ""
  704.  set BusInterfaceType = $(!AutoNetInterfaceType)
  705.  else
  706.  set BusInterfaceType = 5
  707.  endif
  708.  ifstr(i) $(!AutoNetBusNumber) != ""
  709.  set BusNumber = $(!AutoNetBusNumber)
  710.  else
  711.  set BusNumber = 0
  712.  endif
  713.  set NTDetected = $(FALSE)
  714.  set AdapterList = {{$(Option),0, XXXXX}} 
  715. Debug-Output "$(InfFile) : BusInterfaceType = $(BusInterfaceType)"
  716.  Debug-Output "$(InfFile) : BusNumber = $(BusNumber)"
  717.  else 
  718. Debug-Output "$(InfFile) : Running 3.50 Bus Dialog"
  719.  set BusInterfaceType = 5
  720.  set BusNumber = 0
  721.  set NTDetected = $(FALSE)
  722.  Shell $(UtilityInf),GetBusTypeDialog,$(ProductHardwareXXXXXDescription) $(BusInterfaceType) $(BusNumber)
  723.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  724.  Debug-Output "ShellCode error."
  725.  goto ShellCodeError
  726.  endif
  727.  set BusInterfaceType = $($R1)
  728.  set BusNumber = $($R2)
  729.  set AdapterList = {{$(Option),0, XXXXX}} 
  730. Debug-Output "$(InfFile) : BusInterfaceType = $(BusInterfaceType)"
  731.  Debug-Output "$(InfFile) : BusNumber = $(BusNumber)"
  732.  endif 
  733. else
  734.  Debug-Output "$(InfFile) : Running 3.51 or higher using PCI Dectection"
  735.  
  736.  
  737.  
  738. set NTDetected = $(TRUE)
  739.  set Vendor = 4279 
  740. set CFIDList = $(CFIDList)
  741.  Debug-Output "$(InfFile) : VendorID = $(Vendor)"
  742.  Debug-Output "$(InfFile) : CFIDList = $(CFIDList)"
  743.  set AdapterList = {}
  744.  ForListDo $(CFIDList)
  745.  set-div CFID = $($) 1
  746.  set DeviceID = $($)
  747.  Shell $(UtilityInf), GetPCIInformation, $(Vendor) $(CFID)
  748.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  749.  goto ShellCodeError
  750.  endif
  751.  ForListDo $($R0)
  752.  set AdapterList = >($(AdapterList), {*($($),1), *($($),2), $(DeviceID)})
  753.  EndForListDo
  754.  EndForListDo
  755.  ifstr(i) $(AdapterList) == {}
  756.  set Error = $(CANNOT_FIND_ANY_CARD)
  757.  set CommonStatus = USER_CANCEL
  758.  set from = end
  759.  goto nonfatal
  760.  endif
  761.  endif 
  762.  
  763.  
  764.  
  765. Debug-Output "$(InfFile) : Adapterlist = $(AdatperList)"
  766.  ForListDo $(AdapterList)
  767.  Set InstallCard = "YES"
  768.  ifint $(NTDetected) == $(TRUE)
  769.  set DetectedBusNum = *($($),1)
  770.  set DetectedSlotNum = *($($),2)
  771.  set DeviceID = *($($),3)
  772.  Debug-Output "$(InfFile) : DetectedBusNumber = $(DetectedBusNum)"
  773.  Debug-Output "$(InfFile) : DetectedSlotNum = $(DetectedSlotNum)"
  774.  
  775.  Shell $(UtilityInf), IsNetCardAlreadyInstalled, $(DetectedBusNum), +
  776.  $(DetectedSlotNum), $(ProductHardware$(DeviceID)Description), $(ProductHardwareName)
  777.  
  778. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  779.  goto ShellCodeError
  780.  endif
  781.  ifstr $($R0) != "NO_ERROR"
  782.  set Error = $($R0)
  783.  goto fatal
  784.  endif
  785.  ifstr(i) $($R1) == "YES"
  786.  set InstallCard = "NO" 
  787. endif 
  788. endif
  789.  
  790.  
  791.  
  792. ifstr(i) $(InstallCard) == "NO"
  793.  Debug-Output "$(InfFile) : Card Already at $(DetectedBusNum):$(DetectedSlotNum) already installed!"
  794.  set Error = "An adapter at $(DetectedBusNum):$(DetectedSlotNum) is already installed!"
  795.  Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
  796.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  797.  goto ShellCodeError
  798.  endif
  799.  else
  800.  Debug-Output "$(InfFile) : Installing Card at $(DetectedBusNum):$(DetectedSlotNum)!"
  801.  Shell $(UtilityInf), AddHardwareComponent, $(ProductHardwareName),$(STF_CONTEXTINFNAME),$(ProductKeyName)
  802.  ifint $($R4) != -1
  803.  Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4))
  804.  endif
  805.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  806.  goto ShellCodeError
  807.  endif
  808.  set RegistryErrorIndex = $($R0)
  809.  Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
  810.  EndWait
  811.  CloseRegKey $($R1)
  812.  CloseRegKey $($R2)
  813.  CloseRegKey $($R3)
  814.  goto fatalregistry
  815.  endif
  816.  Set HardNetCardKey = $($R1)
  817.  Set HardNetRuleKey = $($R2)
  818.  Set HardParameterKey = $($R3)
  819.  set AdapterNumber = $($R4)
  820.  set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+
  821.  {Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardware$(DeviceID)Title)},+
  822.  {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardware$(DeviceID)Description)},+
  823.  {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+
  824.  {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
  825.  {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  826.  Shell $(UtilityInf), AddValueList, $(HardNetCardKey), $(NewValueList)
  827.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  828.  goto ShellCodeError
  829.  endif
  830.  
  831.  
  832.  
  833. set BusTypeNum = 5 
  834. ifstr(i) $(DeviceID) == "36944"
  835.  set CardType = 0
  836.  else-ifstr(i) $(DeviceID) == "36945"
  837.  set CardType = 0
  838.  else-ifstr(i) $(DeviceID) == "36949"
  839.  set CardType = 0
  840.  else
  841.  set CardType = 2
  842.  endif 
  843.  
  844.  
  845.  
  846. ifint $(NTDetected) == $(TRUE)
  847.  set BusNumber = $(DetectedBusNum)
  848.  set SlotNum = $(DetectedSlotNum) 
  849. set BusInterfaceType = $(BusTypeNum)
  850.              set WakeOnLan = YES
  851.              set WakeOnLink = YES 
  852.              set FlowControl = YES 
  853.             
  854.              Debug-Output "$(InfFile) : Set HardwareParameterKey = $(NewValueList)"
  855.  
  856.  
  857.  
  858.  
  859.  
  860. Set NewValueList = {+
  861.  {BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNumber)},+
  862.  {Slot,$(NoTitle),$(!REG_VT_DWORD),$(SlotNum)},+
  863.                  {WakeOnMagic,$(NoTitle),$(!REG_VT_SZ),$(WakeOnLan)},+
  864.                  {WakeOnLink,$(NoTitle),$(!REG_VT_SZ),$(WakeOnLink)},+
  865.                  {FlowControl,$(NoTitle),$(!REG_VT_SZ),$(FlowControl)},+
  866.  }
  867.  Debug-Output "$(InfFile) : Set HardwareParameterKey = $(NewValueList)"
  868.  Shell $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
  869.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  870.  goto ShellCodeError
  871.  endif
  872.  
  873.  Set NewValueList = { {SlotNumber,$(NoTitle),$(!REG_VT_DWORD),$(SlotNum)} }
  874.  Debug-Output "$(InfFile) : Set HardwareParameterKey = $(NewValueList)"
  875.  Shell $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
  876.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  877.  goto ShellCodeError
  878.  endif
  879.  else
  880.  Set NewValueList = {+
  881.  {BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNumber)},+
  882.  }
  883.  Debug-Output "$(InfFile) : Set HardwareParameterKey = $(NewValueList)"
  884.  Shell $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
  885.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  886.  goto ShellCodeError
  887.  endif
  888.  endif
  889.  
  890.  Set NewValueList = {+
  891.  {BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusInterfaceType)},+
  892.  {CardType,$(NoTitle),$(!REG_VT_DWORD),$(CardType)},+
  893.  {MediaType,$(NoTitle),$(!REG_VT_DWORD),1},+
  894.  }
  895.  
  896.  Debug-Output "$(InfFile) : Set HardwareParameterKey = $(NewValueList)"
  897.  Shell $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
  898.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  899.  goto ShellCodeError
  900.  endif
  901.  
  902.  set TempProdName = """"$(ProductHardwareName)$(AdapterNumber)""""
  903.  set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
  904.  set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardwareType)},+
  905.  {bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, +
  906.  {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardwareClass)}, +
  907.  {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  908.  
  909. Debug-Output "$(InfFile) : HardwareRuleKey = $(NewValueList)"
  910.  Shell $(UtilityInf), AddValueList, $(HardNetRuleKey), $(NewValueList)
  911.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  912.  goto ShellCodeError
  913.  endif
  914.  CloseRegKey $(HardNetCardKey)
  915.  CloseRegKey $(HardNetRuleKey)
  916.  CloseRegKey $(HardParameterKey)
  917.  endif 
  918. EndForListDo
  919.  
  920.  
  921.     
  922.      OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"$(ProductHardwareName) $(!REG_KEY_ALL_ACCESS) KeyService
  923.      Ifstr $(KeyService) != "" 
  924.      SetRegValue $(KeyService) {ImagePath,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareUpgradePath)}
  925.      else 
  926.          goto fatalregistry 
  927.      endif                  
  928. CloseRegKey $(KeyService)                                                                     
  929.  
  930.     
  931.      OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\EventLog\System\"$(ProductHardwareName) $(!REG_KEY_ALL_ACCESS) KeyEventLog
  932.      Ifstr $(KeyEventLog) != "" 
  933.      SetRegValue $(KeyEventLog) {EventMessageFile,$(NoTitle),$(!REG_VT_SZ),$(NetEventDLL)} 
  934.      else 
  935.          goto fatalregistry 
  936.      endif                  
  937. CloseRegKey $(KeyEventLog)                                                                     
  938.  
  939.  
  940.  
  941.  
  942.  
  943.  
  944.  
  945. ifstr $(!STF_PLATFORM) == $(INF_PROCESSER) 
  946.  
  947.  
  948. install "Install-Uninstaller" 
  949.  
  950.  
  951.  
  952. OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\3Com\"$(ProductSoftwareName) $(!REG_KEY_ALL_ACCESS) + 
  953. KeyNt 
  954.  
  955. set TrayIconList = {3CUNINSTALL,$(NoTitle),$(!REG_VT_SZ),$(3CNUMBER)} 
  956. SetRegValue $(KeyNt) $(TrayIconList) 
  957. CloseRegKey $(KeyNt) 
  958.  
  959.  
  960.  
  961.  
  962. ifstr(i) (*($(CurrentVersionValue),4)) == $(NT400VersionConstant) 
  963. ifstr $(Install_3NIC_Diag) == "YES" 
  964.  
  965. OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" + 
  966. $(!REG_KEY_ALL_ACCESS) KeyNt 
  967. ifstr $(KeyNt) == "" 
  968. CreateRegKey $(!REG_H_LOCAL) {"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall", + 
  969. 0, GenericClass} "" $(!REG_KEY_ALL_ACCESS) "" KeyNt 
  970. endif 
  971.  
  972. OpenRegKey $(KeyNt) "" "3ComNicUnInstall" $(!REG_KEY_ALL_ACCESS) KeyNt2 
  973. ifstr $(KeyNt2) == "" 
  974. CreateRegKey $(KeyNt) {"3ComNicUnInstall" , 0, GenericClass} "" $(!REG_KEY_ALL_ACCESS) +
  975.  "" KeyNt2 
  976. endif 
  977.  
  978. set NewValueList = {{DisplayName, $(NoTitle), $(!REG_VT_SZ), "3Com NIC Diagnostics"}, + 
  979. {UninstallString, $(NoTitle), $(!REG_VT_SZ), "UN3C90X.EXE"}} 
  980.  
  981. Shell $(UtilityInf), AddValueList, $(KeyNt2), $(NewValueList) 
  982. ifint $($ShellCode) != $(!SHELL_CODE_OK) 
  983. goto ShellCodeError 
  984. endif 
  985.  
  986. CloseRegKey $(KeyNt) 
  987. CloseRegKey $(KeyNt2) 
  988.  
  989. endif 
  990. endif 
  991.  
  992.  
  993.  
  994.  
  995.  
  996. ifstr(i) (*($(CurrentVersionValue),4)) == $(NT400VersionConstant) 
  997. install "Install-Tray" 
  998.  
  999.  
  1000. OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\Windows\CurrentVersion\Run" + 
  1001. $(!REG_KEY_ALL_ACCESS) KeyNt 
  1002.  
  1003. set TrayIconList = {COMSMDEXE,$(NoTitle),$(!REG_VT_SZ),$(TrayIconExe)" -off"} 
  1004. SetRegValue $(KeyNt) $(TrayIconList) 
  1005. CloseRegKey $(KeyNt) 
  1006.  
  1007.  
  1008. endif 
  1009.  
  1010.  
  1011.  
  1012.  
  1013.  
  1014. ifstr $(Install_PACE) == "YES" 
  1015. Debug-Output "$(InfFile) : (Install_PACE) == "YES"" 
  1016. install "Install-PACE" 
  1017.  
  1018.  
  1019.     Shell "", PaceRegistry 
  1020.  
  1021. endif 
  1022.  
  1023.  
  1024.  
  1025.  
  1026.  
  1027. ifstr $(Install_dRMON) == "YES" 
  1028. Debug-Output "$(InfFile) : (Install_dRMON) == "YES""
  1029.  install "Install-dRMON" 
  1030.  
  1031.  
  1032. Shell $(!STF_WINDOWSSYSPATH)\drmonnt.inf, InstallOption, $(CurrLang),+ 
  1033. $(Option) ,$(SrcDir), YES, YES, YES, NO 
  1034. endif 
  1035.  
  1036.  
  1037.  
  1038.  
  1039. ifstr $(Install_3NIC_Diag) == "YES"          
  1040.  Debug-Output "$(InfFile) : (Install_3NIC_Diag) == "YES""
  1041.  install "Install-3nicdiag"     
  1042.      
  1043.  
  1044. ifstr(i) $(!STF_GUI_UNATTENDED) != "YES"     
  1045.  RunProgram ExitCode "Windows Directory" "" 3nicdiag.exe "-inf"     
  1046.  endif     
  1047.      
  1048.      
  1049.      ifstr(i) (*($(CurrentVersionValue),4)) == $(NT400VersionConstant) 
  1050.      
  1051.      
  1052.      ifstr(i) $(Install_Shortcuts) == "YES" 
  1053.          Debug-Output "$(InfFile) : (Install_Shortcuts) == "YES""
  1054.      RunProgram ExitCode "Windows Directory" "" COMSMD.EXE "-setup" 
  1055.      
  1056.      Debug-Output "$(InfFile) : Enabling Tray Icon" 
  1057.      OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\Windows\CurrentVersion\Run" +
  1058.      $(!REG_KEY_ALL_ACCESS) KeyNt 
  1059.      
  1060.      set TrayIconList = {COMSMDEXE,$(NoTitle),$(!REG_VT_SZ),$(TrayIconExe)" -try"} 
  1061.      SetRegValue $(KeyNt) $(TrayIconList) 
  1062.      CloseRegKey $(KeyNt) 
  1063.      endif 
  1064.      
  1065. endif     
  1066.  endif     
  1067.  
  1068.  
  1069. endif
  1070.  
  1071.  EndWait
  1072.  goto successful
  1073.  
  1074. updateparameters =+
  1075.  Debug-Output "$(InfFile) : Updateparameters"
  1076.  set HardParameterKey = $($R3)
  1077.  
  1078. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1079.  goto ShellCodeError
  1080.  endif
  1081.  CloseRegKey $(KeyParameters)
  1082.  goto successful
  1083.  
  1084. bindingadapter =+
  1085.      Debug-Output "$(InfFile) : bindingadapter"
  1086.      StartDetachedProcess ExitCode "" "" DACONFIG.exe 1
  1087.     
  1088.      Return STATUS_SUCCESSFUL
  1089.     
  1090.      set Error = "Binding: Sorry, not yet implemented."
  1091.      goto fatal
  1092.  
  1093. removeadapter = +
  1094.  Debug-Output "$(InfFile) : removeadapter"
  1095.  Debug-Output "$(InfFile) : ----> $(ProductKeyName), $(!NTN_RegBase)"
  1096.  Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  1097.  Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  1098.  $(ProductSoftwareName)
  1099.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1100.  goto ShellCodeError
  1101.  endif
  1102.  set RegistryErrorIndex = $($R0)
  1103.      Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1104.      goto fatalregistry
  1105.      endif
  1106.  else
  1107.      Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  1108.      $(ProductSoftwareName), $(!NTN_RegBase)
  1109.      ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1110.      goto ShellCodeError
  1111.      endif
  1112.      set RegistryErrorIndex = $($R0)
  1113.      Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1114.      goto fatalregistry
  1115.      endif
  1116.  endif
  1117.  
  1118. ifstr(i) $(!STF_PLATFORM) == $(INF_PROCESSER) 
  1119. RunProgram ExitCode "Windows Directory" "" UN3C90X.EXE "-inf" 
  1120. RunProgram ExitCode "Windows Directory" "" DACONFIG.EXE "2" 
  1121. endif
  1122.  
  1123.  
  1124.  
  1125. ifstr $(Install_dRMON) == "YES" 
  1126.         
  1127.      OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\DTA" $(!REG_KEY_READ) KeydRMON
  1128.      ifstr $(KeydRMON) != ""          
  1129.  
  1130.             
  1131.             
  1132.          Shell $(!STF_WINDOWSSYSPATH)\drmonnt.inf, InstallOption, $(CurrLang),$(Option) ,$(SrcDir), YES, YES, YES, -inf 
  1133.  
  1134. CloseRegKey $(KeydRMON)
  1135.  endif
  1136.     endif
  1137.  
  1138.  
  1139. goto end
  1140.  
  1141. UpgradeSoftware = +
  1142.  Debug-Output "$(InfFile) : UpdateSoftware" 
  1143.  
  1144.  
  1145.  
  1146. install "Install-Option" 
  1147. ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS 
  1148. Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE" 
  1149. ifint $($ShellCode) != $(!SHELL_CODE_OK) 
  1150. goto ShellCodeError 
  1151. endif 
  1152. set Error = $($R0) 
  1153. goto fatal 
  1154. endif 
  1155.  
  1156. OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(!REG_KEY_ALL_ACCESS) KeyProduct 
  1157. Ifstr $(KeyProduct) != "" 
  1158. Shell $(UtilityInf), GetInfFileNameFromRegistry, $(KeyProduct) 
  1159. ifint $($ShellCode) != $(!SHELL_CODE_OK) 
  1160. Debug-Output "ShellCode error" 
  1161. goto ShellCodeError 
  1162. endif 
  1163. set !UG_Filename = $($R0) 
  1164.  
  1165. install "Install-INF" 
  1166. ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS 
  1167. goto fatal 
  1168. endif 
  1169.  
  1170. SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)} 
  1171. SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)} 
  1172.         SetRegValue $(KeyProduct) {Review,$(NoTitle),$(!REG_VT_DWORD),$(ProductReview)} 
  1173. CloseRegKey $(KeyProduct) 
  1174.  
  1175.     
  1176.      OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"$(ProductHardwareName) $(!REG_KEY_ALL_ACCESS) KeyService
  1177.      Ifstr $(KeyService) != "" 
  1178.      SetRegValue $(KeyService) {ImagePath,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareUpgradePath)}
  1179.      else 
  1180.          goto fatalregistry 
  1181.      endif                  
  1182. CloseRegKey $(KeyService)                                                                     
  1183.  
  1184.     
  1185.      OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\EventLog\System\"$(ProductHardwareName) $(!REG_KEY_ALL_ACCESS) KeyEventLog
  1186.      Ifstr $(KeyEventLog) != "" 
  1187.      SetRegValue $(KeyEventLog) {EventMessageFile,$(NoTitle),$(!REG_VT_SZ),$(NetEventDLL)} 
  1188.      else 
  1189.          goto fatalregistry 
  1190.      endif                  
  1191. CloseRegKey $(KeyEventLog)                                                                     
  1192.  
  1193.         
  1194.         OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase) $(!REG_KEY_ALL_ACCESS) KeyNt 
  1195.          
  1196.         set LoopList = {1,2,3,4,5,6,7,8} 
  1197.         set WinNTList = {WinNT,$(NoTitle),$(!REG_VT_SZ),YES} 
  1198.      Set NewValueList = {{WakeOnMagic,$(NoTitle),$(!REG_VT_SZ),"YES"},+      
  1199.          {WakeOnLink,$(NoTitle),$(!REG_VT_SZ),"YES"},+ 
  1200.          {FlowControl,$(NoTitle),$(!REG_VT_SZ),"YES"}} 
  1201.          
  1202.         ForListDo $(LoopList) 
  1203.          OpenRegKey $(KeyNt) "" $(ProductHardwareName)$($)"\Parameters" $(!REG_KEY_ALL_ACCESS) TestKey 
  1204.          
  1205.          ifstr $(TestKey) != $(KeyNull) 
  1206.          Shell $(UtilityInf), AddValueList, $(TestKey), $(NewValueList) 
  1207.          ifint $($ShellCode) != $(!SHELL_CODE_OK) 
  1208.          goto ShellCodeError 
  1209.          endif 
  1210.          
  1211.              OpenRegKey $(!REG_H_LOCAL) "" $(NetworkCardsKey)$($)"\NetRules" $(!REG_KEY_ALL_ACCESS) NetCardKey 
  1212.      
  1213.              ifstr $(NetCardKey) != $(KeyNull) 
  1214.              SetRegValue $(NetCardKey) {"InfName",$(NoTitle),$(!REG_VT_SZ),$(!UG_Filename)} 
  1215.              CloseRegKey $(NetCardKey) 
  1216.          endif 
  1217.          CloseRegKey $(TestKey) 
  1218.          endif 
  1219.          
  1220.         EndForListDo 
  1221. else 
  1222. goto fatalregistry 
  1223. endif 
  1224.  
  1225.  
  1226.  
  1227.  
  1228. ifstr $(!STF_PLATFORM) == $(INF_PROCESSER) 
  1229.  
  1230.  
  1231. install "Install-Uninstaller" 
  1232.  
  1233.  
  1234.  
  1235. OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\3Com\"$(ProductSoftwareName) $(!REG_KEY_ALL_ACCESS) + 
  1236. KeyNt 
  1237.  
  1238. set TrayIconList = {3CUNINSTALL,$(NoTitle),$(!REG_VT_SZ),$(3CNUMBER)} 
  1239. SetRegValue $(KeyNt) $(TrayIconList) 
  1240. CloseRegKey $(KeyNt) 
  1241.  
  1242.  
  1243.  
  1244.  
  1245. ifstr(i) (*($(CurrentVersionValue),4)) == $(NT400VersionConstant) 
  1246. ifstr $(Install_3NIC_Diag) == "YES" 
  1247.  
  1248. OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" + 
  1249. $(!REG_KEY_ALL_ACCESS) KeyNt 
  1250. ifstr $(KeyNt) == "" 
  1251. CreateRegKey $(!REG_H_LOCAL) {"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall",+ 
  1252. 0, GenericClass} "" $(!REG_KEY_ALL_ACCESS) "" KeyNt 
  1253. endif 
  1254.  
  1255. OpenRegKey $(KeyNt) "" "3ComNicUnInstall" $(!REG_KEY_ALL_ACCESS) KeyNt2 
  1256. ifstr $(KeyNt2) == "" 
  1257. CreateRegKey $(KeyNt) {"3ComNicUnInstall" , 0, GenericClass} "" $(!REG_KEY_ALL_ACCESS) +
  1258.  "" KeyNt2 
  1259. endif 
  1260.  
  1261. set NewValueList = {{DisplayName, $(NoTitle), $(!REG_VT_SZ), "3Com NIC Diagnostics"},+ 
  1262. {UninstallString, $(NoTitle), $(!REG_VT_SZ), "UN3C90X.EXE"}} 
  1263.  
  1264. Shell $(UtilityInf), AddValueList, $(KeyNt2), $(NewValueList) 
  1265. ifint $($ShellCode) != $(!SHELL_CODE_OK) 
  1266. goto ShellCodeError 
  1267. endif 
  1268.  
  1269. CloseRegKey $(KeyNt) 
  1270. CloseRegKey $(KeyNt2) 
  1271.  
  1272. endif 
  1273. endif 
  1274.  
  1275.  
  1276.  
  1277.      
  1278.      
  1279.      
  1280.  
  1281.  
  1282.  
  1283. ifstr(i) (*($(CurrentVersionValue),4)) == $(NT400VersionConstant) 
  1284. install "Install-Tray" 
  1285.  
  1286.  
  1287. OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\Windows\CurrentVersion\Run" + 
  1288. $(!REG_KEY_ALL_ACCESS) KeyNt 
  1289.  
  1290. set TrayIconList = {COMSMDEXE,$(NoTitle),$(!REG_VT_SZ),$(TrayIconExe)" -off"} 
  1291. SetRegValue $(KeyNt) $(TrayIconList) 
  1292. CloseRegKey $(KeyNt) 
  1293.  
  1294.  
  1295. endif 
  1296.  
  1297.  
  1298.  
  1299.  
  1300.  
  1301. ifstr $(Install_PACE) == "YES" 
  1302. Debug-Output "$(InfFile) : (Install_PACE) == "YES""
  1303.  install "Install-PACE" 
  1304.  
  1305.  
  1306.     Shell "", PaceRegistry 
  1307.  
  1308. endif 
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314. ifstr $(Install_dRMON) == "YES" 
  1315. Debug-Output "$(InfFile) : (Install_dRMON) == "YES""
  1316.  install "Install-dRMON" 
  1317.  
  1318.  
  1319.  
  1320.  
  1321.  
  1322. set InstallMode_Save = $(!NTN_InstallMode) 
  1323. set !NTN_InstallMode = install 
  1324. set SRCDIR_OVERRIDE_Save = $(!STF_SRCDIR_OVERRIDE) 
  1325. set !STF_SRCDIR_OVERRIDE = $(SrcDir) 
  1326.  
  1327. Shell $(!STF_WINDOWSSYSPATH)\drmonnt.inf, InstallOption, $(CurrLang), + 
  1328. $(Option) ,$(SrcDir), YES, YES, YES, NO 
  1329. set !NTN_InstallMode = $(InstallMode_Save) 
  1330. set !STF_SRCDIR_OVERRIDE = $(SRCDIR_OVERRIDE_Save) 
  1331. endif 
  1332.  
  1333.  
  1334.  
  1335.  
  1336. ifstr $(Install_3NIC_Diag) == "YES"     
  1337.  Debug-Output "$(InfFile) : (Install_3NIC_Diag) == "YES"" 
  1338. install "Install-3nicdiag"     
  1339.      
  1340.  
  1341. ifstr(i) $(!STF_GUI_UNATTENDED) != "YES"     
  1342.  RunProgram ExitCode "Windows Directory" "" 3nicdiag.exe "-inf"     
  1343.  endif     
  1344.      
  1345.      
  1346.      ifstr(i) (*($(CurrentVersionValue),4)) == $(NT400VersionConstant) 
  1347.      
  1348.      
  1349.      Debug-Output "$(InfFile) : (Install_Shortcuts) == $(Install_Shortcuts)" 
  1350.      ifstr(i) $(Install_Shortcuts) == "YES" 
  1351.          Debug-Output "$(InfFile) : (Install_Shortcuts) == "YES"" 
  1352.      RunProgram ExitCode "Windows Directory" "" COMSMD.EXE "-setup" 
  1353.      
  1354.      Debug-Output "$(InfFile) : Enabling Tray Icon" 
  1355.      OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\Windows\CurrentVersion\Run" +
  1356.      $(!REG_KEY_ALL_ACCESS) KeyNt 
  1357.      
  1358.      set TrayIconList = {COMSMDEXE,$(NoTitle),$(!REG_VT_SZ),$(TrayIconExe)" -try"} 
  1359.      SetRegValue $(KeyNt) $(TrayIconList) 
  1360.      CloseRegKey $(KeyNt) 
  1361.      endif 
  1362.      
  1363. endif 
  1364. endif     
  1365.  
  1366.  
  1367.  
  1368. endif
  1369.  
  1370.  goto end
  1371.  
  1372. successful = +
  1373.  Debug-Output "$(InfFile) : Successful"
  1374.  goto end
  1375.  
  1376. abandon = +
  1377.  Debug-Output "$(InfFile) : Abandon"
  1378.  ForListDo $(OEM_ABANDON_OPTIONS)
  1379.  Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  1380.  $(ProductSoftwareName), $($)
  1381.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1382.  goto ShellCodeError
  1383.  endif
  1384.  set RegistryErrorIndex = $($R0)
  1385.  Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1386.  goto fatalregistry
  1387.  endif
  1388.  EndForListDo
  1389.  Ifstr(i) $(OEM_ABANDON_SOFTWARE) == TRUE
  1390.  Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  1391.  $(ProductSoftwareName), FALSE
  1392.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1393.  goto ShellCodeError
  1394.  endif
  1395.  set RegistryErrorIndex = $($R0)
  1396.  Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1397.  goto fatalregistry
  1398.  endif
  1399.  endif
  1400.  goto end
  1401.  
  1402. warning = +
  1403.  Debug-Output "$(InfFile) : warning"
  1404.  Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
  1405.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1406.  goto ShellCodeError
  1407.  endif
  1408.  ifstr(i) $($R1) == "OK"
  1409.  goto $(to)
  1410.  else-ifstr(i) $($R1) == "CANCEL"
  1411.  goto $(from)
  1412.  else
  1413.  goto "end"
  1414.  endif
  1415.  
  1416. nonfatalinfo = +
  1417.  Debug-Output "$(InfFile) : nonfatalinfo"
  1418.  Set CommonStatus = STATUS_USERCANCEL
  1419.  Set Severity = STATUS
  1420.  goto nonfatalmsg
  1421.  
  1422. nonfatal = +
  1423.  Debug-Output "$(InfFile) : nonfatal"
  1424.  Set Severity = NONFATAL
  1425.  goto nonfatalmsg
  1426.  
  1427. nonfatalmsg = +
  1428.  Debug-Output "$(InfFile) : nonfatalmsg"
  1429.  ifstr(i) $(Error) == ""
  1430.  Set Severity = NONFATAL
  1431.  Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  1432.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1433.  goto ShellCodeError
  1434.  endif
  1435.  set Error = $($R0)
  1436.  endif
  1437.  Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
  1438.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1439.  goto ShellCodeError
  1440.  endif
  1441.  ifstr(i) $($R1) == "OK"
  1442.  goto $(from)
  1443.  else
  1444.  
  1445. goto "RemoveAdapter"
  1446.  endif
  1447.  
  1448. fatalregistry = +
  1449.  Debug-Output "$(InfFile) : fatalregistry"
  1450.  Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
  1451.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1452.  goto ShellCodeError
  1453.  endif
  1454.  set Error = $($R0)
  1455.  goto fatal
  1456.  
  1457. fatal = +
  1458.  Debug-Output "$(InfFile) : fatal"
  1459.  ifstr(i) $(Error) == ""
  1460.  Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  1461.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1462.  goto ShellCodeError
  1463.  endif
  1464.  set Error = $($R0)
  1465.  endif
  1466.  Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
  1467.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1468.  goto ShellCodeError
  1469.  endif
  1470.  goto setfailed
  1471.  
  1472. ShellCodeError = +
  1473.  ifint $($ShellCode) == $(!SHELL_CODE_NO_SUCH_INF)
  1474.  Debug-Output "$(InfFile) : ShellCodeError - SHELL_CODE_NO_SUCH_INF"
  1475.  else-ifint $($ShellCode) == $(!SHELL_CODE_NO_SUCH_SECTION)
  1476.  Debug-Output "$(InfFile) : ShellCodeError - SHELL_CODE_NO_SUCH_SECTION"
  1477.  else
  1478.  Debug-Output "$(InfFile) : ShellCodeError - SHELL_CODE_ERROR"
  1479.  endif
  1480.  set DlgType = "MessageBox"
  1481.  set STF_MB_TITLE = $(ShellCodeErrorTitle)
  1482.  set STF_MB_TEXT = $(ShellCodeErrorText) 
  1483. set STF_MB_TYPE = 1
  1484.  set STF_MB_ICON = 3
  1485.  set STF_MB_DEF = 1
  1486.  ui start "Error Message"
  1487.  goto setfailed
  1488.  
  1489. setfailed = +
  1490.  Debug-Output "$(InfFile) : Setfailed"
  1491.  set CommonStatus = STATUS_FAILED
  1492.  ifstr(i) $(OEM_ABANDON_ON) == TRUE
  1493.  set OEM_ABANDON_ON = FALSE
  1494.  goto abandon
  1495.  endif
  1496.  goto end
  1497.  
  1498. end = +
  1499.  goto term
  1500.  
  1501. term = +
  1502.  Return $(CommonStatus)
  1503.  
  1504.  
  1505. [Install-Option]
  1506.  set STF_VITAL = ""
  1507.  set STF_OVERWRITE = "VERIFYSOURCEOLDER"
  1508.  Debug-Output $(InfName)"Adding files: Files-$(NDIS_VER), SrcDir=$(SrcDir)"
  1509.  AddSectionFilesToCopyList Files-$(NDIS_VER) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  1510.  set !STF_NCPA_FLUSH_COPYLIST = TRUE
  1511.  CopyFilesInCopyList
  1512.  Exit
  1513.  
  1514. [Install-Uninstaller]
  1515.  set STF_VITAL = ""
  1516.  set STF_OVERWRITE = "VERIFYSOURCEOLDER"
  1517.  AddSectionFilesToCopyList Files-Uninstaller $(SrcDir) $(!STF_WINDOWSSYSPATH)
  1518.  set !STF_NCPA_FLUSH_COPYLIST = TRUE
  1519.  CopyFilesInCopyList
  1520.  Exit
  1521.  
  1522.  
  1523. [Install-3nicdiag]
  1524.  set STF_VITAL = ""
  1525.  set STF_OVERWRITE = "VERIFYSOURCEOLDER"
  1526.  AddSectionFilesToCopyList Files-3nicdiag $(SrcDir) $(!STF_WINDOWSSYSPATH)
  1527.  AddSectionFilesToCopyList Files-HwDll $(SrcDir) $(!STF_WINDOWSSYSPATH)
  1528.  set !STF_NCPA_FLUSH_COPYLIST = TRUE
  1529.  CopyFilesInCopyList
  1530.  Exit
  1531.  
  1532. [Install-PACE]
  1533.  set STF_VITAL = ""
  1534.  set STF_OVERWRITE = "VERIFYSOURCEOLDER"
  1535.  AddSectionFilesToCopyList Files-PACE $(SrcDir) $(!STF_WINDOWSSYSPATH)
  1536.  set !STF_NCPA_FLUSH_COPYLIST = TRUE
  1537.  CopyFilesInCopyList
  1538.  Exit
  1539.  
  1540. [Install-Tray]
  1541.  set STF_VITAL = ""
  1542.  set STF_OVERWRITE = "VERIFYSOURCEOLDER"
  1543.  AddSectionFilesToCopyList Files-Tray $(SrcDir) $(!STF_WINDOWSSYSPATH)
  1544.  set !STF_NCPA_FLUSH_COPYLIST = TRUE
  1545.  CopyFilesInCopyList
  1546.  Exit
  1547.  
  1548. [Install-dRMON]
  1549.  set STF_VITAL = ""
  1550.  set STF_OVERWRITE = "VERIFYSOURCEOLDER"
  1551.  AddSectionFilesToCopyList Files-dRMON $(SrcDir) $(!STF_WINDOWSSYSPATH)
  1552.  AddSectionFilesToCopyList Files-dRMONINF $(SrcDir) $(!STF_WINDOWSSYSPATH)
  1553.  set !STF_NCPA_FLUSH_COPYLIST = TRUE
  1554.  CopyFilesInCopyList
  1555.  Exit
  1556.  
  1557. [Install-INF]
  1558.  set STF_VITAL = ""
  1559.  AddSectionFilesToCopyList Files-Inf $(SrcDir) $(!STF_WINDOWSSYSPATH)
  1560.  set !STF_NCPA_FLUSH_COPYLIST = TRUE
  1561.  CopyFilesInCopyList
  1562.  Exit
  1563.  
  1564. [Source Media Descriptions]
  1565.  1 = "Windows NT Setup Disk #1" 
  1566. 2 = "3Com Etherdisk for Fast EtherLink XL / EtherLink XL Adapters (DISK 1)"
  1567.  3 = "3Com Etherdisk for Fast EtherLink XL / EtherLink XL Adapters (DISK 2)"
  1568.  
  1569. [ProductType]
  1570. STF_PRODUCT = Winnt
  1571.  
  1572. [Files-Inf] 
  1573. 3, oemsetup.inf,SIZE=36000, RENAME=$(!UG_Filename)
  1574.  
  1575. [Files-3nicdiag]
  1576. 3,3nicdiag.exe, SIZE=165504
  1577. 3,3nicdiag.hlp, SIZE=20877
  1578. 3,3varaddr.txt, SIZE=113
  1579.  
  1580. [Files-HwDll]
  1581. 3,hwaccess.dll,SIZE=20198
  1582. 3,pcomdrv.sys, SIZE=5000
  1583. 3,3c90xcfg.dll, SIZE=59458
  1584. 3,drmonnt.inf, SIZE=15000
  1585.  
  1586. [Files-Tray]
  1587. 3,comsmd.exe, SIZE=8957
  1588.  
  1589. [Files-dRMON]
  1590. 3,undrmon.exe, SIZE=8957
  1591.  
  1592. [Files-dRMONINF]
  1593. 3,drmonnt.inf, SIZE=8957
  1594.  
  1595. [Files-PACE]
  1596. 3,pacecfg.cpl, SIZE=107457
  1597. 3,pacecfg.hlp, SIZE=6617
  1598.  
  1599. [Files-Uninstaller]
  1600. 3,UN3C90X.EXE, SIZE=6617
  1601. 3,daconfig.exe, SIZE=20000 
  1602.  
  1603. [Files-NDIS3]
  1604. 3,EL90xnd3.SYS , SIZE=25001
  1605.  
  1606. [Files-NDIS4]
  1607. 3,EL90xnd4.SYS , SIZE=25001
  1608.  
  1609.  
  1610. [LanguagesSupported]
  1611.  ENG
  1612.  
  1613. [OptionsTextENG]
  1614.  3C90X = "3Com Fast EtherLink/Etherlink XL PCI Busmaster NIC"
  1615.  
  1616. [FileConstantsENG]
  1617.  ProCaption = "Windows NT NIC Setup"
  1618.  ProCancel = "Cancel"
  1619.  ProCancelMsg = "Windows NT Networking is not correctly installed. "+
  1620.  "Are you sure you want to cancel copying files?"
  1621.  ProCancelCap = "Network Setup Message"
  1622.  ProText1 = "Copying:"
  1623.  ProText2 = "To:"
  1624.  
  1625. ConnectionList = ^(ConnectionChoices, 1)
  1626. ConnectionValues = ^(ConnectionChoices, 2)
  1627. NoList = ^(NoChoices, 1)
  1628. NoValues = ^(NoChoices, 2)
  1629. ShellCodeErrorTitle = "Error: "$(Function$(Option)Title)
  1630. ShellCodeErrorText = "Shell Code Error."
  1631. CANNOT_FIND_ANY_CARD = "Network card is not present in the system"
  1632.  
  1633. [DialogConstantsENG]
  1634. Help = "&Help"
  1635. Exit = "Cancel"
  1636. OK = "OK"
  1637. HelpContext = ""
  1638. Continue = "Continue"
  1639. Cancel = "Cancel"
  1640.  
  1641.  
  1642.  
  1643.  
  1644.  
  1645.  
  1646.  
  1647.