home *** CD-ROM | disk | FTP | other *** search
/ Chip 1995 March / CHIP3.mdf / demo / backupex / drivers / mips / oemsetup.inf < prev    next >
Encoding:
INI File  |  1995-07-20  |  21.2 KB  |  587 lines

  1. ;-----------------------------------------------------------------------
  2. ; OPTION TYPE
  3. ; -----------
  4. ; This identifies the Option type we are dealing with.  The different
  5. ; possible types are:
  6. ;
  7. ; COMPUTER, VIDEO, POINTER, KEYBOARD, LAYOUT, SCSI, TAPE, PRINTER, ...
  8. ;-----------------------------------------------------------------------
  9.  
  10. [Identification]
  11.     OptionType = TAPE
  12.  
  13. ;-----------------------------------------------------------------------
  14. ; LANGUAGES SUPPORTED
  15. ; -------------------
  16. ;
  17. ; The languages supported by the INF, For every language supported
  18. ; we need to have a separate text section for every displayable text
  19. ; section.
  20. ;
  21. ;-----------------------------------------------------------------------
  22.  
  23. [LanguagesSupported]
  24.     ENG
  25.  
  26. ;-----------------------------------------------------------------------
  27. ; OPTION LIST
  28. ; -----------
  29. ; This section lists the Option key names.  These keys are locale
  30. ; independent and used to represent the option in a locale independent
  31. ; manner.
  32. ;
  33. ;-----------------------------------------------------------------------
  34.  
  35. [Options]
  36.     4MMDAT---ARCADA-950517 = 4mmdat-arcada
  37.     4MMSONY--ARCADA-950517 = 4mmsony-arcada
  38.     ARCHQIC--ARCADA-950517 = archqic-arcada
  39.     CONRMQIC-ARCADA-950517 = conrmqic-arcada
  40.     DLTTAPE--ARCADA-950517 = dlttape-arcada
  41.     EXABMQIC-ARCADA-950517 = exabmqic-arcada
  42.     EXABYTE1-ARCADA-950517 = exabyte1-arcada
  43.     EXABYTE2-ARCADA-950517 = exabyte2-arcada
  44.     TANDMQIC-ARCADA-950517 = tandmqic-arcada
  45.     TANDQIC--ARCADA-950517 = tandqic-arcada
  46.     WANGQIC--ARCADA-950517 = wangqic-arcada
  47.     WANGQIC2-ARCADA-950517 = wangqic2-arcada
  48.  
  49. ;-----------------------------------------------------------------------
  50. ; OPTION TEXT SECTION
  51. ; -------------------
  52. ; These are text strings used to identify the option to the user.  There
  53. ; are separate sections for each language supported.  The format of the
  54. ; section name is "OptionsText" concatenated with the Language represented
  55. ; by the section.
  56. ;
  57. ;-----------------------------------------------------------------------
  58.  
  59. [OptionsTextENG]
  60.     4MMDAT---ARCADA-950517 = "Arcada 4mmdat   05/95 (4mm DAT drives, all except Sony)"
  61.     4MMSONY--ARCADA-950517 = "Arcada 4mmsony  05/95 (4mm DAT drives, all Sony)"
  62.     ARCHQIC--ARCADA-950517 = "Arcada archqic  05/95 (Conner/Archive QIC SCSI drives, all)"
  63.     CONRMQIC-ARCADA-950517 = "Arcada conrmqic 05/95 (Conner mini data cartridge SCSI drives)"
  64.     DLTTAPE--ARCADA-950517 = "Arcada dlttape  05/95 (DEC/Cipher DLT SCSI drives, all)"
  65.     EXABMQIC-ARCADA-950517 = "Arcada exabmqic 05/95 (Exabyte mini data cartridge SCSI drives)"
  66.     EXABYTE1-ARCADA-950517 = "Arcada exabyte1 05/95 (Exabyte 82xx SCSI drives, all)"
  67.     EXABYTE2-ARCADA-950517 = "Arcada exabyte2 05/95 (Exabyte 85xx SCSI drives, all)"
  68.     TANDMQIC-ARCADA-950517 = "Arcada tandmqic 05/95 (Tandberg Data mini data cartridge SCSI drives)"
  69.     TANDQIC--ARCADA-950517 = "Arcada tandqic  05/95 (Tandberg Data QIC SCSI drives, all)"
  70.     WANGQIC--ARCADA-950517 = "Arcada wangqic  05/95 (WANGTEK QIC SCSI drives, all except 9500)"
  71.     WANGQIC2-ARCADA-950517 = "Arcada wangqic2 05/95 (WANGTEK 9500 QIC SCSI drive)"
  72.  
  73. ;-----------------------------------------------------------------------------------------
  74. ; TAPE CLASS DRIVERS:
  75. ;
  76. ; Order of the information:
  77. ;
  78. ; Class driver = Type, Group, ErrorControl, Dependencies, EventMessageFile, TypesSupported
  79. ;
  80. ; NOTE: \ in the dependency list means that the dependency is on a group.
  81. ;-----------------------------------------------------------------------------------------
  82.  
  83. [ClassDrivers]
  84.     4mmdat-arcada   = !SERVICE_KERNEL_DRIVER, "SCSI Class" , !SERVICE_ERROR_NORMAL, "\SCSI Miniport", "%SystemRoot%\System32\IoLogMsg.dll;%SystemRoot%\System32\drivers\4mmdat.sys"  , 7
  85.     4mmsony-arcada  = !SERVICE_KERNEL_DRIVER, "SCSI Class" , !SERVICE_ERROR_NORMAL, "\SCSI Miniport", "%SystemRoot%\System32\IoLogMsg.dll;%SystemRoot%\System32\drivers\4mmsony.sys" , 7
  86.     archqic-arcada  = !SERVICE_KERNEL_DRIVER, "SCSI Class" , !SERVICE_ERROR_NORMAL, "\SCSI Miniport", "%SystemRoot%\System32\IoLogMsg.dll;%SystemRoot%\System32\drivers\archqic.sys" , 7
  87.     conrmqic-arcada = !SERVICE_KERNEL_DRIVER, "SCSI Class" , !SERVICE_ERROR_NORMAL, "\SCSI Miniport", "%SystemRoot%\System32\IoLogMsg.dll;%SystemRoot%\System32\drivers\conrmqic.sys", 7
  88.     dlttape-arcada  = !SERVICE_KERNEL_DRIVER, "SCSI Class" , !SERVICE_ERROR_NORMAL, "\SCSI Miniport", "%SystemRoot%\System32\IoLogMsg.dll;%SystemRoot%\System32\drivers\dlttape.sys" , 7
  89.     exabmqic-arcada = !SERVICE_KERNEL_DRIVER, "SCSI Class" , !SERVICE_ERROR_NORMAL, "\SCSI Miniport", "%SystemRoot%\System32\IoLogMsg.dll;%SystemRoot%\System32\drivers\exabmqic.sys", 7
  90.     exabyte1-arcada = !SERVICE_KERNEL_DRIVER, "SCSI Class" , !SERVICE_ERROR_NORMAL, "\SCSI Miniport", "%SystemRoot%\System32\IoLogMsg.dll;%SystemRoot%\System32\drivers\exabyte1.sys", 7
  91.     exabyte2-arcada = !SERVICE_KERNEL_DRIVER, "SCSI Class" , !SERVICE_ERROR_NORMAL, "\SCSI Miniport", "%SystemRoot%\System32\IoLogMsg.dll;%SystemRoot%\System32\drivers\exabyte2.sys", 7
  92.     tandmqic-arcada = !SERVICE_KERNEL_DRIVER, "SCSI Class" , !SERVICE_ERROR_NORMAL, "\SCSI Miniport", "%SystemRoot%\System32\IoLogMsg.dll;%SystemRoot%\System32\drivers\tandmqic.sys", 7
  93.     tandqic-arcada  = !SERVICE_KERNEL_DRIVER, "SCSI Class" , !SERVICE_ERROR_NORMAL, "\SCSI Miniport", "%SystemRoot%\System32\IoLogMsg.dll;%SystemRoot%\System32\drivers\tandqic.sys" , 7
  94.     wangqic-arcada  = !SERVICE_KERNEL_DRIVER, "SCSI Class" , !SERVICE_ERROR_NORMAL, "\SCSI Miniport", "%SystemRoot%\System32\IoLogMsg.dll;%SystemRoot%\System32\drivers\wangqic.sys" , 7
  95.     wangqic2-arcada = !SERVICE_KERNEL_DRIVER, "SCSI Class" , !SERVICE_ERROR_NORMAL, "\SCSI Miniport", "%SystemRoot%\System32\IoLogMsg.dll;%SystemRoot%\System32\drivers\wangqic2.sys" , 7
  96.  
  97.  
  98. ;---------------------------------------------------------------------------
  99. ; 1. Identify
  100. ;
  101. ; DESCRIPTION:   To verify that this INF deals with the same type of options
  102. ;                as we are choosing currently.
  103. ;
  104. ; INPUT:         None
  105. ;
  106. ; OUTPUT:        $($R0): STATUS: STATUS_SUCCESSFUL
  107. ;                $($R1): Option Type (COMPUTER ...)
  108. ;                $($R2): Diskette description
  109. ;---------------------------------------------------------------------------
  110.  
  111. [Identify]
  112.     ;
  113.     ;
  114.     read-syms Identification
  115.  
  116.     set Status     = STATUS_SUCCESSFUL
  117.     set Identifier = $(OptionType)
  118.     set Media      = #("Source Media Descriptions", 1, 1)
  119.  
  120.     Return $(Status) $(Identifier) $(Media)
  121.  
  122.  
  123.  
  124. ;------------------------------------------------------------------------
  125. ; 2. ReturnOptions:
  126. ;
  127. ; DESCRIPTION:   To return the option list supported by this INF and the
  128. ;                localised text list representing the options.
  129. ;
  130. ;
  131. ; INPUT:         $($0):  Language used. ( ENG | FRN | ... )
  132. ;
  133. ; OUTPUT:        $($R0): STATUS: STATUS_SUCCESSFUL |
  134. ;                                STATUS_NOLANGUAGE
  135. ;                                STATUS_FAILED
  136. ;
  137. ;                $($R1): Option List
  138. ;                $($R2): Option Text List
  139. ;------------------------------------------------------------------------
  140.  
  141. [ReturnOptions]
  142.     ;
  143.     ;
  144.     set Status        = STATUS_FAILED
  145.     set OptionList     = {}
  146.     set OptionTextList = {}
  147.  
  148.     ;
  149.     ; Check if the language requested is supported
  150.     ;
  151.     set LanguageList = ^(LanguagesSupported, 1)
  152.     Ifcontains(i) $($0) in $(LanguageList)
  153.         goto returnoptions
  154.     else
  155.         set Status = STATUS_NOLANGUAGE
  156.         goto finish_ReturnOptions
  157.     endif
  158.  
  159.     ;
  160.     ; form a list of all the options and another of the text representing
  161.     ;
  162.  
  163. returnoptions = +
  164.     set OptionList     = ^(Options, 0)
  165.     set OptionTextList = ^(OptionsText$($0), 1)
  166.     set Status         = STATUS_SUCCESSFUL
  167.  
  168. finish_ReturnOptions = +
  169.     Return $(Status) $(OptionList) $(OptionTextList)
  170.  
  171.  
  172. ;------------------------------------------------------------------------
  173. ; 3. InstallOption:
  174. ;
  175. ; FUNCTION:  To copy files representing Options
  176. ;            To configure the installed option
  177. ;            To update the registry for the installed option
  178. ;
  179. ; INPUT:     $($0):  Language to use
  180. ;            $($1):  OptionID to install
  181. ;            $($2):  SourceDirectory
  182. ;            $($3):  AddCopy  (YES | NO)
  183. ;            $($4):  DoCopy   (YES | NO)
  184. ;            $($5):  DoConfig (YES | NO)
  185. ;
  186. ; OUTPUT:    $($R0): STATUS: STATUS_SUCCESSFUL |
  187. ;                            STATUS_NOLANGUAGE |
  188. ;                            STATUS_USERCANCEL |
  189. ;                            STATUS_FAILED
  190. ;------------------------------------------------------------------------
  191.  
  192. [InstallOption]
  193.  
  194.     ;
  195.     ; Set default values for
  196.     ;
  197.     set Status   = STATUS_FAILED
  198.     set DrivesToFree = {}
  199.  
  200.     ;
  201.     ; Check if NONE or UNKNOWN
  202.     ;
  203.     ifstr(i) $($1) == NONE
  204.         set Status = STATUS_SUCCESSFUL
  205.         goto finish_InstallOption
  206.     else-ifstr(i) $($1) == UNKNOWN
  207.         set Status = STATUS_SUCCESSFUL
  208.         goto finish_InstallOption
  209.     endif
  210.  
  211.     ;
  212.     ; extract parameters
  213.     ;
  214.     set Option   = $($1)
  215.     set SrcDir   = $($2)
  216.     set AddCopy  = $($3)
  217.     set DoCopy   = $($4)
  218.     set DoConfig = $($5)
  219.  
  220.     ;
  221.     ; Check if the language requested is supported
  222.     ;
  223.     set LanguageList = ^(LanguagesSupported, 1)
  224.     Ifcontains(i) $($0) in $(LanguageList)
  225.     else
  226.         set Status = STATUS_NOLANGUAGE
  227.         goto finish_InstallOption
  228.     endif
  229.     read-syms Strings$($0)
  230.  
  231.     ;
  232.     ; check to see if Option is supported.
  233.     ;
  234.  
  235.     set OptionList = ^(Options, 0)
  236.     ifcontains $(Option) in $(OptionList)
  237.     else
  238.         goto finish_InstallOption
  239.     endif
  240.     set OptionList = ""
  241.  
  242.     ;
  243.     ; Option has been defined already
  244.     ;
  245.  
  246.     set ClassDriver      =   #(Options,      $(Option),      1)
  247.     set Type             = $(#(ClassDrivers, $(ClassDriver), 1))
  248.     set Group            =   #(ClassDrivers, $(ClassDriver), 2)
  249.     set ErrorControl     = $(#(ClassDrivers, $(ClassDriver), 3))
  250.     set Dependencies     =   #(ClassDrivers, $(ClassDriver), 4)
  251.     set EventMessageFile =   #(ClassDrivers, $(ClassDriver), 5)
  252.     set TypesSupported   =   #(ClassDrivers, $(ClassDriver), 6)
  253.  
  254. installtheoption = +
  255.  
  256.     ;
  257.     ; Code to add files to copy list
  258.     ;
  259.  
  260.     ifstr(i) $(AddCopy) == "YES"
  261.         set DoActualCopy = NO
  262.         set FileToCheck = #(Files-TapeClassDrivers, $(ClassDriver), 2)
  263.         LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(!STF_WINDOWSSYSPATH)"\drivers\"$(FileToCheck)
  264.         ifstr(i) $(STATUS) == NO
  265.             set DoActualCopy = YES
  266.         endif
  267.  
  268.         ifstr(i) $(DoActualCopy) == NO
  269.             shell "subroutn.inf" DriversExist $($0) $(String1)
  270.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  271.                 Debug-Output "TAPE.INF: shelling DriversExist failed"
  272.                 goto finish_InstallOption
  273.             endif
  274.  
  275.             ifstr(i) $($R0) == STATUS_CURRENT
  276.             else-ifstr(i) $($R0) == STATUS_NEW
  277.                 set DoActualCopy = YES
  278.             else-ifstr(i) $($R0) == STATUS_USERCANCEL
  279.                 Debug-Output "TAPE.INF: User cancelled Tape installation"
  280.                 goto finish_InstallOption
  281.             else
  282.                 Debug-Output "TAPE.INF: Error reported in DriversExist routine in SUBROUTN.INF"
  283.                 goto finish_InstallOption
  284.             endif
  285.         endif
  286.  
  287.         ifstr(i) $(DoActualCopy) == YES
  288.  
  289.             shell "subroutn.inf" DoAskSourceEx $(SrcDir) $(String2)
  290.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  291.                 Debug-Output "TAPE.INF: shelling DoAskSource failed"
  292.                 goto finish_InstallOption
  293.             endif
  294.  
  295.             ifstr(i) $($R0) == STATUS_SUCCESSFUL
  296.                 set SrcDir = $($R1)
  297.                 ifstr(i) $($R2) != ""
  298.                     set DrivesToFree = >($(DrivesToFree), $($R2))
  299.                 endif
  300.             else
  301.                 Debug-Output "TAPE.INF: User cancelled asking source."
  302.                 goto finish_InstallOption
  303.             endif
  304.  
  305.             install Install-AddCopyOption
  306.             ifstr(i) $(STF_INSTALL_OUTCOME) != "STF_SUCCESS"
  307.                 Debug-Output "Adding mouse files to copy list failed"
  308.                 goto finish_InstallOption
  309.             endif
  310.         else
  311.             set DoCopy = NO
  312.         endif
  313.  
  314.     endif
  315.  
  316.     ifstr(i) $(DoCopy) == "YES"
  317.         read-syms ProgressCopy$($0)
  318.         install Install-DoCopyOption
  319.         ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_FAILURE"
  320.             Debug-Output "Copying files failed"
  321.             goto finish_InstallOption
  322.         else-ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_USERQUIT"
  323.             set Status = STATUS_USERCANCEL
  324.             goto finish_InstallOption
  325.         endif
  326.     endif
  327.  
  328.     ifstr(i) $(DoConfig) == "YES"
  329.         ;
  330.         ; first run a privilege check on modifying the setup node
  331.         ;
  332.  
  333.         shell "registry.inf" CheckSetupModify
  334.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  335.             goto finish_InstallOption
  336.         endif
  337.  
  338.         ifstr(i) $($R0) != STATUS_SUCCESSFUL
  339.             goto finish_InstallOption
  340.         endif
  341.  
  342.         ;
  343.         ; then make a new tape entry, the entry is created automatically
  344.         ; enabled
  345.         ;
  346.  
  347.         set ServiceNode      = $(ClassDriver)
  348.         set ServiceBinary = %SystemRoot%\System32\drivers\#(Files-TapeClassDrivers, $(ClassDriver), 2)
  349.  
  350.         set ServicesValues   = { +
  351.                 {Type,           0, $(!REG_VT_DWORD),     $(Type)                  }, +
  352.                 {Start,          0, $(!REG_VT_DWORD),     $(!SERVICE_SYSTEM_START) }, +
  353.                 {Group,          0, $(!REG_VT_SZ),        $(Group)                 }, +
  354.                 {ErrorControl,   0, $(!REG_VT_DWORD),     $(ErrorControl)          }, +
  355.                 {Dependencies,   0, $(!REG_VT_MULTI_SZ),  {$(Dependencies)}        }, +
  356.                 {BinaryPathName, 0, $(!REG_VT_EXPAND_SZ), $(ServiceBinary)         }  +
  357.                 }
  358.         set ParametersValues = ""
  359.         set DeviceValues     = {}
  360.         set EventLogValues   = { +
  361.                 {EventMessageFile, 0, $(!REG_VT_EXPAND_SZ), $(EventMessageFile) }, +
  362.                 {TypesSupported,   0, $(!REG_VT_DWORD),     $(TypesSupported)   }  +
  363.                 }
  364.  
  365.  
  366.         shell "registry.inf"  MakeServicesEntry $(ServiceNode)      +
  367.                                                 $(ServicesValues)   +
  368.                                                 $(ParametersValues) +
  369.                                                 $(DeviceValues)     +
  370.                                                 $(EventLogValues)   +
  371.                                                 Parameters
  372.  
  373.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  374.             Debug-Output "Couldn't execute MakeServicesEntry in registry.inf"
  375.             goto finish_InstallOption
  376.         endif
  377.  
  378.         ifstr(i) $($R0) != STATUS_SUCCESSFUL
  379.             Debug-Output "MakeServicesEntry failed for tape"
  380.             goto finish_InstallOption
  381.         endif
  382.  
  383.     endif
  384.  
  385.     set Status = STATUS_SUCCESSFUL
  386. finish_InstallOption = +
  387.     ForListDo $(DrivesToFree)
  388.         LibraryProcedure STATUS,$(!LIBHANDLE), DeleteNetConnection $($) "TRUE"
  389.     EndForListDo
  390.  
  391.     Return $(Status)
  392.  
  393.  
  394. [Install-AddCopyOption]
  395.  
  396.     ;
  397.     ; Add the files to the copy list
  398.     ;
  399.     AddSectionKeyFileToCopyList   Files-TapeClassDrivers         +
  400.                                   $(ClassDriver)                 +
  401.                                   $(SrcDir)                      +
  402.                                   $(!STF_WINDOWSSYSPATH)\drivers
  403.  
  404.     exit
  405.  
  406.  
  407. [Install-DoCopyOption]
  408.  
  409.     ;
  410.     ; Copy files in the copy list
  411.     ;
  412.     CopyFilesInCopyList
  413.     exit
  414.  
  415.  
  416. ;-------------------------------------------------------------------------
  417. ; 4. DeInstallOption:
  418. ;
  419. ; FUNCTION:  To remove files representing Option
  420. ;            To remove the registry entry corresponding to the Option
  421. ;
  422. ; INPUT:     $($0):  Language to use
  423. ;            $($1):  OptionID to install
  424. ;
  425. ; OUTPUT:    $($R0): STATUS: STATUS_SUCCESSFUL |
  426. ;                            STATUS_NOLANGUAGE |
  427. ;                            STATUS_USERCANCEL |
  428. ;                            STATUS_FAILED
  429. ;-------------------------------------------------------------------------
  430. [DeInstallOption]
  431.     ;
  432.     ; Set default values for
  433.     ;
  434.     set Status   = STATUS_FAILED
  435.  
  436.     ;
  437.     ; extract parameters
  438.     ;
  439.     set Option   = $($1)
  440.  
  441.     ;
  442.     ; Check if the language requested is supported
  443.     ;
  444.     set LanguageList = ^(LanguagesSupported, 1)
  445.     Ifcontains(i) $($0) in $(LanguageList)
  446.     else
  447.         set Status = STATUS_NOLANGUAGE
  448.         goto finish_DeInstallOption
  449.     endif
  450.     read-syms Strings$($0)
  451.  
  452.     ;
  453.     ; check to see if Option is supported.
  454.     ;
  455.  
  456.     set OptionList = ^(Options, 0)
  457.     ifcontains $(Option) in $(OptionList)
  458.     else
  459.         goto finish_DeInstallOption
  460.     endif
  461.     set OptionList = ""
  462.  
  463.     ;
  464.     ; fetch details about option
  465.     ;
  466.  
  467.     set ClassDriver = #(Options, $(Option), 1)
  468.     set ClassFile   = #(Files-TapeClassDrivers, $(ClassDriver), 2)
  469.     set FilePath       = $(!STF_WINDOWSSYSPATH)"\drivers\"$(ClassFile)
  470.  
  471.     ;
  472.     ; disable the registry entry
  473.     ;
  474.  
  475.     shell "registry.inf" RemoveServicesEntry $(ClassDriver)
  476.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  477.         Debug-Output "TAPE.INF: Failed to shell RemoveServicesEntry"
  478.         goto finish_DeInstallOption
  479.     endif
  480.  
  481.     ifstr(i) $($R0) != STATUS_SUCCESSFUL
  482.         Debug-Output "TAPE.INF: Failed to disable services entry"
  483.         goto finish_DeInstallOption
  484.     endif
  485.  
  486.     ;
  487.     ; we won't remove the file because we can only do so during the next boot.
  488.     ; if the user chooses to reinstall the same driver during this boot
  489.     ; he will still end up deleting the driver on next boot. if the file
  490.     ; should be deleted a warning should be put up saying that the user should
  491.     ; not try to reinstall the driver during this boot
  492.     ;
  493.     ;    AddFileToDeleteList $(FilePath)
  494.  
  495.  
  496.     set Status = STATUS_SUCCESSFUL
  497.  
  498. finish_DeInstallOption =+
  499.     return $(Status)
  500.  
  501.  
  502. ;-------------------------------------------------------------------------
  503. ; 5. GetInstalledOptions:
  504. ;
  505. ; FUNCTION:  To find out the list of options which are installed
  506. ;
  507. ; INPUT:     $($0): Language to Use
  508. ;
  509. ; OUTPUT:    $($R0): STATUS: STATUS_SUCCESSFUL |
  510. ;                            STATUS_FAILED
  511. ;
  512. ;            $($R1): List of options installed
  513. ;            $($R2): Option installed Text List
  514. ;-------------------------------------------------------------------------
  515. [GetInstalledOptions]
  516.     set Status = STATUS_FAILED
  517.     set InstalledOptions = {}
  518.     set InstalledOptionsText = {}
  519.  
  520.     ;
  521.     ; Check if the language requested is supported
  522.     ;
  523.     set LanguageList = ^(LanguagesSupported, 1)
  524.     Ifcontains(i) $($0) in $(LanguageList)
  525.     else
  526.         set Status = STATUS_NOLANGUAGE
  527.         goto finish_GetInstalledOptions
  528.     endif
  529.  
  530.     set OptionList = ^(Options, 0)
  531.     ForListDo $(OptionList)
  532.         set ClassDriver = #(Options, $($), 1)
  533.         set ClassFile   = #(Files-TapeClassDrivers, $(ClassDriver), 2)
  534.         set FilePath       = $(!STF_WINDOWSSYSPATH)"\drivers\"$(ClassFile)
  535.         LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(FilePath)
  536.         ifstr(i) $(STATUS) == "YES"
  537.             shell "registry.inf" GetServicesEntryStart $(ClassDriver)
  538.             ifint $($ShellCode) == $(!SHELL_CODE_OK)
  539.                 ifstr(i) $($R0) == STATUS_SUCCESSFUL
  540.                     ifstr(i) $($R1) != $(!SERVICE_DISABLED)
  541.                         set OptionText = #(OptionsText$($0), $($), 1)
  542.                         set InstalledOptions     = >($(InstalledOptions), $($))
  543.                         set InstalledOptionsText = >($(InstalledOptionsText), $(OptionText))
  544.                     endif
  545.                 endif
  546.             endif
  547.         endif
  548.     EndForListDo
  549.     set Status = STATUS_SUCCESSFUL
  550. finish_GetInstalledOptions =+
  551.     Return $(Status) $(InstalledOptions) $(InstalledOptionsText)
  552.  
  553. ;**************************************************************************
  554. ; PROGRESS GUAGE VARIABLES
  555. ;**************************************************************************
  556.  
  557. [ProgressCopyENG]
  558.     ProCaption   = "Windows NT Setup"
  559.     ProCancel    = "Cancel"
  560.     ProCancelMsg = "Windows NT is not correcly installed.  Are you sure you want "+
  561.                    "to cancel copying files?"
  562.     ProCancelCap = "Setup Message"
  563.     ProText1     = "Copying:"
  564.     ProText2     = "To:"
  565.  
  566. [StringsENG]
  567.     String1 = "Tape Device"
  568.     String2 = "Please enter the full path to the OEM Tape Device "+
  569.               "files.  Then choose Continue."
  570.  
  571. [Source Media Descriptions]
  572.     1  = "OEM DISK (TAPE)"  , TAGFILE = disk1
  573.  
  574. [Files-TapeClassDrivers]
  575. 4mmdat-arcada = 1, 4mmdat.sys, SIZE=999
  576. 4mmsony-arcada = 1, 4mmsony.sys, SIZE=999
  577. archqic-arcada = 1, archqic.sys, SIZE=999
  578. conrmqic-arcada = 1, conrmqic.sys, SIZE=999
  579. dlttape-arcada = 1, dlttape.sys, SIZE=999
  580. exabmqic-arcada = 1, exabmqic.sys, SIZE=999
  581. exabyte1-arcada = 1, exabyte1.sys, SIZE=999
  582. exabyte2-arcada = 1, exabyte2.sys, SIZE=999
  583. tandmqic-arcada = 1, tandmqic.sys, SIZE=999
  584. tandqic-arcada = 1, tandqic.sys, SIZE=999
  585. wangqic-arcada = 1, wangqic.sys, SIZE=999
  586. wangqic2-arcada = 1, wangqic2.sys, SIZE=999
  587.