home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 January / CHIPCD1_98.iso / software / testsoft / nds / i386 / nls / english / odinsup.in_ / odinsup.in
Text File  |  1997-08-20  |  35KB  |  1,128 lines

  1. ;***********************************************************************
  2. ;
  3. ; ODINSUP.INF
  4. ;
  5. ;        Novell Ndis to ODI network logical adapter SETUP INF file.
  6. ;
  7. ;***********************************************************************
  8.  
  9. ;
  10. ; The following is the version info for Novell
  11. ;
  12.  
  13. ;VeRsIoN=v4.10 Novell Client Install for Windows NT (970414)
  14. ;CoPyRiGhT=copyright 1992-1997, by Novell, INC. All rights reserved.
  15.  
  16. [Identification]
  17.     OptionType = NetAdapter
  18.  
  19. [PlatformsSupported]
  20.     ISA
  21.     MCA
  22.     EISA
  23.     PCI
  24.     "Jazz-Internal Bus"
  25.  
  26. [Options]
  27.     ODINSUP
  28.  
  29. [IRQChoices]
  30.     IRQ_1    = "2",2
  31.     IRQ_2    = "3",3
  32.     IRQ_3    = "4",4
  33.     IRQ_4    = "5",5
  34.  
  35. [IOBaseAddrChoices]
  36.     IOBase_1    = "0x300",768
  37.     IOBase_2    = "0x320",800
  38.     IOBase_3    = "0x340",832
  39.     IOBase_4    = "0x360",864
  40.  
  41. [FileConstants]
  42.     UtilityInf        = "UTILITY.INF"
  43.     subroutineinf    = "SUBROUTN.INF"
  44.     NwSubsInf        = "NWSUBS.INF"
  45.     SoftwareType    = "driver"
  46.     Exit_Code        = 0
  47.     DriverToLoad    = ""
  48.  
  49.     ODINetWareEventFile    = "%SystemRoot%\System32\nls\"$(NLSDirName)"\odintmsg.dll"
  50.     IoLogMsgDLL                = "%SystemRoot%\System32\IoLogMsg.dll"
  51.  
  52.     ProductSoftwareName            = "ODINSUP"
  53.     ProductSoftwareImagePath    = "\SystemRoot\system32\drivers\odinsup.sys"
  54.     NetRuleSoftwareType            = "odinsupSys ndisDriver odinsupDriver"
  55.     NetRuleSoftwareUse            = $(SoftwareType)
  56.     NetRuleSoftwareBindForm        = """OdinsupSys"" yes no container"
  57.     NetRuleSoftwareClass            = {"odinsupDriver basic"}
  58.     NetRuleSoftwareBindable        = {"odinsupDriver odinsupAdapter non exclusive 100"}
  59.  
  60.     ProductHardwareName                = "ODINSUP"
  61.     NetRuleHardwareType                = "odinsup odinsupAdapter"
  62.     NetRuleHardwareBindForm            = " yes yes container"
  63.     NetRuleHardwareClass                = {"odinsupAdapter basic"}
  64.  
  65.     ProductKeyName    = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion"
  66.     ParamKeyName    = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters"
  67.  
  68. [GeneralConstants]
  69.     from                = ""
  70.     to                    = ""
  71.     ExitCodeOk        = 0
  72.     ExitCodeCancel = 1
  73.     ExitCodeFatal    = 2
  74.     
  75.     KeyNull                    = ""
  76.     MAXIMUM_ALLOWED        = 33554432
  77.     RegistryErrorIndex    = NO_ERROR
  78.     KeyProduct                = ""
  79.     KeyParameters            = ""
  80.     
  81.     TRUE                        = 1
  82.     FALSE                        = 0
  83.     NoTitle                    = 0
  84.     
  85.     ExitState                = "Active"
  86.     OldVersionExisted        = $(FALSE)
  87.     
  88.     DriverPath                                    = $(!STF_NTPATH)\drivers
  89.     ProductSoftwareDescription                = "Novell IntranetWare ODI Support for NDIS Protocols Driver"
  90.     ProductHardwareODINSUPDescription    = "Novell IntranetWare ODI Support for NDIS Protocols Adapter"
  91.     
  92.     IRQList                = ^(IRQChoices, 1)
  93.     IRQValues            = ^(IRQChoices, 2)
  94.     IOBaseAddrList        = ^(IOBaseAddrChoices, 1)
  95.     IOBaseAddrValues    = ^(IOBaseAddrChoices, 2)
  96.  
  97.     Manufacturer            = "Novell"
  98.     ProductMajorVersion    = 4
  99.     ProductMinorVersion    = 00
  100.     ProductVersion            = $(ProductMajorVersion)"."$(ProductMinorVersion)
  101.  
  102. [date]
  103.     Now = {} ? $(!LIBHANDLE) GetSystemDate
  104.  
  105.  
  106. ;------------------------------------------------------------------------------
  107. ; 1. Identify    To verify that this INF deals with the smae type of options
  108. ;        as we are choosing currently.
  109. ;
  110. ; Input:    none
  111. ;
  112. ; Output:    $($R0):    STATUS:    STATUS_SUCCESSFUL
  113. ;        $($R1):    Option Type (COMPUTER ...)
  114. ;        $($R2):    Diskette Description
  115. ;------------------------------------------------------------------------------
  116. [Identify]
  117.     read-syms Identification
  118.     set Status     = STATUS_SUCCESSFUL
  119.     set Identifier = $(OptionType)
  120.     set Media        = #("Source Media Descriptions", 1, 1)
  121.  
  122.     Return $(Status) $(Identifier) $(Media)
  123.  
  124.  
  125. ;------------------------------------------------------------------------------
  126. ; 2. ReturnOptions    To return the option list supported by this INF and
  127. ;            the localized text list representing the options.
  128. ; Input:    $($0):    Lang. used (ENG | FRN | ....)
  129. ;
  130. ; Output:    $($R0):    STATUS:    STATUS_SUCCESSFUL    |
  131. ;                STATUS_NOLANGUAGE    |
  132. ;                STATUS_FAILED        |
  133. ;                STATUS_NOTSUPPORTED
  134. ;        $($R1):    Option List
  135. ;        $($R2):    Option Text List
  136. ;
  137. ;------------------------------------------------------------------------------
  138. [ReturnOptions]
  139.     set Status        = STATUS_FAILED
  140.     set OptionList        = {}
  141.     set OptionTextList    = {}
  142.  
  143.     ;
  144.     ; Check if the language requested is supported
  145.     ;
  146.  
  147.     set LanguageList    = ^(LanguagesSupported, 1)
  148.  
  149.     Ifcontains(i) $($0) in $(LanguageList)
  150.         ifstr(i) $($1) == ""
  151.             goto returnoptions
  152.         endif
  153.         set PlatformList    = ^(PlatformsSupported, 1)
  154.         Ifcontains(i) $($1) in $(PlatformList)
  155.             goto returnoptions
  156.         else
  157.             set Status    = STATUS_NOTSUPPORTED
  158.             goto finish_ReturnOptions
  159.         endif
  160.     else
  161.         set Status    = STATUS_NOLANGUAGE
  162.         goto finish_ReturnOptions
  163.     endif
  164.  
  165.     ;
  166.     ; form a list of all the options and another of the text representing
  167.     ;
  168.  
  169. returnoptions = +
  170.     set OptionList            = ^(Options, 1)
  171.     set OptionTextList    = ^(OptionsText$($0), 1)
  172.     set Status                = STATUS_SUCCESSFUL
  173.  
  174. finish_ReturnOptions = +
  175.     Return $(Status) $(OptionList) $(OptionTextList)
  176.  
  177.  
  178.  
  179. ;------------------------------------------------------------------------------
  180. ; 2. InstallOption    This section is shelled to by main installation processing
  181. ;
  182. ; Function:    To copy files representing Options
  183. ;        To configure the installed option
  184. ;        To update the Registry for the installed option
  185. ;
  186. ; Input:    $($0):    Lang. to use
  187. ;        $($1):    OptionID to install
  188. ;        $($2):    SourceDirectory
  189. ;        $($3):    AddCopy        ( YES | NO )
  190. ;        $($4):    DoCopy        ( YES | NO )
  191. ;        $($5):    DoConfig    ( YES | NO )
  192. ;
  193. ; Output:    $($R0):    STATUS:    STATUS_SUCCESSFUL    |
  194. ;                STATUS_NOLANGUAGE    |
  195. ;                STATUS_USERCANCEL    |
  196. ;                STATUS_FAILED        |
  197. ;                STATUS_NOTSUPPORTED
  198. ;
  199. ;------------------------------------------------------------------------------
  200.  
  201. [InstallOption]
  202.     set Status        = STATUS_FAILED
  203.     set Option        = $($1)
  204.     set !SrcDir        = $($2)
  205.     set !AddCopy    = $($3)
  206.     set !DoCopy        = $($4)
  207.     set !DoConfig    = $($5)
  208.  
  209.     ;
  210.     ; Check if the language requested is supported
  211.     ;
  212.  
  213.     set LanguageList = ^(LanguagesSupported, 1)
  214.     Ifcontains(i) $($0) in $(LanguageList)
  215.         goto installoption
  216.     else
  217.         set Status    = STATUS_NOLANGUAGE
  218.         goto finish_InstallOption
  219.     endif
  220.  
  221. installoption = +
  222.  
  223.     ;
  224.     ; Tell the common code that we're being called from "main install"
  225.     ;
  226.  
  227.     ifstr(i) $(!NTN_Origination) != "NCPA"
  228.         set !NTN_Origination = "install"
  229.     endif
  230.  
  231.     ;
  232.     ; Call the CommonSection
  233.     ;
  234.  
  235.     shell "" CommonSection $(Option)
  236.     set Status = $($R0)
  237.     ifstr(i) $($R1) != ""
  238.         set DriverToLoad = { $($R1) }
  239.     else
  240.         set DriverToLoad = ""
  241.     endif
  242.     Return $(Status) $(DriverToLoad)
  243.  
  244.  
  245. [NcpaInvocation]
  246.     set Option            = $(!NTN_InfOption)
  247.     set !SrcDir            = $(!STF_SRCDIR)
  248.     Ifstr(i) $(!NTN_InstallMode) == install
  249.         set !AddCopy    = YES
  250.         set !DoCopy        = YES
  251.         set !DoConfig     = YES
  252.     Else
  253.         set !AddCopy    = NO
  254.         set !DoCopy        = NO
  255.         set !DoConfig    = NO
  256.     Endif
  257.     shell "" CommonSection $(Option)
  258.     set Status = $($R0)
  259.     Return $(Status)
  260.  
  261.  
  262. [CommonSection]
  263.     StartWait
  264.     set Option        = $($0)
  265.     set-subst LF    = "\n"
  266.     read-syms GeneralConstants
  267.  
  268.     ;
  269.     ; Find what NLS directory is being used
  270.     ;
  271.  
  272.     set NovellParameters = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\Parameters"
  273.     Debug-OutPut "NovellParameters is "$(NovellParameters)
  274.     OpenRegKey $(!REG_H_LOCAL) "" $(NovellParameters) $(MAXIMUM_ALLOWED) KeyNovellParameters
  275.     ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
  276.         GetRegValue $(KeyNovellParameters) "NWLanguage" LanguageList
  277.         ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
  278.             set NLSDirName = *($(LanguageList), 4)
  279.         endif
  280.         CloseRegKey $(KeyNovellParameters)
  281.     Endif
  282.  
  283.     ;
  284.     ; Get NT version
  285.     ;
  286.  
  287.     set CurrentVersion = $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion"
  288.     OpenRegKey $(!REG_H_LOCAL) "" $(CurrentVersion) $(MAXIMUM_ALLOWED) CurrentVersionKey
  289.     ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
  290.         GetRegValue $(CurrentVersionKey) "CurrentVersion" VersionList
  291.         ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
  292.             set VersionListData = *($(VersionList), 4)
  293.             Split-string $(VersionListData) "." SplitVersionList
  294.             Set NTMajorVersion = *($(SplitVersionList), 1)
  295.             Set NTMinorVersion = *($(SplitVersionList), 3)
  296.  
  297.             Debug-OutPut "ODINSUP.INF: Windows NT current version is "$(VersionListData)
  298.             Debug-OutPut "ODINSUP.INF: Windows NT Major version is "$(NTMajorVersion)
  299.             Debug-OutPut "ODINSUP.INF: Windows NT Minor version is "$(NTMinorVersion)
  300.         else
  301.             Debug-Output "ODINSUP.INF:  Error getting NT version"
  302.         endif
  303.         CloseRegKey $(CurrentVersionKey)
  304.     else
  305.         Debug-Output "ODINSUP.INF:  Error opening "$(CurrentVersion)
  306.     endif
  307.  
  308.     read-syms FileConstants
  309.     read-syms DialogConstants$(!STF_LANGUAGE)
  310.     read-syms FileConstants$(!STF_LANGUAGE)
  311.     read-syms InstallOption$(!STF_LANGUAGE)
  312.     detect date
  313.     set-title $(FunctionTitle)
  314.     set to    = Begin
  315.     set from = Begin
  316.     set CommonStatus = STATUS_SUCCESSFUL
  317.     EndWait
  318. Begin = +
  319.     Debug-Output "ODINSUP.INF: Begin Install Mode = "$(!NTN_InstallMode)
  320.     Ifstr(i) $(!NTN_InstallMode) == deinstall
  321.         set StartLabel = removeadapter
  322.     else-Ifstr(i) $(!NTN_InstallMode) == Update
  323.         set StartLabel = UpgradeSoftware
  324.     else-Ifstr(i) $(!NTN_InstallMode) == bind
  325.         set StartLabel = bindingadapter
  326.     else-Ifstr(i) $(!NTN_InstallMode) == configure
  327.         set StartLabel = configureadapter
  328.         Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  329.             Debug-Output "ODINSUP.INF: Cannot configure the Novell ODINSUP driver software."
  330.             Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
  331.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  332.                 Debug-Output "ODINSUP.INF: ShellCode error: cannot get an error string."
  333.                 goto ShellCodeError
  334.             endif
  335.             set Error = $($R0)
  336.             set from = end
  337.             set to = end
  338.             goto Warning
  339.         endif
  340.     else
  341.         set StartLabel = installadapter
  342.         set OEM_ABANDON_OPTIONS = {}
  343.         set OEM_ABANDON_SOFTWARE = FALSE
  344.         set OEM_ABANDON_ON = TRUE
  345.     endif
  346.     set IRQValue = *($(IRQList), 2)
  347.     set IOBaseAddrValue = *($(IOBaseAddrList), 1)
  348.     set from = $(fatal)
  349.     set to = $(fatal)
  350.     goto $(StartLabel)
  351. installadapter = +
  352.     Debug-Output "ODINSUP.INF: installadapter "$(ProductKeyName)
  353.     OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  354.     Ifstr $(KeyProduct) != $(KeyNull)
  355.         CloseRegKey $(KeyProduct)
  356.         ifstr(i) $(!NTN_RegBase) == $(ProductKeyName)
  357.             Shell $(UtilityInf), VerExistedDlg, $(ProductSoftwareTitle),+
  358.             $(ProductVersion)
  359.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  360.                 Debug-Output $(!STF_ONTEXTINFNAME)": ShellCode error: cannot get an error string."
  361.                 goto ShellCodeError
  362.             endif
  363.             goto end
  364.         else
  365.             Shell $(UtilityInf), CardExistedDlg
  366.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  367.                 Debug-Output "ODINSUP.INF: ShellCode error: cannot get an error string."
  368.                 goto ShellCodeError
  369.             endif
  370.             ifstr(i) $($R1) != "OK"
  371.                 goto end
  372.             endif
  373.             set OldVersionExisted = $(TRUE)
  374.         endif
  375.     endif
  376.     goto adapteroptions
  377. configureadapter = +
  378.     Debug-Output "ODINSUP.INF: configureadapter"
  379.     Ifstr $(KeyProduct) == $(KeyNull)
  380.         OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) KeyProduct
  381.         Ifstr $(KeyProduct) == $(KeyNull)
  382.             set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  383.             Debug-Output "ODINSUP.INF: Cannot find component product key "$(!NTN_RegBase)
  384.             goto fatalregistry
  385.         Endif
  386.     Endif
  387.     Debug-Output "ODINSUP.INF: Shelling to FindService"
  388.     Shell $(UtilityInf) FindService, $(KeyProduct)
  389.     Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  390.         Debug-Output "ODINSUP.INF: FindService shell failure "$($ShellCode)
  391.         Goto ShellCodeError
  392.     Endif
  393.     Ifstr(i) $($R0) != NO_ERROR
  394.         Debug-Output "ODINSUP.INF: FindService Shell error: "$($R0)
  395.         Goto fatalregistry
  396.     endif
  397.     set KeyParameters = $($R2)
  398.     CloseRegKey $($R1)
  399.     Ifstr $(KeyParameters) == $(KeyNull)
  400.         set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  401.         Debug-Output "ODINSUP.INF: Cannot find component service"
  402.         goto fatalregistry
  403.     endif
  404.     set OldVersionExisted = $(TRUE)
  405.     set ValueName = ""
  406.     set ValueData = ""
  407.     set ValueStr    = ""
  408.     set ValueList = {}
  409.     Set OdiCurBindCardName = ""
  410.  
  411.     EnumRegValue $(KeyParameters) ValueList
  412.  
  413.     ForListDo $(ValueList)
  414.         set ValueItem = $($)
  415.         set ValueName = *($(ValueItem),1)
  416.         set ValueData = *($(ValueItem),4)
  417.         Ifstr(i) $(ValueName) == "InterruptNumber"
  418.             set IRQValueIndex = $(ValueData)
  419.         else-ifstr(i) $(ValueName) == "IoBaseAddress"
  420.             set IOBaseAddrIndex = $(ValueData)
  421.         else-ifstr(i) $(ValueName) == "Bind"
  422.             Set OdiCurBindCardName = $(ValueData)
  423.             Debug-Output "ODINSUP is Currently bound to "$(OdiCurBindCardName)
  424.         endif
  425.     EndForListDo
  426.     set IRQValue = *($(IRQList), ~($(IRQValues),$(IRQValueIndex)))
  427.     ifstr(i) $(IRQValue) == ""
  428.         set IRQValue = *($(IRQList), 2)
  429.     endif
  430.     set IOBaseAddrValue = *($(IOBaseAddrList), +
  431.         ~($(IOBaseAddrValues),$(IOBaseAddrIndex)))
  432.     ifstr(i) $(IOBaseAddrValue) == ""
  433.         set IOBaseAddrValue = *($(IOBaseAddrList), 1)
  434.     endif
  435.     goto adapteroptions
  436. adapteroptions = +
  437.     Debug-Output "ODINSUP.INF: adapteroptions, NTN_RegBase = "$(!NTN_RegBase)
  438.  
  439.     set from = adapteroptions
  440.     read-syms FileDependentDlg$(!STF_LANGUAGE)
  441.  
  442.     ;
  443.     ; In this block we will determine which installed ODI adapter to bind
  444.     ; ODINSUP too.  If multiple ODI adapters are install the user will be
  445.     ; allowed to select from a dialog box which adapter to bind too.
  446.     ;
  447.  
  448.     set NetworkCardsKeyName = $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards"
  449.  
  450.     OpenRegKey $(!REG_H_LOCAL) "" $(NetworkCardsKeyName) $(MAXIMUM_ALLOWED) NetCardsKey
  451.  
  452.     Ifstr(i) $(NetCardsKey) == ""
  453.         Debug-Output "Can't Open Registry key "$(NetworkCardsKeyName)
  454.         set CommonStatus = STATUS_USERCANCEL
  455.     Else
  456.  
  457.         ;
  458.         ; Get a list of all installed network cards
  459.         ;
  460.  
  461.         EnumRegKey $(NetCardsKey) NetCardsList
  462.  
  463.         ForListDo $(NetCardsList)
  464.             Set CardNumber = *($($), 1)
  465.             Ifstr(i) $(CardNumber) != ""
  466.                 Ifstr(i) $(FirstTime) == 1
  467.                     set CardList = $(CardNumber)
  468.                     Set FirstTime = 0
  469.                 Else
  470.                     set CardList = >($(CardList), $(CardNumber))
  471.                 Endif
  472.             Endif
  473.         EndForListDo
  474.  
  475.         Set FirstTime = 0
  476.  
  477.         ;
  478.         ; Run though the list of installed adapters and create a list of installed
  479.         ; ODI Adapters.
  480.         ;
  481.  
  482.         ForListDo $(CardList)
  483.             Set Card = $($)
  484.     
  485.             OpenRegKey $(NetCardsKey) "" $(Card) $(MAXIMUM_ALLOWED) CardKey
  486.             Ifstr(i) $(CardKey) == ""
  487.                 Debug-Output "ODINSUP.INF: Can't open card "$(Card)
  488.             Else
  489.                 GetRegValue $(CardKey) "OdiAdapter" OdiValueList
  490.                 Ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
  491.                     set OdiAdapter = *($(OdiValueList), 4)
  492.                     Ifstr(i) $(OdiAdapter) == "1"
  493.                         GetRegValue $(CardKey) "Title" OdiTitleValues
  494.                         Set OdiTitle = *($(OdiTitleValues), 4)
  495.                         GetRegValue $(CardKey) "ProductName" OdiNameValues
  496.                         Set OdiName = *($(OdiNameValues), 4)
  497.                         Ifstr(i) $(FirstTime) == 1
  498.                             Set OdiOnlyList = $(Card)
  499.                             Set OdiTitleList = $(OdiTitle)
  500.                             Set OdiCardList = $(OdiName)
  501.                             set FirstTime = 0
  502.                         Else
  503.                             set OdiOnlyList = >($(OdiOnlyList), $(Card))
  504.                             Set OdiTitleList = >($(OdiTitleList), $(OdiTitle))
  505.                             Set OdiCardList = >($(OdiCardList), $(OdiName))
  506.                             Set FirstTime = 2
  507.                         Endif
  508.                     Endif
  509.                 Endif
  510.     
  511.                 CloseRegKey $(CardKey)
  512.             Endif
  513.         EndForListDo
  514.     
  515.         Debug-Output "OdiCardList = "$(OdiCardList)
  516.         CloseRegKey $(NetCardsKey)
  517.     Endif
  518.  
  519.     ;
  520.     ; If there is only one ODI Adapter installed bind to that adapter otherwise
  521.     ; allow the user to select.
  522.     ;
  523.  
  524.     Ifstr(i) $(FirstTime) == 1
  525.         Debug-Output "ODINSUP.INF NO ODI Adapters installed."
  526.         set DlgType            = "MessageBox"
  527.         set STF_MB_TITLE    = $(NoODIAdapterInstalledTitle)
  528.         set STF_MB_TEXT    = $(NoODIAdapterInstalledText)
  529.         set STF_MB_TYPE    = 1
  530.         set STF_MB_ICON    = 3
  531.         set STF_MB_DEF        = 1
  532.         ui start "NoODIAdapter"
  533.     goto end
  534.     Endif
  535.  
  536.     Ifstr(i) $(FirstTime) == 0
  537.         Set OdiBindToAdapter = ""
  538.         Debug-Output "ODINSUP.INF: Only ONE ODI Adapter Installed "$(OdiBindToAdapter)
  539.     Else
  540.  
  541.         ;
  542.         ; allow the user the select the adapter to bind too.
  543.         ;
  544.  
  545.         Debug-Output "ODINSUP.INF More than one ODI Adapter "$(OdiCardList)
  546.         LoadLibrary $(LoadDisk2Text) $(!STF_WINDOWSSYSPATH)"\nls\"$(NLSDirName)"\nwsetupr.dll" NwLibHandle
  547.  
  548.         Ifstr(i) $(OdiCurBindCardName) != ""
  549.             Debug-Output "OdiCurBindCardName = "$(OdiCurBindCardName)
  550.             Set DefaultOdiTitle = *($(OdiTitleList), ~($(OdiCardList), $(OdiCurBindCardName)))
  551.         Endif
  552.  
  553.         Ifstr(i) $(DefaultOdiTitle) == ""
  554.             Set DefaultOdiTitle = *($(OdiTitleList), 1)
  555.         Endif
  556.  
  557.         Debug-Output "DefaultOdiTitle = "$(DefaultOdiTitle)
  558.         SetHelpFile $(!STF_WINDOWSSYSPATH)"\nls\"$(NLSDirName)"\nt4setup.hlp" $(!MinimumID) $(!MaximumID)
  559.         ifint $(NTMajorVersion) < "4"
  560.             SetHelpFile $(!STF_WINDOWSSYSPATH)"\nls\"$(NLSDirName)"\nt3setup.hlp" $(!MinimumID) $(!MaximumID)
  561.         endif
  562.  
  563.         read-syms OdinsupDlg$(!STF_LANGUAGE)
  564.         ui start "ODINSUP" $(NwLibHandle)
  565.         ui pop 1
  566.     
  567.         ifstr(i) $(DLGEVENT) == "BACK"
  568.             set AdapterSelected = ""
  569.         else
  570.             Set AdapterSelected = *($(DefaultOdiTitle), 1)
  571.         endif
  572.  
  573.         Debug-Output "AdapterSelected = "$(AdapterSelected)
  574.  
  575.         Ifstr(i) $(AdapterSelected) == ""
  576.             Debug-Output "ODINSUP.INF: Cancel Selected"
  577.             goto end
  578.         Else
  579.             Set OdiBindToAdapter = *($(OdiCardList), ~($(OdiTitleList), $(AdapterSelected)))
  580.         Endif
  581.  
  582.         FreeLibrary $(NwLibHandle)
  583.     Endif
  584.  
  585.     set IRQValueIndex = "3"
  586.     set IOBaseAddrIndex = "300"
  587.     goto nextstep
  588.  
  589. nextstep = +
  590.     ifint $(OldVersionExisted) == $(TRUE)
  591.         ifstr(i) $(!NTN_InstallMode) == configure
  592.             goto writeparameters
  593.         endif
  594.     endif
  595.     StartWait
  596.  
  597. installproduct = +
  598.     ifint $(OldVersionExisted) == $(FALSE)
  599.         Debug-Output "ODINSUP.INF: First Time Install"
  600.         Shell $(UtilityInf), AddSoftwareComponent +
  601.                 $(Manufacturer), +
  602.             $(ProductSoftwareName), +
  603.             $(ProductSoftwareName), +
  604.             $(ProductSoftwareTitle), +
  605.             $(STF_CONTEXTINFNAME), +
  606.             $(ProductSoftwareImagePath), +
  607.             "kerneldisable", +
  608. ;            "kernelautostart", +
  609.             "NDIS", +
  610.             {"+ODI Drivers"}, +
  611.             "", +
  612.             $(ODINetWareEventFile)
  613.  
  614.         Set OEM_ABANDON_SOFTWARE = TRUE
  615.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  616.             Debug-Output "ODINSUP.INF: AddSoftwareComponent ShellCode error "$($ShellCode)
  617.             goto ShellCodeError
  618.         endif
  619.         set RegistryErrorIndex = $($R0)
  620.         set KeyProduct        = $($R1)
  621.         Set SoftNetRulesKey = $($R2)
  622.         Set KeyLinkage    = $($R5)
  623.         SetRegValue $(KeyLinkage) {"OtherDependencies",$(NoTitle),$(!REG_VT_MULTI_SZ),{"+ODI Drivers"}}
  624.         CloseRegKey $($R3)
  625.         CloseRegKey $($R4)
  626.         CloseRegKey $($R5)
  627.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  628.             EndWait
  629.             Debug-Output "ODINSUP.INF: AddSoftwareComponent Registry error "$(RegistryErrorIndex)
  630.             CloseRegKey $(KeyProduct)
  631.             CloseRegKey $(SoftNetRulesKey)
  632.             goto fatalregistry
  633.         endif
  634.         set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
  635.                     {Hidden,$(NoTitle),$(!REG_VT_DWORD),1},+
  636.                     {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)},+
  637.                     {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)},+
  638.                     {Title,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareTitle)},+
  639.                     {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareDescription)},+
  640.                     {PathName,$(NoTitle),$(!REG_VT_SZ),$(!STF_CWDDIR)},+
  641.                     {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareName)},+
  642.                     {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  643.         shell $(UtilityInf), AddValueList, $(KeyProduct), $(NewValueList)
  644.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  645.             Debug-Output "ODINSUP.INF: AddValueList ShellCode error "$($ShellCode)
  646.             goto ShellCodeError
  647.         endif
  648.         set RegistryErrorIndex = $($R0)
  649.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  650.             EndWait
  651.             Debug-Output "ODINSUP.INF: AddValueList Registry error "$(RegistryErrorIndex)
  652.             CloseRegKey $(KeyProduct)
  653.             CloseRegKey $(SoftNetRulesKey)
  654.             goto fatalregistry
  655.         endif
  656.         set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareType)},+
  657.                     {use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareUse)}, +
  658.                     {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareBindForm)}, +
  659.                     {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareClass)}, +
  660.                     {bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareBindable)}, +
  661.                     {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}, +
  662.                     {Infname ,$(NoTitle),$(!REG_VT_SZ),$(STF_CONTEXTINFNAME)} }
  663.         shell $(UtilityInf), AddValueList, $(SoftNetRulesKey), $(NewValueList)
  664.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  665.             Debug-Output "ODINSUP.INF: AddValueList ShellCode error "$($ShellCode)
  666.             goto ShellCodeError
  667.         endif
  668.         set RegistryErrorIndex = $($R0)
  669.         CloseRegKey $(KeyProduct)
  670.         CloseRegKey $(SoftNetRulesKey)
  671.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  672.             EndWait
  673.             Debug-Output "ODINSUP.INF: AddValueList Registry error "$(RegistryErrorIndex)
  674.             goto fatalregistry
  675.         endif
  676.     endif
  677.  
  678.     ; add ODINSUP at board two or later
  679.     Shell $(UtilityInf), AddHardwareComponent, $(ProductHardwareName),$(STF_CONTEXTINFNAME),$(ProductKeyName),"","","2"
  680.     ifint $($R4) != -1
  681.         Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4))
  682.     endif
  683.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  684.         Debug-Output "ODINSUP.INF: AddHardwareComponent Shell error "$($ShellCode)
  685.         goto ShellCodeError
  686.     endif
  687.     set RegistryErrorIndex = $($R0)
  688.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  689.         EndWait
  690.         Debug-Output "ODINSUP.INF: AddHardwareComponent Registry error "$(RegistryErrorIndex)
  691.         CloseRegKey $($R1)
  692.         CloseRegKey $($R2)
  693.         CloseRegKey $($R3)
  694.         goto fatalregistry
  695.     endif
  696.     set KeyParameters = $($R3)
  697.     set KeyAdapterRules = $($R2)
  698.     set AdapterNumber = $($R4)
  699.     set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+
  700.                 {Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardware$(Option)Title)},+
  701.                 {Hidden,$(NoTitle),$(!REG_VT_DWORD),1},+
  702.                 {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardware$(Option)Description)},+
  703.                 {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+
  704.                 {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
  705.                 {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  706.     shell $(UtilityInf), AddValueList, $($R1), $(NewValueList)
  707.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  708.         Debug-Output "ODINSUP.INF: AddValueList ShellCode error "$($ShellCode)
  709.         goto ShellCodeError
  710.     endif
  711.     CloseRegKey $($R1)
  712.     set TempProdName = """"$(ProductHardwareName)$(AdapterNumber)""""
  713.     set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
  714.     set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardwareType)},+
  715.             {bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, +
  716.             {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardwareClass)}, +
  717.             {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}, +
  718.             {Infname ,$(NoTitle),$(!REG_VT_SZ),$(STF_CONTEXTINFNAME)}}
  719.     shell $(UtilityInf), AddValueList, $(KeyAdapterRules), $(NewValueList)
  720.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  721.         Debug-Output "ODINSUP.INF: AddValueList ShellCode error "$($ShellCode)
  722.         goto ShellCodeError
  723.     endif
  724.     set RegistryErrorIndex = $($R0)
  725.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  726.         EndWait
  727.         Debug-Output "ODINSUP.INF: AddValueList Registry error "$(RegistryErrorIndex)
  728.         CloseRegKey $(KeyParameters)
  729.         CloseRegKey $(KeyAdapterRules)
  730.         goto fatalregistry
  731.     endif
  732.  
  733.     CloseRegKey $(KeyAdapterRules)
  734.     goto writeparameters
  735.  
  736. writeparameters = +
  737.     Shell $(UtilityInf), GetBusTypeNum
  738.     set BusTypeNum = $($R1)
  739.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  740.         Debug-Output "OEMNADNX.INF: GetBusTypeNum ShellCode error "$($ShellCode)
  741.         goto ShellCodeError
  742.     endif
  743.  
  744.     set IRQValue = *($(IRQValues), ~($(IRQList),$(IRQValueIndex)))
  745.     set IOBaseAddrValue = *($(IOBaseAddrValues), +
  746.      ~($(IOBaseAddrList),$(IOBaseAddrIndex)))
  747. ;
  748. ; BUG, BUG Need to get OdinsupBindName from the registry, if more than one
  749. ; board is in the registry need to do a dialog box and allow the user to
  750. ; select the adapter.
  751. ;
  752. ; For now use the last adapter found that's not a Token Ring adapter since
  753. ; Odinsup does not support Token Ring at this time.
  754. ;
  755.  
  756. ;    set OdiModulesName = $(!NTN_ServiceBase)"\OdiLoad\ODI_Modules"
  757. ;    OpenRegKey $(!REG_H_LOCAL) "" $(OdiModulesName) $(MAXIMUM_ALLOWED) KeyOdiModules
  758. ;    Ifstr(i) $(KeyOdiModules) == ""
  759. ;        goto fatalregistry
  760. ;    Endif
  761. ;    EnumRegKey $(KeyOdiModules) CardList
  762. ;
  763. ;    CloseRegKey $(KeyOdiModules)
  764. ;
  765. ;    set OdinsupBindName = $(Odi"ne2000"
  766. ;
  767. ;    set FoundEtherCard = 0
  768. ;
  769. ;    ForListDo $(CardList)
  770. ;        set CardName = *($($),1)
  771. ;    Split-String $(CardName) " " CardNameParts
  772. ;    set CardBaseName = *($(CardNameParts),1)
  773. ;    Ifstr(i) CardBaseName != "Token"
  774. ;        set FoundEtherCard = 1
  775. ;        set OdinsupBindName = $(CardBaseName)
  776. ;        Debug-Output "ODINSUP.INF: Bind to adapter "$(CardBaseName)
  777. ;    Endif
  778. ;    EndForListDo
  779. ;
  780. ;    Ifint $(FoundEtherCard) == 0
  781. ;        Debug-Output "ODINSUP.INF: No ethernet adapters found"
  782. ;    Debug-Output "ODINSUP.INF: Odinsup will NOT work on Token Ring"
  783. ;    Endif
  784.  
  785.     ifstr(i) $(OdiBindToAdapter) == ""
  786.         set NewValueList = {{BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusTypeNum)},+
  787.                     {MediaType,$(NoTitle),$(!REG_VT_DWORD),1},+
  788.                     {BoardInstance,$(NoTitle),$(!REG_VT_DWORD),1} }
  789.     Else
  790.         set NewValueList = {{BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusTypeNum)},+
  791.                     {MediaType,$(NoTitle),$(!REG_VT_DWORD),1},+
  792.                     {Bind,$(NoTitle),$(!REG_VT_SZ),$(OdiBindToAdapter)},+
  793.                     {BoardInstance,$(NoTitle),$(!REG_VT_DWORD),1} }
  794.     Endif
  795.  
  796.     shell $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList)
  797.     CloseRegKey $(KeyParameters)
  798.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  799.         Debug-Output "ODINSUP.INF: AddValueList ShellCode error "$($ShellCode)
  800.         goto ShellCodeError
  801.     endif
  802.     set RegistryErrorIndex = $($R0)
  803.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  804.         Debug-Output "ODINSUP.INF: AddValueList Registry error "$(RegistryErrorIndex)
  805.         goto fatalregistry
  806.     endif
  807.     EndWait
  808.     Set DriverToLoad = $(ProductSoftwareName)
  809.     goto successful
  810.  
  811. bindingadapter =+
  812.     set Error = "Binding: Sorry, not yet implemented."
  813.     goto fatal
  814.  
  815. removeadapter = +
  816.     Debug-Output "ODINSUP.INF: removeadapter"
  817.     Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  818.         Debug-Output "ODINSUP.INF: RemoveSoftwareComponent"
  819.         Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  820.                 $(ProductSoftwareName)
  821.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  822.                 Debug-Output "ODINSUP.INF: RemoveSoftwareComponent ShellCode error "$($ShellCode)
  823.                 goto ShellCodeError
  824.         endif
  825.         set RegistryErrorIndex = $($R0)
  826.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  827.                 goto fatalregistry
  828.         endif
  829.     else
  830.         Debug-Output "ODINSUP.INF: RemoveHardwareComponent"
  831.         Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  832.             $(ProductSoftwareName), $(!NTN_RegBase)     
  833.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  834.             Debug-Output "ODINSUP.INF: RemoveHardwareComponent ShellCode error "$($ShellCode)
  835.             goto ShellCodeError
  836.         endif
  837.         set RegistryErrorIndex = $($R0)
  838.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  839.             goto fatalregistry
  840.         endif
  841.     endif
  842.     goto end
  843.  
  844. UpgradeSoftware = +
  845.     Debug-Output "ODINSUP.INF: UpgradeSoftware"
  846.     ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  847.         OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  848.         Ifstr $(KeyProduct) != $(KeyNull)
  849.             GetRegValue $(KeyProduct),"MajorVersion", VersionInfo
  850.             set Version = *($(VersionInfo), 4)
  851.             Split-String $(!NTN_Infname), "\", FilenameList
  852.             QueryListSize ListSize $(FilenameList)
  853.             set !UG_Filename = *($(FilenameList), $(ListSize))
  854.              install "Install-Update"
  855.              ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  856.                  goto fatal
  857.              endif
  858.             SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)}
  859.             SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)}
  860.             ifint $(Version) != $(ProductVersion)
  861.             endif
  862.             CloseRegKey $(KeyProduct)
  863.         else
  864.             goto fatalregistry
  865.         endif
  866.     else
  867.         OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) +
  868.             $(MAXIMUM_ALLOWED) NetworkCardKey
  869.         Ifstr(i) $(NetworkCardKey) != $(KeyNull)
  870.             GetRegValue $(NetworkCardKey),"ServiceName", ServiceNameInfo
  871.             set ServiceName = *($(ServiceNameInfo), 4)
  872.             OpenRegKey $(NetworkCardKey) "" "NetRules" +
  873.                 $(MAXIMUM_ALLOWED) NetRuleKey
  874.             Ifstr(i) $(NetRuleKey) == $(KeyNull)
  875.                 goto fatalregistry
  876.             endif
  877.             CloseRegKey $(NetRules)
  878.             CloseRegKey $(NetworkCardKey)
  879.         else
  880.             goto fatalregistry
  881.         endif
  882.         OpenRegKey $(!REG_H_LOCAL) "" +
  883.             $(!NTN_ServiceBase)"\"$(ServiceName) +
  884.             $(MAXIMUM_ALLOWED) ServiceKey
  885.         Ifstr(i) $(ServiceKey) != $(KeyNull)
  886.             CloseRegKey $(ServiceKey)
  887.         else
  888.             goto fatalregistry
  889.         endif
  890.     endif
  891.     goto end
  892.  
  893. successful = +
  894.     Debug-Output "ODINSUP.INF: Successful; installing [InstallOption], DoCopy = "$(!DoCopy)
  895.     goto installstep1
  896.  
  897. installstep1 = +
  898.     goto end
  899.  
  900. abandon = +
  901.     Debug-Output "ODINSUP.INF: abandon"
  902.     ForListDo $(OEM_ABANDON_OPTIONS)
  903.         Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  904.             $(ProductSoftwareName), $($)     
  905.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  906.             Debug-Output "ODINSUP.INF: RemoveHardwareComponent ShellCode error "$($ShellCode)
  907.             goto ShellCodeError
  908.         endif
  909.         set RegistryErrorIndex = $($R0)
  910.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  911.             goto fatalregistry
  912.         endif
  913.     EndForListDo
  914.     Ifstr(i) $(OEM_ABANDON_SOFTWARE) == TRUE
  915.         Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  916.             $(ProductSoftwareName), FALSE
  917.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  918.             Debug-Output "ODINSUP.INF: RemoveSoftwareComponent ShellCode error "$($ShellCode)
  919.             goto ShellCodeError
  920.         endif
  921.         set RegistryErrorIndex = $($R0)
  922.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  923.             goto fatalregistry
  924.         endif
  925.     endif
  926.     goto end
  927.  
  928. warning = +
  929.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
  930.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  931.         goto ShellCodeError
  932.     endif
  933.     ifstr(i) $($R1) == "OK"
  934.         goto $(to)
  935.     else-ifstr(i) $($R1) == "CANCEL"
  936.         goto $(from)
  937.     else
  938.         goto "end"
  939.     endif
  940.  
  941. nonfatal = +
  942.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "NONFATAL", $(Error)
  943.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  944.         goto ShellCodeError
  945.     endif
  946.     ifstr(i) $($R1) == "OK"
  947.         goto $(from)
  948.     else
  949.         goto "end"
  950.     endif
  951.  
  952. fatalregistry = +
  953.     Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
  954.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  955.         goto ShellCodeError
  956.     endif
  957.     set Error = $($R0)
  958.     goto fatal
  959.  
  960. fatal = +
  961.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
  962.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  963.         goto ShellCodeError
  964.     endif
  965.     goto setfailed
  966.  
  967. ShellCodeError = +
  968.     set DlgType            = "MessageBox"
  969.     set STF_MB_TITLE    = $(ShellCodeErrorTitle)
  970.     set STF_MB_TEXT    = $(ShellCodeErrorText)
  971.     set STF_MB_TYPE    = 1
  972.     set STF_MB_ICON    = 3
  973.     set STF_MB_DEF        = 1
  974.     ui start "ShellCodeError"
  975.     goto setfailed
  976.  
  977. setfailed = +
  978.     set CommonStatus = STATUS_FAILED
  979.     ifstr(i) $(OEM_ABANDON_ON) == TRUE
  980.         set OEM_ABANDON_ON = FALSE
  981.         goto abandon
  982.     endif
  983.     goto end
  984.  
  985. end = +
  986.     goto term
  987.  
  988. term = +
  989.     Return $(CommonStatus) $(DriverToLoad)
  990.  
  991.  
  992. [Install-Option]
  993.     set STF_VITAL = ""
  994.     ifstr(i) $(!AddCopy) == "YES"
  995.         AddSectionFilesToCopyList Files-$(Option) $(!STF_SRCDIR) $(!STF_WINDOWSSYSPATH)\drivers
  996.     endif
  997.  
  998.     ifstr(i) $(!DoCopy) == "YES"
  999.         CopyFilesInCopyList
  1000.     endif
  1001.  
  1002.     ifstr(i) $(!DoConfig) == "YES"
  1003.     endif
  1004.     Exit
  1005.  
  1006.  
  1007. [Install-Update]
  1008.     Debug-Output "ODINSUP.INF: Install-Update"
  1009.     set STF_VITAL     = ""
  1010.     set STF_OVERWRITE    = "VERIFYSOURCEOLDER"
  1011.     AddSectionFilesToCopyList Files-$(Option) $(!STF_SRCDIR) $(!STF_WINDOWSSYSPATH)\drivers
  1012.     AddSectionFilesToCopyList Files-Inf $(!STF_SRCDIR) $(!STF_WINDOWSSYSPATH)
  1013.     CopyFilesInCopyList
  1014.     exit
  1015.  
  1016.  
  1017. ;-----------------------------------------------------------------------
  1018. ; LANGUAGES SUPPORTED
  1019. ; -------------------
  1020. ;
  1021. ; The languages supported by the OEM INF, For every language supported
  1022. ; we need to have a separate text section for every displayable text
  1023. ; section.
  1024. ;
  1025. ;-----------------------------------------------------------------------
  1026.  
  1027. [LanguagesSupported]
  1028.     ENG, ENGLISH
  1029.  
  1030.  
  1031. [OptionsTextENG]
  1032.     ODINSUP     = "Novell IntranetWare ODI Support for NDIS Protocols Adapter (ODINSUP)"
  1033.  
  1034. [OdinsupDlgENG]
  1035.     IDH_NETWARENDISODI    =    907
  1036.     Help                        = "&Help"
  1037.     OK                            = "OK"
  1038.     Continue                    = "Continue"
  1039.     Cancel                    = "Cancel"
  1040.     Advanced                 = "&Advanced"
  1041.     DlgType                    = "RadioCombination"
  1042.     DlgTemplate             = "ONELIST"
  1043.     Caption                    = "NetWare NDIS over ODI (ODINSUP) Setup"
  1044.     Label1                    = "Installed ODI Adapters"
  1045.     EditTextIn                = ""
  1046.     EditTextLim                = ""
  1047.     CBOptionsGreyed        = {}
  1048.     HelpContext                = $(IDH_NETWARENDISODI)
  1049.     ComboListItemsIn        = { OdiTitleList }
  1050.     ComboListItemsOut        = { DefaultOdiTitle }
  1051.     NotifyFields            = { "NO" }
  1052.  
  1053. [FileConstantsENG]
  1054.     ProductSoftwareTitle            = "Novell IntranetWare ODI Support for NDIS Protocols Driver"
  1055.  
  1056.     ProductHardwareODINSUPTitle    = "Novell IntranetWare ODI Support for NDIS Protocols Adapter"
  1057.  
  1058.     ProCaption        = "Windows NT Setup"
  1059.     ProCancel        = "Cance&l"
  1060.     ProCancelMsg    = "Windows NT Networking is not correctly installed.  "+
  1061.                         "Are you sure you want to cancel copying files?"
  1062.     ProCancelCap    = "Network Setup Message"
  1063.     ProText1            = "Copying:"
  1064.     ProText2            = "To:"
  1065.  
  1066. [DialogConstantsENG]
  1067.     Help        = "&Help"
  1068.     Exit        = "&Cancel"
  1069.     OK            = "&OK"
  1070.     HelpContext = ""
  1071.     Continue    = "C&ontinue"
  1072.     Cancel        = "C&ancel"
  1073.  
  1074. [FileDependentDlgENG]
  1075.     DlgType                = "RadioCombination"
  1076.     DlgTemplate            = "ONELIST"
  1077.     Caption                = $(FunctionTitle)
  1078.     DlgText                = "Please select values for the following fields:"
  1079.     Label1                = "&IRQ Level:"
  1080.     Label2                = "I/O &Port Base Addr:"
  1081.     Combo1List            = $(IRQList)
  1082.     Combo1Out            = $(IRQValue)
  1083.     Combo2List            = $(IOBaseAddrList)
  1084.     Combo2Out            = $(IOBaseAddrValue)
  1085.     ComboListItemsIn    = {Combo1List, Combo2List}
  1086.     ComboListItemsOut    = {Combo1Out, Combo2Out}
  1087.     EditTextIn            = ""
  1088.     EditTextLim            = ""
  1089.     CBOptionsGreyed    = {}
  1090.     NotifyFields        = {NO, NO}
  1091.     HelpContext            = $(!IDH_DB_ODINSUP_INS)
  1092.  
  1093.  
  1094. ;----------InstallOptionENG-------------------------------------------------
  1095. ;
  1096. ; InstallOptionENG:
  1097. ;
  1098. ;     This section has all of the strings that are displayed on the screen.
  1099. ;        They are seperated so that the file can be easily transtated.
  1100. ;
  1101. ;------------------------------------------------------------------------
  1102. [InstallOptionENG]
  1103.     FunctionTitle = "Novell IntranetWare ODI Support for NDIS Setup"
  1104.  
  1105.     ShellCodeErrorTitle = "Error:  Novell IntranetWare ODI Support for NDIS Setup"
  1106.  
  1107.     ShellCodeErrorText = "Shell Code Error"
  1108.  
  1109.     NoODIAdapterInstalledTitle = "NetWare ODINSUP Setup"
  1110.  
  1111.     NoODIAdapterInstalledText = "There are NO ODI Adapters installed in "+
  1112.         "this Computer.  Please install an ODI Adapter and then install ODINSUP."
  1113.  
  1114.     LoadDisk2Text = "Please load the Novell NetWare Client for Windows NT "+
  1115.         "disk 2 into drive "
  1116.  
  1117.  
  1118. [Source Media Descriptions]
  1119.     1    = "Windows NT Setup Disk #1",                TAGFILE = disk1
  1120.     2    = "Windows NT Setup CD-ROM Disk",        TAGFILE = disk2
  1121.     3    = "NetWare for Windows NT Setup Disk",    TAGFILE = ODINSUP.SYS
  1122.  
  1123. [Files-Inf]
  1124.     3,    ODINSUP.inf,    SIZE=1000
  1125.  
  1126. [Files-ODINSUP]
  1127.     3,    odinsup.sys,    SIZE=72192
  1128.