home *** CD-ROM | disk | FTP | other *** search
/ Chip 1997 October / Chip_1997-10_cd.bin / ovladace / 3com / 3c90xn / 3c90xn.exe / DISK2 / OEMSETUP.INF < prev    next >
INI File  |  1997-03-14  |  42KB  |  1,271 lines

  1.  
  2. [Identification]
  3.  OptionType = NetAdapter
  4.  
  5. [PlatformsSupported]
  6.  ISA
  7.  EISA
  8.  "Jazz-Internal Bus"
  9.  PCI
  10.  
  11. [Options]
  12.  3C905 
  13. 3C900 
  14.  
  15. [FileConstants]
  16.  UtilityInf = "UTILITY.INF"
  17.  subroutineinf = "SUBROUTN.INF"
  18.  SoftwareType = "driver"
  19.  Exit_Code = 0
  20.  NetEventDLL = "%SystemRoot%\System32\netevent.dll;%SystemRoot%\System32\drivers\el90x.sys"
  21.  IoLogMsgDLL = "%SystemRoot%\System32\IoLogMsg.dll"
  22.  TrayIconExe = "comsmd.exe -try"
  23.  
  24.  Manufacturer = "3Com"
  25.  ProductMajorVersion = "1"
  26.  ProductMinorVersion = "0"
  27.  ProductVersion = $(ProductMajorVersion)"."$(ProductMinorVersion)
  28.  ProductSoftwareName = "El90x"
  29.  ProductSoftwareImagePath = "%SystemRoot%\System32\drivers\el90x.sys"
  30.  NetRuleSoftwareType = "El90xSys ndisDriver El90xDriver"
  31.  NetRuleSoftwareUse = $(SoftwareType)
  32.  NetRuleSoftwareBindForm = """El90xSys"" yes no container"
  33.  NetRuleSoftwareClass = {"El90xDriver basic"}
  34.  NetRuleSoftwareBindable = {"El90xDriver El90xAdapter non exclusive 100"}
  35.  ProductHardwareName = "El90x"
  36.  NetRuleHardwareBindForm = " yes yes container"
  37.  
  38.  ProductKeyName = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion"
  39.  ParamKeyName = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters"
  40.  
  41.  FunctionTitle = "3Com 3C90x Adapter Card Setup"
  42.  ProductSoftwareDescription = "3Com 3C90x Adapter Driver"
  43.  ProductSoftwareTitle = "3Com 3C90x Adapter Driver"
  44.  3CNUMBER = "3C90X"
  45.  
  46. GROUP_NAME = "3Com Fast Etherlink XL/Etherlink XL"
  47.  ProductHardware3C905Title = "3Com Fast EtherLink XL Adapter (3C905)"
  48.  ProductHardware3C905Description = "3Com Fast EtherLink XL PCI 10/100Mb Adapter (3C905)"
  49.  NetRuleHardware3C905Type = "El90x El90xAdapter"
  50.  NetRuleHardware3C905Class = {"El90xAdapter basic"}
  51.  
  52.  ProductHardware3C900Title = "3Com EtherLink XL Adapter (3C900)"
  53.  ProductHardware3C900Description = "3Com EtherLink XL PCI 10Mb Adapter (3C900)" 
  54. NetRuleHardware3C900Type = "El90x El90xAdapter"
  55.  NetRuleHardware3C900Class = {"El90xAdapter basic"}
  56.  
  57.  Adapter3C905Type = 5 
  58. Adapter3C900Type = 5 
  59. 3C905CFIDList = {36944, 36945} 
  60. 3C900CFIDList = {36864, 36865} 
  61.  
  62. [GeneralConstants]
  63.  from = ""
  64.  to = ""
  65.  ExitCodeOk = 0
  66.  ExitCodeCancel = 1 
  67. ExitCodeFatal = 2
  68.  KeyNull = ""
  69.  MAXIMUM_ALLOWED = 33554432
  70.  RegistryErrorIndex = NO_ERROR
  71.  KeyProduct = ""
  72.  KeyParameters = ""
  73.  TRUE = 1
  74.  FALSE = 0
  75.  NoTitle = 0
  76.  ExitState = "Active"
  77.  OldVersionExisted = $(FALSE)
  78.  DriverPath = $(!STF_NTPATH)\drivers
  79.  NT350VersionConstant = "3.50"
  80.  NT310VersionConstant = "3.10"
  81.  NT400VersionConstant = "(4.0)"
  82.  INF_PROCESSER = "I386"
  83. [date]
  84.  Now = {} ? $(!LIBHANDLE) GetSystemDate
  85.  
  86. [Identify]
  87.  read-syms Identification
  88.  set Status = STATUS_SUCCESSFUL
  89.  set Identifier = $(OptionType)
  90.  set Media = #("Source Media Descriptions", 1, 1)
  91.  Return $(Status) $(Identifier) $(Media)
  92.  
  93. [ReturnOptions]
  94.  set Status = STATUS_FAILED
  95.  set OptionList = {}
  96.  set OptionTextList = {}
  97.  set LanguageList = ^(LanguagesSupported, 1)
  98.  Ifcontains(i) $($0) in $(LanguageList)
  99.  ifstr(i) $($1) == ""
  100.  goto returnoptions
  101.  endif
  102.  set PlatformList = ^(PlatformsSupported, 1)
  103.  Ifcontains(i) $($1) in $(PlatformList)
  104.  goto returnoptions
  105.  else
  106.  set Status = STATUS_NOTSUPPORTED
  107.  goto finish_ReturnOptions
  108.  endif
  109.  else
  110.  set Status = STATUS_NOLANGUAGE
  111.  goto finish_ReturnOptions
  112.  endif
  113.  
  114. returnoptions = +
  115.  set OptionList = ^(Options, 1)
  116.  set OptionTextList = ^(OptionsText$($0), 1)
  117.  set Status = STATUS_SUCCESSFUL
  118.  
  119. finish_ReturnOptions = +
  120.  Return $(Status) $(OptionList) $(OptionTextList)
  121.  
  122. [InstallOption]
  123.  
  124.  
  125.  
  126.  
  127. set CurrLang = $($0)
  128.  set Option = $($1)
  129.  set SrcDir = $($2)
  130.  set AddCopy = $($3)
  131.  set DoCopy = $($4)
  132.  set DoConfig = $($5)
  133.  set LanguageList = ^(LanguagesSupported, 1)
  134.  Ifcontains(i) $($0) NOT-IN $(LanguageList)
  135.  Return STATUS_NOLANGUAGE
  136.  endif
  137.  set-subst LF = "\n"
  138.  read-syms GeneralConstants
  139.  read-syms FileConstants
  140.  read-syms DialogConstants$(!STF_LANGUAGE)
  141.  ifstr(i) $(!NTN_Origination) == "NCPA"
  142.  set Continue = "OK"
  143.  endif
  144.  read-syms FileConstants$(!STF_LANGUAGE)
  145.  detect date
  146.  set-title $(Function$(Option)Title)
  147.  set to = Begin
  148.  set from = Begin
  149.  set CommonStatus = STATUS_SUCCESSFUL
  150.  EndWait
  151.  
  152. Begin = +
  153.  
  154.  
  155.  
  156.  
  157.  
  158. set CurrentVersionValue = ""
  159.  OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\Windows Nt\CurrentVersion" $(!REG_KEY_READ) KeyNt
  160.  Ifstr(i) $(KeyNt) != ""
  161.  GetRegValue $(KeyNt) "CurrentVersion" CurrentVersionValue
  162.  Debug-Output "$(InfFile) $(Option): WinNT CurrentVersion ="$(CurrentVersionValue)
  163.  CloseRegKey $(KeyNt)
  164.  Endif
  165.  
  166. ifstr(i) (*($(CurrentVersionValue),4)) == $(NT310VersionConstant) 
  167. Debug-Output "$(InfFile) $(Option): Configureadapter"
  168.  set Error = "Windows NT v3.10 is not support by this product"
  169.  goto fatal
  170.  endif
  171.  
  172. Ifstr(i) $(!NTN_InstallMode) == deinstall
  173.  set StartLabel = removeadapter
  174.  else-Ifstr(i) $(!NTN_InstallMode) == Update
  175.  set StartLabel = UpgradeSoftware
  176.  else-Ifstr(i) $(!NTN_InstallMode) == bind
  177.  set StartLabel = bindingadapter
  178.  else-Ifstr(i) $(!NTN_InstallMode) == configure
  179.  ifstr $(!STF_PLATFORM) == $(INF_PROCESSER) 
  180. RunProgram ExitCode "Windows Directory" "" 3nicdiag.exe 
  181. goto end
  182.  else-Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  183.  Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
  184.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  185.  goto ShellCodeError
  186.  endif
  187.  set Error = $($R0)
  188.  set from = end
  189.  set to = end
  190.  goto nonfatalinfo
  191.  else
  192.  set StartLabel = configureadapter
  193.  endif
  194.  else
  195.  set StartLabel = installadapter
  196.  set OEM_ABANDON_OPTIONS = {}
  197.  set OEM_ABANDON_SOFTWARE = FALSE
  198.  set OEM_ABANDON_ON = TRUE
  199.  endif
  200.  
  201.  Debug-Output "$(InfFile) $(Option): =================================================="
  202.  Debug-Output "$(InfFile) $(Option): STF_CWDIR is: "$(!STF_CWDIR)
  203.  Debug-Output "$(InfFile) $(Option): STF_SRCDIR is: "$(!STF_SRCDIR)
  204.  Debug-Output "$(InfFile) $(Option): STF_LANGUAGE is: "$(!STF_LANGUAGE)
  205.  Debug-Output "$(InfFile) $(Option): Option is: "$(Option)
  206.  Debug-Output "$(InfFile) $(Option): !STF_NCN_InstallMode is:"$(!NTN_InstallMode)
  207.  Debug-Output "$(InfFile) $(Option): !STF_NCDETECT is: "$(!STF_NCDETECT)
  208.  Debug-Output "$(InfFile) $(Option): !STF_NCOPTION is: "$(!STF_NCOPTION)
  209.  Debug-Output "$(InfFile) $(Option): !STF_NCDETCARD is: "$(!STF_NCDETCARD)
  210.  Debug-Output "$(InfFile) $(Option): !STF_NCDETINFO is: "$(!STF_NCDETINFO)
  211.  Debug-Output "$(InfFile) $(Option): !STF_GUI_UNATTENDED is: "$(!STF_GUI_UNATTENDED)
  212.  Debug-Output "$(InfFile) $(Option): !STF_BusType is $(!STF_BUSTYPE)" 
  213. Debug-Output "$(InfFile) $(Option): !STF_BusTypeList is $(!STF_BUSTYPELIST)" 
  214. Debug-Output "$(InfFile) $(Option): =================================================="
  215.  
  216.  set from = $(fatal)
  217.  set to = $(fatal)
  218.  goto $(StartLabel)
  219.  
  220. installadapter = +
  221.  
  222. Debug-Output "$(InfFile) $(Option): Installadapter" 
  223. OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(!REG_KEY_READ) KeyProduct
  224.  Ifstr $(KeyProduct) != $(KeyNull)
  225.  CloseRegKey $(KeyProduct)
  226.  ifstr(i) !(NTN_RegBase) == $(ProductKeyName)
  227.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  228.  Debug-Output "ShellCode error: cannot get an error string."
  229.  goto ShellCodeError
  230.  endif
  231.  goto end
  232.  else
  233.  set OldVersionExisted = $(TRUE)
  234.  endif
  235.  Endif
  236.  
  237.  Goto adapteroptions 
  238.  
  239. configureadapter = +
  240.  Debug-Output "$(InfFile) $(Option): Configureadapter"
  241.  
  242.  set Error = "Cannot configure the software component"
  243.  goto fatal
  244.  
  245. adapteroptions = +
  246.  Debug-Output "$(InfFile) $(Option): Adapteroptions"
  247.  set from = adapteroptions
  248.  ifstr(i) $(!NTN_InstallMode) == configure
  249.  goto updateparameters
  250.  endif
  251.  
  252. installproduct =+
  253.  Debug-Output "$(InfFile) $(Option): installproduct"
  254.  StartWait 
  255. set AdapterList = $($R1)
  256.  ifint $(OldVersionExisted) == $(FALSE)
  257.  Ifstr(i) $(DoCopy) == "YES"
  258.  Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) NO
  259.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  260.  Goto ShellCodeError
  261.  Else-Ifstr(i) $($R0) == STATUS_FAILED
  262.  Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
  263.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  264.  goto ShellCodeError
  265.  endif
  266.  set Error = $($R0)
  267.  Goto fatal
  268.  Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
  269.  Goto successful
  270.  Endif
  271.  
  272. Endif
  273.  
  274.  install "Install-Option"
  275.  ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  276.  Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE"
  277.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  278.  goto ShellCodeError
  279.  endif
  280.  set Error = $($R0)
  281.  goto fatal
  282.  endif
  283.  endif
  284.  
  285.  
  286.  
  287.  
  288.  
  289. OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"$(ProductHardwareName) $(!REG_KEY_READ) KeyNt
  290.  CloseRegKey $(KeyNt)
  291.  
  292.  Ifstr(i) $(KeyNt) == ""
  293.  Debug-Output "$(InfFile) $(Option): AddSoftwareComponent"
  294.  Debug-Output "$(InfFile) $(Option): --> $(Manufacturer)"
  295.  Debug-Output "$(InfFile) $(Option): --> $(ProductSoftwareName)"
  296.  Debug-Output "$(InfFile) $(Option): --> $(ProductSoftwareTitle)"
  297.  Debug-Output "$(InfFile) $(Option): --> $(STF_CONTEXTINFNAME)"
  298.  Debug-Output "$(InfFile) $(Option): --> $(ProductSoftwareImagePath)"
  299.  Debug-Output "$(InfFile) $(Option): --> $(NetEventDLL)"
  300.  
  301.  Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), +
  302.  $(ProductSoftwareName), +
  303.  $(ProductSoftwareName), +
  304.  $(ProductSoftwareTitle), $(STF_CONTEXTINFNAME), +
  305.  $(ProductSoftwareImagePath), "kernel", "NDIS", {}, "",+
  306.  $(NetEventDLL)
  307.  
  308. Set OEM_ABANDON_SOFTWARE = TRUE
  309.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  310.  goto ShellCodeError
  311.  endif
  312.  set RegistryErrorIndex = $($R0)
  313.  Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
  314.  EndWait
  315.  CloseRegKey $($R1)
  316.  CloseRegKey $($R2)
  317.  CloseRegKey $($R3)
  318.  CloseRegKey $($R4)
  319.  CloseRegKey $($R5)
  320.  goto fatalregistry
  321.  endif
  322.  Set SoftProductKey = $($R1)
  323.  Set SoftNetRuleKey = $($R2)
  324.  Set SoftServiceKey = $($R3)
  325.  Set SoftParameterKey = $($R4)
  326.  Set SoftLinkageKey = $($R5)
  327.  set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
  328.  {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)},+
  329.  {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)},+
  330.  {Title,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareTitle)},+
  331.  {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareDescription)},+
  332.  {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareName)},+
  333.  {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  334.  Shell $(UtilityInf), AddValueList, $(SoftProductKey), $(NewValueList)
  335.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  336.  goto ShellCodeError
  337.  endif
  338.  set RegistryErrorIndex = $($R0)
  339.  Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
  340.  EndWait
  341.  CloseRegKey $(SoftProductKey)
  342.  CloseRegKey $(SoftNetRuleKey)
  343.  CloseRegKey $(SoftServiceKey)
  344.  CloseRegKey $(SoftParameterKey)
  345.  CloseRegKey $(SoftLinkageKey)
  346.  goto fatalregistry
  347.  endif
  348.  set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareType)},+
  349.  {use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareUse)}, +
  350.  {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareBindForm)}, +
  351.  {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareClass)}, +
  352.  {bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareBindable)}, +
  353.  {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  354.  Shell $(UtilityInf), AddValueList, $(SoftNetRuleKey), $(NewValueList)
  355.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  356.  goto ShellCodeError
  357.  endif
  358.  set RegistryErrorIndex = $($R0)
  359.  CloseRegKey $(SoftProductKey)
  360.  CloseRegKey $(SoftNetRuleKey)
  361.  CloseRegKey $(SoftServiceKey)
  362.  CloseRegKey $(SoftParameterKey)
  363.  CloseRegKey $(SoftLinkageKey)
  364.  
  365.  
  366.  
  367. set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareType)},+
  368.  {use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareUse)}, +
  369.  {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareBindForm)}, +
  370.  {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareClass)}, +
  371.  {bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareBindable)}, +
  372.  {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  373.  Shell $(UtilityInf), AddValueList, $(SoftNetRuleKey), $(NewValueList)
  374.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  375.  goto ShellCodeError
  376.  endif
  377.  
  378.  
  379. Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
  380.  EndWait
  381.  goto fatalregistry
  382.  endif
  383.  endif 
  384.  
  385. Debug-Output "$(InfFile) $(Option): About to look for 3Com PCI Cards"
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393. set TargetVersion = *($(CurrentVersionValue),4)
  394.  Debug-Output "$(InfFile) $(Option): Current Version:"$(TargetVersion)
  395.  
  396.  ifstr $(TargetVersion) == $(NT350VersionConstant) 
  397. Debug-Output "Running on WindowsNT 3.50"
  398.  set Version350 = $(TRUE)
  399.  else
  400.  Debug-Output "Running on WindowsNT 3.51 or higher"
  401.  set Version350 = $(FALSE)
  402.  endif
  403.  
  404.  ifint $(Version350) == $(TRUE)
  405.  Debug-Output "Running on WindowsNT v3.50, Not using PCI Detection!!!"
  406.  ifstr $(!STF_GUI_UNATTENDED) == "YES"
  407.  Debug-Output "$(InfFile) $(Option): Running in GUI unattended mode"
  408.  ifstr(i) $(!AutoNetInterfaceType) != ""
  409.  set BusInterfaceType = $(!AutoNetInterfaceType)
  410.  else
  411.  set BusInterfaceType = 5
  412.  endif
  413.  ifstr(i) $(!AutoNetBusNumber) != ""
  414.  set BusNumber = $(!AutoNetBusNumber)
  415.  else
  416.  set BusNumber = 0
  417.  endif
  418.  set NTDetected = $(FALSE)
  419.  set AdapterList = $(Option) 
  420. Debug-Output "$(InfFile) $(Option): BusInterfaceType = $(BusInterfaceType)"
  421.  Debug-Output "$(InfFile) $(Option): BusNumber = $(BusNumber)"
  422.  else 
  423. Debug-Output "$(InfFile) $(Option): Running 3.50 Bus Dialog"
  424.  set BusInterfaceType = 5
  425.  set BusNumber = 0
  426.  set NTDetected = $(FALSE)
  427.  Shell $(UtilityInf),GetBusTypeDialog,$(ProductHardware$(Option)Description) $(BusInterfaceType) $(BusNumber)
  428.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  429.  Debug-Output "ShellCode error."
  430.  goto ShellCodeError
  431.  endif
  432.  set BusInterfaceType = $($R1)
  433.  set BusNumber = $($R2)
  434.  set AdapterList = $(Option) 
  435. Debug-Output "$(InfFile) $(Option): BusInterfaceType = $(BusInterfaceType)"
  436.  Debug-Output "$(InfFile) $(Option): BusNumber = $(BusNumber)"
  437.  endif 
  438. else
  439.  Debug-Output "$(InfFile) $(Option): Running 3.51 or higher using PCI Dectection"
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447. set NTDetected = $(TRUE)
  448.  set Vendor = 4279 
  449. set CFIDList = $($(Option)CFIDList)
  450.  Debug-Output "$(InfFile) $(Option): VendorID = $(Vendor)"
  451.  Debug-Output "$(InfFile) $(Option): CFIDList = $(CFIDList)"
  452.  set AdapterList = {}
  453.  ForListDo $(CFIDList)
  454.  set-div CFID = $($) 1
  455.  Shell $(UtilityInf), GetPCIInformation, $(Vendor) $(CFID)
  456.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  457.  goto ShellCodeError
  458.  endif
  459.  ForListDo $($R0)
  460.  set AdapterList = >($(AdapterList), $($))
  461.  EndForListDo
  462.  EndForListDo
  463.  ifstr(i) $(AdapterList) == {}
  464.  set Error = $(CANNOT_FIND_ANY_CARD)
  465.  set CommonStatus = USER_CANCEL
  466.  set from = end
  467.  goto nonfatal
  468.  endif
  469.  endif 
  470.  
  471.  
  472.  
  473. Debug-Output "$(InfFile) $(Option): Adapterlist = $(AdatperList)"
  474.  ForListDo $(AdapterList)
  475.  Set InstallCard = "YES"
  476.  ifint $(NTDetected) == $(TRUE)
  477.  set DetectedBusNum = *($($),1)
  478.  set DetectedSlotNum = *($($),2)
  479.  Debug-Output "$(InfFile) $(Option): DetectedBusNumber = $(DetectedBusNum)"
  480.  Debug-Output "$(InfFile) $(Option): DetectedSlotNum = $(DetectedSlotNum)"
  481.  
  482.  Shell $(UtilityInf), IsNetCardAlreadyInstalled, $(DetectedBusNum), +
  483.  $(DetectedSlotNum), $(ProductHardware$(Option)Description), $(ProductHardwareName)
  484.  
  485. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  486.  goto ShellCodeError
  487.  endif
  488.  ifstr $($R0) != "NO_ERROR"
  489.  set Error = $($R0)
  490.  goto fatal
  491.  endif
  492.  ifstr(i) $($R1) == "YES"
  493.  set InstallCard = "NO" 
  494. endif 
  495. endif
  496.  
  497.  
  498.  
  499. ifstr(i) $(InstallCard) == "NO"
  500.  Debug-Output "$(InfFile) $(Option): Card Already at $(DetectedBusNum):$(DetectedSlotNum) already installed!"
  501.  set Error = "An adapter at $(DetectedBusNum):$(DetectedSlotNum) is already installed!"
  502.  Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
  503.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  504.  goto ShellCodeError
  505.  endif
  506.  else
  507.  Debug-Output "$(InfFile) $(Option): Installing Card at $(DetectedBusNum):$(DetectedSlotNum)!"
  508.  Shell $(UtilityInf), AddHardwareComponent, $(ProductHardwareName),$(STF_CONTEXTINFNAME),$(ProductKeyName)
  509.  ifint $($R4) != -1
  510.  Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4))
  511.  endif
  512.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  513.  goto ShellCodeError
  514.  endif
  515.  set RegistryErrorIndex = $($R0)
  516.  Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
  517.  EndWait
  518.  CloseRegKey $($R1)
  519.  CloseRegKey $($R2)
  520.  CloseRegKey $($R3)
  521.  goto fatalregistry
  522.  endif
  523.  Set HardNetCardKey = $($R1)
  524.  Set HardNetRuleKey = $($R2)
  525.  Set HardParameterKey = $($R3)
  526.  set AdapterNumber = $($R4)
  527.  set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+
  528.  {Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardware$(Option)Title)},+
  529.  {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardware$(Option)Description)},+
  530.  {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+
  531.  {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
  532.  {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  533.  Shell $(UtilityInf), AddValueList, $(HardNetCardKey), $(NewValueList)
  534.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  535.  goto ShellCodeError
  536.  endif
  537.  
  538.  
  539.  
  540. set BusTypeNum = 5 
  541. ifstr(i) $(Option) == "3C905"
  542.  set CardType = 0
  543.  else
  544.  set CardType = 2
  545.  endif 
  546.  
  547.  
  548.  
  549. ifint $(NTDetected) == $(TRUE)
  550.  set BusNumber = $(DetectedBusNum)
  551.  set SlotNum = $(DetectedSlotNum) 
  552. set BusInterfaceType = $(BusTypeNum)
  553.  
  554.  
  555.  
  556.  
  557. Set NewValueList = {+
  558.  {BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNumber)},+
  559.  {Slot,$(NoTitle),$(!REG_VT_DWORD),$(SlotNum)}+
  560.  }
  561.  Debug-Output "$(InfFile) $(Option): Set HardwareParameterKey = $(NewValueList)"
  562.  Shell $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
  563.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  564.  goto ShellCodeError
  565.  endif
  566.  
  567.  Set NewValueList = { {SlotNumber,$(NoTitle),$(!REG_VT_DWORD),$(SlotNum)} }
  568.  Debug-Output "$(InfFile) $(Option): Set HardwareParameterKey = $(NewValueList)"
  569.  Shell $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
  570.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  571.  goto ShellCodeError
  572.  endif
  573.  else
  574.  Set NewValueList = {+
  575.  {BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNumber)},+
  576.  }
  577.  Debug-Output "$(InfFile) $(Option): Set HardwareParameterKey = $(NewValueList)"
  578.  Shell $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
  579.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  580.  goto ShellCodeError
  581.  endif
  582.  endif
  583.  
  584.  Set NewValueList = {+
  585.  {BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusInterfaceType)},+
  586.  {CardType,$(NoTitle),$(!REG_VT_DWORD),$(CardType)},+
  587.  {MediaType,$(NoTitle),$(!REG_VT_DWORD),1},+
  588.  }
  589.  
  590.  Debug-Output "$(InfFile) $(Option): Set HardwareParameterKey = $(NewValueList)"
  591.  Shell $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
  592.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  593.  goto ShellCodeError
  594.  endif
  595.  
  596.  set TempProdName = """"$(ProductHardwareName)$(AdapterNumber)""""
  597.  set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
  598.  set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardware$(Option)Type)},+
  599.  {bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, +
  600.  {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardware$(Option)Class)}, +
  601.  {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  602.  
  603. Debug-Output "$(InfFile) $(Option): HardwareRuleKey = $(NewValueList)"
  604.  Shell $(UtilityInf), AddValueList, $(HardNetRuleKey), $(NewValueList)
  605.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  606.  goto ShellCodeError
  607.  endif
  608.  CloseRegKey $(HardNetCardKey)
  609.  CloseRegKey $(HardNetRuleKey)
  610.  CloseRegKey $(HardParameterKey)
  611.  endif 
  612. EndForListDo
  613.  
  614. ifstr $(!STF_PLATFORM) == $(INF_PROCESSER) 
  615. install "Install-3nicdiag"
  616.  
  617.  ifstr(i) (*($(CurrentVersionValue),4)) == $(NT400VersionConstant) 
  618. install "Install-TrayAndCpl"
  619.  endif
  620.  
  621.  
  622. set CalledPace = "installpace"
  623.  goto paceentries
  624. installpace = + 
  625.  
  626. Shell $(!STF_WINDOWSSYSPATH)\drmonnt.inf, InstallOption, $(CurrLang),$(Option) ,$(SrcDir), YES, YES, YES, NO 
  627. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  628.  goto ShellCodeError
  629.  endif
  630.  ifstr(i) $(!STF_GUI_UNATTENDED) != "YES"
  631.  RunProgram ExitCode "Windows Directory" "" 3nicdiag.exe "-inf"
  632.  endif
  633.  
  634.  ifstr(i) (*($(CurrentVersionValue),4)) == $(NT400VersionConstant) 
  635. Debug-Output "$(InfFile) $(Option): Windows NT 4.00"
  636.  OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\Windows\CurrentVersion\Run" $(!REG_KEY_ALL_ACCESS) KeyNt
  637.  set TrayIconList = {COMSMDEXE,$(NoTitle),$(!REG_VT_SZ),$(TrayIconExe)}
  638.  SetRegValue $(KeyNt) $(TrayIconList)
  639.  CloseRegKey $(KeyNt)
  640.  
  641.  
  642. OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" $(!REG_KEY_ALL_ACCESS) KeyNt
  643.  ifstr $(KeyNt) == ""
  644.  CreateRegKey $(!REG_H_LOCAL) {"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" , 0, GenericClass} "" $(!REG_KEY_ALL_ACCESS) "" KeyNt
  645.  endif
  646.  OpenRegKey $(KeyNt) "" "3ComNicUnInstall" $(!REG_KEY_ALL_ACCESS) KeyNt2
  647.  ifstr $(KeyNt2) == ""
  648.  CreateRegKey $(KeyNt) {"3ComNicUnInstall" , 0, GenericClass} "" $(!REG_KEY_ALL_ACCESS) "" KeyNt2
  649.  endif
  650.  set NewValueList = {{DisplayName, $(NoTitle), $(!REG_VT_SZ), "3Com NIC Diagnostics"},+
  651.  {UninstallString, $(NoTitle), $(!REG_VT_SZ), "UN3C90X.EXE"}}
  652.  Shell $(UtilityInf), AddValueList, $(KeyNt2), $(NewValueList)
  653.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  654.  goto ShellCodeError
  655.  endif
  656.  CloseRegKey $(KeyNt)
  657.  CloseRegKey $(KeyNt2)
  658.  
  659.  
  660. RunProgram ExitCode "Windows Directory" "" COMSMD.EXE "-setup"
  661.  endif
  662. endif
  663.  
  664.  EndWait
  665.  goto successful
  666.  
  667. updateparameters =+
  668.  Debug-Output "$(InfFile) $(Option): Updateparameters"
  669.  set HardParameterKey = $($R3)
  670.  
  671. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  672.  goto ShellCodeError
  673.  endif
  674.  CloseRegKey $(KeyParameters)
  675.  goto successful
  676.  
  677. bindingadapter =+
  678.  Debug-Output "$(InfFile) $(Option): bindingadapter"
  679.  set Error = "Binding: Sorry, not yet implemented."
  680.  goto fatal
  681.  
  682. removeadapter = +
  683.  Debug-Output "$(InfFile) $(Option): removeadapter"
  684.  Debug-Output "$(InfFile) $(Option): ----> $(ProductKeyName), $(!NTN_RegBase)"
  685.  Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  686.  Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  687.  $(ProductSoftwareName)
  688.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  689.  goto ShellCodeError
  690.  endif
  691.  set RegistryErrorIndex = $($R0)
  692.  Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  693.  goto fatalregistry
  694.  endif
  695.  else
  696.  Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  697.  $(ProductSoftwareName), $(!NTN_RegBase)
  698.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  699.  goto ShellCodeError
  700.  endif
  701.  set RegistryErrorIndex = $($R0)
  702.  Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  703.  goto fatalregistry
  704.  endif
  705.  endif
  706.  
  707. ifstr(i) $(!STF_PLATFORM) == $(INF_PROCESSER) 
  708. RunProgram ExitCode "Windows Directory" "" UN3C90X.EXE "-inf" 
  709. endif
  710.  
  711.  Shell $(!STF_WINDOWSSYSPATH)\drmonnt.inf, InstallOption, $(CurrLang),$(Option) ,$(SrcDir), YES, YES, YES, -inf 
  712. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  713.  goto ShellCodeError
  714.  endif
  715.  goto end
  716.  
  717. UpgradeSoftware = +
  718.  Debug-Output "$(InfFile) $(Option): UpdateSoftware" 
  719. OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(!REG_KEY_READ) KeyProduct
  720.  Ifstr $(KeyProduct) != ""
  721.  Shell $(UtilityInf), GetInfFileNameFromRegistry, $(KeyProduct)
  722.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  723.  Debug-Output "ShellCode error"
  724.  goto ShellCodeError
  725.  endif
  726.  set !UG_Filename = $($R0)
  727.  
  728.  install "Install-Update"
  729.  ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  730.  goto fatal
  731.  endif
  732.  
  733. ifstr $(!STF_PLATFORM) == $(INF_PROCESSER) 
  734. ifstr(i) (*($(CurrentVersionValue),4)) == $(NT400VersionConstant) 
  735. Debug-Output "$(InfFile) $(Option): Windows NT 4.00"
  736.  OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\Windows\CurrentVersion\Run" $(!REG_KEY_ALL_ACCESS) KeyNt
  737.  set TrayIconList = {COMSMDEXE,$(NoTitle),$(!REG_VT_SZ),$(TrayIconExe)}
  738.  SetRegValue $(KeyNt) $(TrayIconList)
  739.  install "Install-TrayAndCpl"
  740.  CloseRegKey $(KeyNt)
  741.  
  742.  
  743. RunProgram ExitCode "Windows Directory" "" COMSMD.EXE "-setup"
  744.  
  745.  
  746. OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" $(!REG_KEY_ALL_ACCESS) KeyNt
  747.  ifstr $(KeyNt) == ""
  748.  CreateRegKey $(!REG_H_LOCAL) {"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" , 0, GenericClass} "" $(!REG_KEY_ALL_ACCESS) "" KeyNt
  749.  endif
  750.  OpenRegKey $(KeyNt) "" "3ComNicUnInstall" $(!REG_KEY_ALL_ACCESS) KeyNt2
  751.  ifstr $(KeyNt2) == ""
  752.  CreateRegKey $(KeyNt) {"3ComNicUnInstall" , 0, GenericClass} "" $(!REG_KEY_ALL_ACCESS) "" KeyNt2
  753.  endif
  754.  set NewValueList = {{DisplayName, $(NoTitle), $(!REG_VT_SZ), "3Com NIC Diagnostics"},+
  755.  {UninstallString, $(NoTitle), $(!REG_VT_SZ), "UN3C90X.EXE"}}
  756.  Shell $(UtilityInf), AddValueList, $(KeyNt2), $(NewValueList)
  757.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  758.  goto ShellCodeError
  759.  endif
  760.  CloseRegKey $(KeyNt)
  761.  CloseRegKey $(KeyNt2)
  762.  
  763.  endif
  764.  
  765.  
  766. set CalledPace = "updatepace"
  767.  goto paceentries
  768. updatepace = + 
  769.  
  770. set InstallMode_Save = $(!NTN_InstallMode)
  771.  set !NTN_InstallMode = install
  772.  set !STF_SRCDIR_OVERRIDE = $(SrcDir)
  773.  Shell $(!STF_WINDOWSSYSPATH)\drmonnt.inf, InstallOption, $(CurrLang),$(Option) ,$(SrcDir), YES, YES, YES, NO 
  774. set !NTN_InstallMode = $(InstallMode_Save)
  775.  set !STF_SRCDIR_OVERRIDE = ""
  776.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  777.  goto ShellCodeError
  778.  endif
  779. endif
  780.  
  781.  SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)}
  782.  SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)}
  783.  CloseRegKey $(KeyProduct)
  784.  
  785.  
  786.  
  787.  else
  788.  goto fatalregistry
  789.  endif
  790.  goto end
  791.  
  792. successful = +
  793.  Debug-Output "$(InfFile) $(Option): Successful"
  794.  goto end
  795.  
  796. abandon = +
  797.  Debug-Output "$(InfFile) $(Option): Abandon"
  798.  ForListDo $(OEM_ABANDON_OPTIONS)
  799.  Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  800.  $(ProductSoftwareName), $($)
  801.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  802.  goto ShellCodeError
  803.  endif
  804.  set RegistryErrorIndex = $($R0)
  805.  Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  806.  goto fatalregistry
  807.  endif
  808.  EndForListDo
  809.  Ifstr(i) $(OEM_ABANDON_SOFTWARE) == TRUE
  810.  Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  811.  $(ProductSoftwareName), FALSE
  812.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  813.  goto ShellCodeError
  814.  endif
  815.  set RegistryErrorIndex = $($R0)
  816.  Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  817.  goto fatalregistry
  818.  endif
  819.  endif
  820.  goto end
  821.  
  822. warning = +
  823.  Debug-Output "$(InfFile) $(Option): warning"
  824.  Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
  825.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  826.  goto ShellCodeError
  827.  endif
  828.  ifstr(i) $($R1) == "OK"
  829.  goto $(to)
  830.  else-ifstr(i) $($R1) == "CANCEL"
  831.  goto $(from)
  832.  else
  833.  goto "end"
  834.  endif
  835.  
  836. nonfatalinfo = +
  837.  Debug-Output "$(InfFile) $(Option): nonfatalinfo"
  838.  Set CommonStatus = STATUS_USERCANCEL
  839.  Set Severity = STATUS
  840.  goto nonfatalmsg
  841.  
  842. nonfatal = +
  843.  Debug-Output "$(InfFile) $(Option): nonfatal"
  844.  Set Severity = NONFATAL
  845.  goto nonfatalmsg
  846.  
  847. nonfatalmsg = +
  848.  Debug-Output "$(InfFile) $(Option): nonfatalmsg"
  849.  ifstr(i) $(Error) == ""
  850.  Set Severity = NONFATAL
  851.  Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  852.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  853.  goto ShellCodeError
  854.  endif
  855.  set Error = $($R0)
  856.  endif
  857.  Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
  858.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  859.  goto ShellCodeError
  860.  endif
  861.  ifstr(i) $($R1) == "OK"
  862.  goto $(from)
  863.  else
  864.  
  865. goto "RemoveAdapter"
  866.  endif
  867.  
  868. fatalregistry = +
  869.  Debug-Output "$(InfFile) $(Option): fatalregistry"
  870.  Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
  871.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  872.  goto ShellCodeError
  873.  endif
  874.  set Error = $($R0)
  875.  goto fatal
  876.  
  877. fatal = +
  878.  Debug-Output "$(InfFile) $(Option): fatal"
  879.  ifstr(i) $(Error) == ""
  880.  Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  881.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  882.  goto ShellCodeError
  883.  endif
  884.  set Error = $($R0)
  885.  endif
  886.  Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
  887.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  888.  goto ShellCodeError
  889.  endif
  890.  goto setfailed
  891.  
  892. ShellCodeError = +
  893.  ifint $($ShellCode) == $(!SHELL_CODE_NO_SUCH_INF)
  894.  Debug-Output "$(InfFile) $(Option): ShellCodeError - SHELL_CODE_NO_SUCH_INF"
  895.  else-ifint $($ShellCode) == $(!SHELL_CODE_NO_SUCH_SECTION)
  896.  Debug-Output "$(InfFile) $(Option): ShellCodeError - SHELL_CODE_NO_SUCH_SECTION"
  897.  else
  898.  Debug-Output "$(InfFile) $(Option): ShellCodeError - SHELL_CODE_ERROR"
  899.  endif
  900.  set DlgType = "MessageBox"
  901.  set STF_MB_TITLE = $(ShellCodeErrorTitle)
  902.  set STF_MB_TEXT = $(ShellCodeErrorText) 
  903. set STF_MB_TYPE = 1
  904.  set STF_MB_ICON = 3
  905.  set STF_MB_DEF = 1
  906.  ui start "Error Message"
  907.  goto setfailed
  908.  
  909. setfailed = +
  910.  Debug-Output "$(InfFile) $(Option): Setfailed"
  911.  set CommonStatus = STATUS_FAILED
  912.  ifstr(i) $(OEM_ABANDON_ON) == TRUE
  913.  set OEM_ABANDON_ON = FALSE
  914.  goto abandon
  915.  endif
  916.  goto end
  917.  
  918. end = +
  919.  goto term
  920.  
  921. term = +
  922.  Return $(CommonStatus)
  923.  
  924. paceentries = +
  925.  
  926.  
  927.  
  928.  
  929.  
  930.  
  931. OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\3Com\"$(ProductSoftwareName) $(!REG_KEY_ALL_ACCESS) KeyNt
  932.  set TrayIconList = {3CUNINSTALL,$(NoTitle),$(!REG_VT_SZ),$(3CNUMBER)}
  933.  SetRegValue $(KeyNt) $(TrayIconList)
  934.  set TrayIconList = {PACENAME,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareName)}
  935.  SetRegValue $(KeyNt) $(TrayIconList)
  936.  CloseRegKey $(KeyNt)
  937.  
  938.  
  939. OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE" $(!REG_KEY_WRITE) SOFTPACEKEY
  940.  
  941.  
  942. OpenRegKey $(SOFTPACEKEY) "" "3Com" $(!REG_KEY_WRITE) COMPACEKEY
  943.  ifstr $(COMPACEKEY) == ""
  944.  CreateRegKey $(SOFTPACEKEY) {"3Com", 0, GenericClass} "" $(!REG_KEY_WRITE) "" COMPACEKEY
  945.  endif
  946.  
  947.  
  948. OpenRegKey $(COMPACEKEY) "" "PACECards" $(!REG_KEY_WRITE) CARDPACEKEY
  949.  ifstr $(CARDPACEKEY) == ""
  950.  CreateRegKey $(COMPACEKEY) {"PACECards", 0, GenericClass} "" $(!REG_KEY_WRITE) "" CARDPACEKEY
  951.  endif
  952.  
  953.  
  954. OpenRegKey $(CARDPACEKEY) "" $(ProductSoftwareName) $(!REG_KEY_WRITE) EL90XPACEKEY
  955.  ifstr $(EL90XPACEKEY) == ""
  956.  CreateRegKey $(CARDPACEKEY) {$(ProductSoftwareName), 0, GenericClass} "" $(!REG_KEY_WRITE) "" EL90XPACEKEY
  957.  endif
  958.  
  959.  
  960. SetRegValue $(EL90XPACEKEY) {"Description", 0, $(!REG_VT_SZ), $(GROUP_NAME)}
  961.  
  962.  
  963. OpenRegKey $(CARDPACEKEY) "" "Applications" $(!REG_KEY_WRITE) APPPACEKEY
  964.  ifstr $(APPPACEKEY) == ""
  965.  CreateRegKey $(CARDPACEKEY) {"Applications", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPPACEKEY
  966.  endif
  967.  
  968.  OpenRegKey $(APPPACEKEY) "" "Emotion CreativePartner (IPX)" $(!REG_KEY_WRITE) APPSPECPACEKEY
  969.  ifstr $(APPSPECPACEKEY) == ""
  970.  CreateRegKey $(APPPACEKEY) {"Emotion CreativePartner (IPX)", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY
  971.  endif
  972.  set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"IPX"},+
  973.  {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, +
  974.  {RangeStart,$(NoTitle),$(!REG_VT_SZ),"87C7"}, +
  975.  {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"87C8"}}
  976.  Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList)
  977.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  978.  goto ShellCodeError
  979.  endif
  980.  CloseRegKey $(APPSPECPACEKEY)
  981.  
  982.  
  983. OpenRegKey $(APPPACEKEY) "" "Emotion CreativePartner (TCP/IP)" $(!REG_KEY_WRITE) APPSPECPACEKEY
  984.  ifstr $(APPSPECPACEKEY) == ""
  985.  CreateRegKey $(APPPACEKEY) {"Emotion CreativePartner (TCP/IP)", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY
  986.  endif
  987.  set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"UDP"},+
  988.  {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, +
  989.  {RangeStart,$(NoTitle),$(!REG_VT_SZ),"0453"}, +
  990.  {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"0455"}}
  991.  Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList)
  992.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  993.  goto ShellCodeError
  994.  endif
  995.  CloseRegKey $(APPSPECPACEKEY)
  996.  
  997.  OpenRegKey $(APPPACEKEY) "" "InSoft Communique!" $(!REG_KEY_WRITE) APPSPECPACEKEY
  998.  ifstr $(APPSPECPACEKEY) == ""
  999.  CreateRegKey $(APPPACEKEY) {"InSoft Communique!", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY
  1000.  endif
  1001.  set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"UDP"},+
  1002.  {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, +
  1003.  {RangeStart,$(NoTitle),$(!REG_VT_SZ),"1025, 1500"}, +
  1004.  {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"1050, 1525"}}
  1005.  Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList)
  1006.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1007.  goto ShellCodeError
  1008.  endif
  1009.  CloseRegKey $(APPSPECPACEKEY)
  1010.  
  1011.  OpenRegKey $(APPPACEKEY) "" "Picturetel LiveLAN (over IPX)" $(!REG_KEY_WRITE) APPSPECPACEKEY
  1012.  ifstr $(APPSPECPACEKEY) == ""
  1013.  CreateRegKey $(APPPACEKEY) {"Picturetel LiveLAN (over IPX)", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY
  1014.  endif
  1015.  set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"IPX"},+
  1016.  {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, +
  1017.  {RangeStart,$(NoTitle),$(!REG_VT_SZ),"4050"}, +
  1018.  {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"4082"}}
  1019.  Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList)
  1020.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1021.  goto ShellCodeError
  1022.  endif
  1023.  CloseRegKey $(APPSPECPACEKEY)
  1024.  
  1025.  OpenRegKey $(APPPACEKEY) "" "Picturetel LiveLAN (over TCP/IP)" $(!REG_KEY_WRITE) APPSPECPACEKEY
  1026.  ifstr $(APPSPECPACEKEY) == ""
  1027.  CreateRegKey $(APPPACEKEY) {"Picturetel LiveLAN (over TCP/IP)", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY
  1028.  endif
  1029.  set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"UDP"},+
  1030.  {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, +
  1031.  {RangeStart,$(NoTitle),$(!REG_VT_SZ),"06a4"}, +
  1032.  {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"06d6"}}
  1033.  Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList)
  1034.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1035.  goto ShellCodeError
  1036.  endif
  1037.  CloseRegKey $(APPSPECPACEKEY)
  1038.  
  1039.  OpenRegKey $(APPPACEKEY) "" "Precept FlashWare" $(!REG_KEY_WRITE) APPSPECPACEKEY
  1040.  ifstr $(APPSPECPACEKEY) == ""
  1041.  CreateRegKey $(APPPACEKEY) {"Precept FlashWare", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY
  1042.  endif
  1043.  set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"UDP"},+
  1044.  {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, +
  1045.  {RangeStart,$(NoTitle),$(!REG_VT_SZ),"8000, C000"}, +
  1046.  {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"8000, C000"}}
  1047.  Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList)
  1048.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1049.  goto ShellCodeError
  1050.  endif
  1051.  CloseRegKey $(APPSPECPACEKEY)
  1052.  
  1053.  OpenRegKey $(APPPACEKEY) "" "Progressive Networks RealAudio" $(!REG_KEY_WRITE) APPSPECPACEKEY
  1054.  ifstr $(APPSPECPACEKEY) == ""
  1055.  CreateRegKey $(APPPACEKEY) {"Progressive Networks RealAudio", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY
  1056.  endif
  1057.  set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"UDP"},+
  1058.  {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, +
  1059.  {RangeStart,$(NoTitle),$(!REG_VT_SZ),"6970"}, +
  1060.  {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"7170"}}
  1061.  Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList)
  1062.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1063.  goto ShellCodeError
  1064.  endif
  1065.  CloseRegKey $(APPSPECPACEKEY)
  1066.  
  1067.  OpenRegKey $(APPPACEKEY) "" "Starlight Networks StarCast" $(!REG_KEY_WRITE) APPSPECPACEKEY
  1068.  ifstr $(APPSPECPACEKEY) == ""
  1069.  CreateRegKey $(APPPACEKEY) {"Starlight Networks StarCast", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY
  1070.  endif
  1071.  set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"UDP"},+
  1072.  {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, +
  1073.  {RangeStart,$(NoTitle),$(!REG_VT_SZ),"1911"}, +
  1074.  {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"1911"}}
  1075.  Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList)
  1076.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1077.  goto ShellCodeError
  1078.  endif
  1079.  CloseRegKey $(APPSPECPACEKEY)
  1080.  
  1081.  OpenRegKey $(APPPACEKEY) "" "VCON Cruiser 100" $(!REG_KEY_WRITE) APPSPECPACEKEY
  1082.  ifstr $(APPSPECPACEKEY) == ""
  1083.  CreateRegKey $(APPPACEKEY) {"VCON Cruiser 100", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY
  1084.  endif
  1085.  set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"UDP"},+
  1086.  {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, +
  1087.  {RangeStart,$(NoTitle),$(!REG_VT_SZ),"1500, 1600"}, +
  1088.  {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"1500, 1600"}}
  1089.  Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList)
  1090.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1091.  goto ShellCodeError
  1092.  endif
  1093.  CloseRegKey $(APPSPECPACEKEY)
  1094.  
  1095.  OpenRegKey $(APPPACEKEY) "" "VXtreme Web Theater" $(!REG_KEY_WRITE) APPSPECPACEKEY
  1096.  ifstr $(APPSPECPACEKEY) == ""
  1097.  CreateRegKey $(APPPACEKEY) {"VXtreme Web Theater", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY
  1098.  endif
  1099.  set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"UDP"},+
  1100.  {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, +
  1101.  {RangeStart,$(NoTitle),$(!REG_VT_SZ),"7000"}, +
  1102.  {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"7020"}}
  1103.  Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList)
  1104.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1105.  goto ShellCodeError
  1106.  endif
  1107.  CloseRegKey $(APPSPECPACEKEY)
  1108.  
  1109.  OpenRegKey $(APPPACEKEY) "" "Xing Technology Streamworks" $(!REG_KEY_WRITE) APPSPECPACEKEY
  1110.  ifstr $(APPSPECPACEKEY) == ""
  1111.  CreateRegKey $(APPPACEKEY) {"Xing Technology Streamworks", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY
  1112.  endif
  1113.  set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"UDP"},+
  1114.  {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, +
  1115.  {RangeStart,$(NoTitle),$(!REG_VT_SZ),"1558"}, +
  1116.  {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"1558"}}
  1117.  Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList)
  1118.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1119.  goto ShellCodeError
  1120.  endif
  1121.  
  1122.  OpenRegKey $(APPPACEKEY) "" "Vosaic Software Server" $(!REG_KEY_WRITE) APPSPECPACEKEY
  1123.  ifstr $(APPSPECPACEKEY) == ""
  1124.  CreateRegKey $(APPPACEKEY) {"Vosaic Software Server", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY
  1125.  endif
  1126.  set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"TCP"},+
  1127.  {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, +
  1128.  {RangeStart,$(NoTitle),$(!REG_VT_SZ),"04D3"}, +
  1129.  {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"04D3"}}
  1130.  Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList)
  1131.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1132.  goto ShellCodeError
  1133.  endif
  1134.  
  1135.  OpenRegKey $(APPPACEKEY) "" "Vosaic Software Client" $(!REG_KEY_WRITE) APPSPECPACEKEY
  1136.  ifstr $(APPSPECPACEKEY) == ""
  1137.  CreateRegKey $(APPPACEKEY) {"Vosaic Software Client", 0, GenericClass} "" $(!REG_KEY_WRITE) "" APPSPECPACEKEY
  1138.  endif
  1139.  set NewValueList = {{Protocol,$(NoTitle),$(!REG_VT_SZ),"UDP"},+
  1140.  {Enabled,$(NoTitle),$(!REG_VT_SZ),"FALSE"}, +
  1141.  {RangeStart,$(NoTitle),$(!REG_VT_SZ),"F169"}, +
  1142.  {RangeEnd,$(NoTitle),$(!REG_VT_SZ),"F17D"}}
  1143.  Shell $(UtilityInf), AddValueList, $(APPSPECPACEKEY), $(NewValueList)
  1144.  ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1145.  goto ShellCodeError
  1146.  endif
  1147.  
  1148.  
  1149. CloseRegKey $(APPSPECPACEKEY)
  1150.  CloseRegKey $(EL90XPACEKEY)
  1151.  CloseRegKey $(APPPACEKEY)
  1152.  CloseRegKey $(CARDPACEKEY)
  1153.  CloseRegKey $(COMPACEKEY)
  1154.  CloseRegKey $(SOFTPACEKEY)
  1155.  
  1156.  goto $(CalledPace)
  1157.  
  1158.  
  1159.  
  1160. [Install-Option]
  1161.  set STF_VITAL = ""
  1162.  ifstr(i) $(AddCopy) == "YES"
  1163.  AddSectionFilesToCopyList Files-$(Option) $(SrcDir)WIN32\$(!STF_PLATFORM) $(!STF_WINDOWSSYSPATH)\drivers
  1164.  endif
  1165.  ifstr(i) $(DoCopy) == "YES"
  1166.  set !STF_NCPA_FLUSH_COPYLIST = TRUE
  1167.  CopyFilesInCopyList
  1168.  endif
  1169.  Exit
  1170.  
  1171. [Install-3nicdiag]
  1172.  set STF_VITAL = ""
  1173.  AddSectionFilesToCopyList Files-3nicdiag $(SrcDir)win32 $(!STF_WINDOWSSYSPATH)
  1174.  AddSectionFilesToCopyList Files-HwDll $(SrcDir)WINNT $(!STF_WINDOWSSYSPATH)
  1175.  AddSectionFilesToCopyList Files-drmon $(SrcDir)drmon $(!STF_WINDOWSSYSPATH)
  1176.  set !STF_NCPA_FLUSH_COPYLIST = TRUE
  1177.  CopyFilesInCopyList
  1178.  Exit
  1179.  
  1180. [Install-TrayAndCpl]
  1181.  set STF_VITAL = ""
  1182.  AddSectionFilesToCopyList Files-TrayAndCpl $(SrcDir)win32 $(!STF_WINDOWSSYSPATH)
  1183.  set !STF_NCPA_FLUSH_COPYLIST = TRUE
  1184.  CopyFilesInCopyList
  1185.  Exit
  1186.  
  1187. [Install-Update]
  1188.  set STF_VITAL = ""
  1189.  set STF_OVERWRITE = "VERIFYSOURCEOLDER"
  1190. ifstr $(!STF_PLATFORM) == $(INF_PROCESSER) 
  1191. AddSectionFilesToCopyList Files-3nicdiag $(SrcDir)win32 $(!STF_WINDOWSSYSPATH)
  1192.  AddSectionFilesToCopyList Files-HwDll $(SrcDir)WINNT $(!STF_WINDOWSSYSPATH)
  1193. endif
  1194.  AddSectionFilesToCopyList Files-Inf $(SrcDir) $(!STF_WINDOWSSYSPATH)
  1195.  AddSectionFilesToCopyList Files-$(Option) $(SrcDir)WIN32\$(!STF_PLATFORM) $(!STF_WINDOWSSYSPATH)\drivers
  1196.  set !STF_NCPA_FLUSH_COPYLIST = TRUE
  1197.  CopyFilesInCopyList
  1198.  
  1199.  
  1200.  exit
  1201.  
  1202. [Source Media Descriptions]
  1203.  1 = "Windows NT Setup Disk #1" 
  1204. 2 = "3Com Etherdisk for Fast EtherLink XL / EtherLink XL Adapters (DISK 1)", TAGFILE = DISK1
  1205.  3 = "3Com Etherdisk for Fast EtherLink XL / EtherLink XL Adapters (DISK 2)", TAGFILE = DISK2
  1206.  
  1207. [ProductType]
  1208. STF_PRODUCT = Winnt
  1209.  
  1210. [Files-Inf] 
  1211. 3, oemsetup.inf,SIZE=36000, RENAME=$(!UG_Filename)
  1212.  
  1213. [Files-3nicdiag]
  1214. 3,3nicdiag.exe, SIZE=165504
  1215. 3,3nicdiag.hlp, SIZE=20877
  1216. 3,3varaddr.txt, SIZE=113
  1217. 3,pacecfg.cpl, SIZE=107457
  1218. 3,pacecfg.hlp, SIZE=6617
  1219. 3,UN3C90X.EXE, SIZE=6617
  1220.  
  1221. [Files-HwDll]
  1222. 3,hwaccess.dll, SIZE=20198
  1223. 3,pcomdrv.sys, SIZE=5000
  1224. 3,3c90xcfg.dll, SIZE=59458
  1225. 3,drmonnt.inf, SIZE=15000
  1226.  
  1227. [Files-TrayAndCpl]
  1228. 3,comsmd.exe, SIZE=8957
  1229.  
  1230. [Files-drmon]
  1231. 3,undrmon.exe, SIZE=8957
  1232.  
  1233.  
  1234. [Files-3C905]
  1235. 3,EL90x.SYS , SIZE=25001
  1236. [Files-3C900]
  1237. 3,EL90x.SYS , SIZE=25001
  1238.  
  1239.  
  1240. [LanguagesSupported]
  1241.  ENG
  1242.  
  1243. [OptionsTextENG]
  1244.  3C905 = "3Com Fast EtherLink XL Adapter (3C905)"
  1245.  3C900 = "3Com EtherLink XL Adapter (3C900)"
  1246.  
  1247. [FileConstantsENG]
  1248.  ProCaption = "Windows NT NIC Setup"
  1249.  ProCancel = "Cancel"
  1250.  ProCancelMsg = "Windows NT Networking is not correctly installed. "+
  1251.  "Are you sure you want to cancel copying files?"
  1252.  ProCancelCap = "Network Setup Message"
  1253.  ProText1 = "Copying:"
  1254.  ProText2 = "To:"
  1255.  
  1256. ConnectionList = ^(ConnectionChoices$(Option), 1)
  1257. ConnectionValues = ^(ConnectionChoices$(Option), 2)
  1258. NoList = ^(NoChoices, 1)
  1259. NoValues = ^(NoChoices, 2)
  1260. ShellCodeErrorTitle = "Error: "$(Function$(Option)Title)
  1261. ShellCodeErrorText = "Shell Code Error."
  1262. CANNOT_FIND_ANY_CARD = "Network card is not present in the system"
  1263.  
  1264. [DialogConstantsENG]
  1265. Help = "&Help"
  1266. Exit = "Cancel"
  1267. OK = "OK"
  1268. HelpContext = ""
  1269. Continue = "Continue"
  1270. Cancel = "Cancel"
  1271.