home *** CD-ROM | disk | FTP | other *** search
/ Inside Multimedia 1996 September / IMM0996.ISO / driver / diamond.mm / diamond / speedsta / ss64 / ss64ut.exe / OEMSETUP.INF < prev    next >
INI File  |  1994-09-16  |  22KB  |  619 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, MOUSE, KEYBOARD, LAYOUT, SCSI, PRINTER, ...
  8. ;-----------------------------------------------------------------------
  9.  
  10. [Identification]
  11.     OptionType = VIDEO
  12.  
  13. ;-----------------------------------------------------------------------
  14. ; LANGUAGES SUPPORTED
  15. ; -------------------
  16. ;
  17. ; The languages supported by the OEM 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 OEM 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. ;
  36. ; Option list order: Option = Miniport driver, BitsPerPel, XResolution, YResolution, VRefresh, Interlaced
  37. ;
  38. ; If you don't want to create a VRefresh or Interlaced value under the service
  39. ; parameters then use the value ""
  40. ;
  41. ;               Version=1.00a
  42.     
  43. [Options]
  44.     "sALP640x480x4x60"    = ssalpine, 4, 640,  480, 60, 0
  45.     "sALP640x480x4x75"    = ssalpine, 4, 640,  480, 75, 0
  46.     "sALP640x480x8x60"    = ssalpine, 8, 640,  480, 60, 0
  47.     "sALP640x480x8x75"    = ssalpine, 8, 640,  480, 75, 0
  48.     "sALP800x600x4x60"    = ssalpine, 4, 800,  600, 60, 0
  49.     "sALP800x600x4x72"    = ssalpine, 4, 800,  600, 72, 0
  50.     "sALP800x600x4x75"    = ssalpine, 4, 800,  600, 75, 0
  51.     "sALP800x600x8x60"    = ssalpine, 8, 800,  600, 60, 0
  52.     "sALP800x600x8x72"    = ssalpine, 8, 800,  600, 72, 0
  53.     "sALP800x600x8x75"    = ssalpine, 8, 800,  600, 75, 0
  54.     "sALP1024x768x4x60"   = ssalpine, 4, 1024, 768, 60, 0
  55.     "sALP1024x768x4x70"   = ssalpine, 4, 1024, 768, 70, 0
  56.     "sALP1024x768x4x72"   = ssalpine, 4, 1024, 768, 72, 0
  57.     "sALP1024x768x4x75"   = ssalpine, 4, 1024, 768, 75, 0
  58.     "sALP1024x768x8x60"   = ssalpine, 8, 1024, 768, 60, 0
  59.     "sALP1024x768x8x70"   = ssalpine, 8, 1024, 768, 70, 0
  60.     "sALP1024x768x8x72"   = ssalpine, 8, 1024, 768, 72, 0
  61.     "sALP1024x768x8x75"   = ssalpine, 8, 1024, 768, 75, 0
  62. ;    "sALP1280x1024x4x60"  = ssalpine, 4, 1280, 1024, 60, 0
  63.     "sALP1280x1024x4x45I" = ssalpine, 4, 1280, 1024, 45, 1
  64.     "sALP1280x1024x8x45I" = ssalpine, 8, 1280, 1024, 45, 1
  65.  
  66. ;
  67. ; This maps detected options into the options we support
  68. ;
  69. ; Format: DetectedOption = MappedOption
  70. ;
  71.  
  72. [MapOfOptions]
  73.     "VGA"                       = "VGA"
  74.     "COMPAQ AVGA"               = "VGA"
  75.     "COMPAQ AGB"                = "VGA"
  76.     "8514 MONITOR UNKNOWN"      = "VGA"
  77.     "8514 VGA MONITOR"          = "VGA"
  78.     "8514 8503 MONO"            = "VGA"
  79.     "8514 8514 GAD"             = "VGA"
  80.     "GENOA VGA"                 = "VGA"
  81.     "VIDEO7 VGA DRAM"           = "VIDEO7 VGA VRAM 640x480x4"
  82.     "VIDEO7 VGA VRAM"           = "VIDEO7 VGA VRAM 640x480x4"
  83.     "TRIDENT VGA"               = "VGA"
  84.     "TRIDENT VGA 9100"          = "VGA"
  85.     "PARADISE VGA"              = "VGA"
  86.     "PARADISE VGA PROM"         = "VGA"
  87.     "PARADISE VGA CHIP 1F"      = "VGA"
  88.     "ATI VGA"                   = "VGA"
  89.     "ATI VGA WONDDER3"          = "VGA"
  90.     "TSENGLAB VGA ET3000"       = "VGA"
  91.     "TSENGLAB VGA ET4000"       = "VGA"
  92.     "SPEEDSTAR ALPINE VGA"         = "ALP640x480x4x60"
  93.     "SPEEDSTAR VGA 610-620 REVC"   = "VGA"
  94.     "XGA"                       = "XGA 640x480x8"
  95.     "DELL DGX"                  = "DELL DGX 640x480x8"
  96.     "S3 VGA"                    = "S3 VGA 640x480x8"
  97.     "PRODESIGNER II"            = "TSENGLAB VGA ET4000 640x480x4x60"
  98.  
  99.  
  100. ;
  101. ; Order of the information:
  102. ;
  103. ; Port driver = Type, Group, ErrorControl, Tag, InstalledDisplay, VgaCompatible( 0/1 ), EventMessageFile, TypesSupported
  104. ;
  105.  
  106. [MiniportDrivers]
  107.     ssalpine   = !SERVICE_KERNEL_DRIVER, Video, !SERVICE_ERROR_NORMAL, 16, {clvga16,clblt256}, 1 , %SystemRoot%\System32\IoLogMsg.dll , 7
  108.  
  109.  
  110. ;-----------------------------------------------------------------------
  111. ; OPTION TEXT SECTION
  112. ; -------------------
  113. ; These are text strings used to identify the option to the user.  There
  114. ; are separate sections for each language supported.  The format of the
  115. ; section name is "OptionsText" concatenated with the Language represented
  116. ; by the section.
  117. ;
  118. ;-----------------------------------------------------------------------
  119.  
  120. [OptionsTextENG]
  121.     "sALP640x480x4x60"   = "SpeedStar 64 1.00 640x480, 16 colors 60Hz"
  122.     "sALP640x480x4x75"   = "SpeedStar 64 1.00 640x480, 16 colors 75Hz"
  123.     "sALP640x480x8x60"   = "SpeedStar 64 1.00 640x480, 256 colors 60Hz"
  124.     "sALP640x480x8x75"   = "SpeedStar 64 1.00 640x480, 256 colors 75Hz"
  125.     "sALP800x600x4x60"   = "SpeedStar 64 1.00 800x600, 16 colors 60Hz"
  126.     "sALP800x600x4x72"   = "SpeedStar 64 1.00 800x600, 16 colors 72Hz"
  127.     "sALP800x600x4x75"   = "SpeedStar 64 1.00 800x600, 16 colors 75Hz"
  128.     "sALP800x600x8x60"   = "SpeedStar 64 1.00 800x600, 256 colors 60Hz"
  129.     "sALP800x600x8x72"   = "SpeedStar 64 1.00 800x600, 256 colors 72Hz"
  130.     "sALP800x600x8x75"   = "SpeedStar 64 1.00 800x600, 256 colors 75Hz"
  131.     "sALP1024x768x4x60"  = "SpeedStar 64 1.00 1024x768, 16 colors 60Hz"
  132.     "sALP1024x768x4x70"  = "SpeedStar 64 1.00 1024x768, 16 colors 70Hz"
  133.     "sALP1024x768x4x72"  = "SpeedStar 64 1.00 1024x768, 16 colors 72Hz"
  134.     "sALP1024x768x4x75"  = "SpeedStar 64 1.00 1024x768, 16 colors 75Hz"
  135.     "sALP1024x768x8x60"  = "SpeedStar 64 1.00 1024x768, 256 colors 60Hz"
  136.     "sALP1024x768x8x70"  = "SpeedStar 64 1.00 1024x768, 256 colors 70Hz"
  137.     "sALP1024x768x8x72"  = "SpeedStar 64 1.00 1024x768, 256 colors 72Hz"
  138.     "sALP1024x768x8x75"  = "SpeedStar 64 1.00 1024x768, 256 colors 75Hz"
  139. ;    "sALP1280x1024x4x60"  = "SpeedStar 64 1.00 1280x1024, 16 colors 60Hz"
  140.     "sALP1280x1024x4x45I" = "SpeedStar 64 1.00 1280x1024, 16 colors Interlaced"
  141.     "sALP1280x1024x8x45I" = "SpeedStar 64 1.00 1280x1024, 256 colors Interlaced"
  142.  
  143.  
  144.  
  145. ;---------------------------------------------------------------------------
  146. ; 1. Identify
  147. ;
  148. ; DESCRIPTION:   To verify that this INF deals with the same type of options
  149. ;                as we are choosing currently.
  150. ;
  151. ; INPUT:         None
  152. ;
  153. ; OUTPUT:        $($R0): STATUS: STATUS_SUCCESSFUL
  154. ;                $($R1): Option Type (COMPUTER ...)
  155. ;                $($R2): Diskette description
  156. ;---------------------------------------------------------------------------
  157.  
  158. [Identify]
  159.     ;
  160.     ;
  161.     read-syms Identification
  162.  
  163.     set Status     = STATUS_SUCCESSFUL
  164.     set Identifier = $(OptionType)
  165.     set Media      = #("Source Media Descriptions", 1, 1)
  166.  
  167.     Return $(Status) $(Identifier) $(Media)
  168.  
  169.  
  170.  
  171. ;------------------------------------------------------------------------
  172. ; 2. ReturnOptions:
  173. ;
  174. ; DESCRIPTION:   To return the option list supported by this INF and the
  175. ;                localised text list representing the options.
  176. ;
  177. ;
  178. ; INPUT:         $($0):  Language used. ( ENG | FRN | ... )
  179. ;
  180. ; OUTPUT:        $($R0): STATUS: STATUS_SUCCESSFUL |
  181. ;                                STATUS_NOLANGUAGE
  182. ;                                STATUS_FAILED
  183. ;
  184. ;                $($R1): Option List
  185. ;                $($R2): Option Text List
  186. ;------------------------------------------------------------------------
  187.  
  188. [ReturnOptions]
  189.     ;
  190.     ;
  191.     set Status        = STATUS_FAILED
  192.     set OptionList     = {}
  193.     set OptionTextList = {}
  194.  
  195.     ;
  196.     ; Check if the language requested is supported
  197.     ;
  198.     set LanguageList = ^(LanguagesSupported, 1)
  199.     Ifcontains(i) $($0) in $(LanguageList)
  200.         goto returnoptions
  201.     else
  202.         set Status = STATUS_NOLANGUAGE
  203.         goto finish_ReturnOptions
  204.     endif
  205.  
  206.     ;
  207.     ; form a list of all the options and another of the text representing
  208.     ;
  209.  
  210. returnoptions = +
  211.     set OptionList     = ^(Options, 0)
  212.     set OptionTextList = ^(OptionsText$($0), 1)
  213.     set Status         = STATUS_SUCCESSFUL
  214.  
  215. finish_ReturnOptions = +
  216.     Return $(Status) $(OptionList) $(OptionTextList)
  217.  
  218.  
  219.  
  220. ;---------------------------------------------------------------------------
  221. ; MapToSupportedOption
  222. ;
  223. ; DESCRIPTION:   To map a hardware detected option to the NT Supported
  224. ;                option which represents it.
  225. ;
  226. ; INPUT:         $($0): Option
  227. ;
  228. ; OUTPUT:        $($R0): STATUS: STATUS_SUCCESSFUL
  229. ;                $($R1): Mapped Option
  230. ;
  231. ;---------------------------------------------------------------------------
  232.  
  233. [MapToSupportedOption]
  234.     ;
  235.     set Status = STATUS_FAILED
  236.     set MappedOption = $($0)
  237.  
  238.     ;
  239.     ; If the option is one we can support using one of our standard options
  240.     ; then map it to the standard option else map it to the default option
  241.     ; which is VGA.
  242.     ;
  243.  
  244.     set OptionList = ^(MapOfOptions, 0)
  245.     ifcontains $($0) in $(OptionList)
  246.         set MappedOption = #(MapOfOptions, $($0), 1)
  247.     else
  248.         set MappedOption = "VGA"
  249.     endif
  250.  
  251.     set Status = STATUS_SUCCESSFUL
  252.     Return $(Status) $(MappedOption)
  253.  
  254.  
  255.  
  256. [ServicesEntry]
  257.     CurrentEntry = "" ? $(!LIBHANDLE) GetDevicemapValue Video \Device\Video0
  258.  
  259.  
  260. ;
  261. ; InstallOption:
  262. ;
  263. ; FUNCTION:  To copy files representing Options
  264. ;            To configure the installed option
  265. ;            To update the registry for the installed option
  266. ;
  267. ; INPUT:     $($0):  Language to use
  268. ;            $($1):  OptionID to install
  269. ;            $($2):  SourceDirectory
  270. ;            $($3):  AddCopy  (YES | NO)
  271. ;            $($4):  DoCopy   (YES | NO)
  272. ;            $($5):  DoConfig (YES | NO)
  273. ;
  274. ; OUTPUT:    $($R0): STATUS: STATUS_SUCCESSFUL |
  275. ;                            STATUS_NOLANGUAGE |
  276. ;                            STATUS_USERCANCEL |
  277. ;                            STATUS_FAILED
  278. ;
  279.  
  280. [InstallOption]
  281.  
  282.     ;
  283.     ; Set default values for
  284.     ;
  285.     set Status       = STATUS_FAILED
  286.     set DrivesToFree = {}
  287.  
  288.     ;
  289.     ; extract parameters
  290.     ;
  291.     set Option   = $($1)
  292.     set SrcDir   = $($2)
  293.     set AddCopy  = $($3)
  294.     set DoCopy   = $($4)
  295.     set DoConfig = $($5)
  296.  
  297.     ;
  298.     ; Check if the language requested is supported
  299.     ;
  300.     set LanguageList = ^(LanguagesSupported, 1)
  301.     Ifcontains(i) $($0) in $(LanguageList)
  302.     else
  303.         set Status = STATUS_NOLANGUAGE
  304.         goto finish_InstallOption
  305.     endif
  306.     read-syms Strings$($0)
  307.  
  308.     ;
  309.     ; check to see if Option is supported.
  310.     ;
  311.  
  312.     set OptionList = ^(Options, 0)
  313.     ifcontains $(Option) in $(OptionList)
  314.     else
  315.         goto finish_InstallOption
  316.     endif
  317.     set OptionList = ""
  318.  
  319.     ;
  320.     ; Option has been defined already
  321.     ;
  322.     set MiniportDriver    = #(Options, $(Option), 1)
  323.     set BitsPerPel        = #(Options, $(Option), 2)
  324.     set XResolution       = #(Options, $(Option), 3)
  325.     set YResolution       = #(Options, $(Option), 4)
  326.     set VRefresh          = #(Options, $(Option), 5)
  327.     set Interlaced        = #(Options, $(Option), 6)
  328.  
  329.     set Type              = $(#(MiniportDrivers, $(MiniportDriver), 1))
  330.     set Group             =   #(MiniportDrivers, $(MiniportDriver), 2)
  331.     set ErrorControl      = $(#(MiniportDrivers, $(MiniportDriver), 3))
  332.     set Tag               =   #(MiniportDrivers, $(MiniportDriver), 4)
  333.     set InstalledDisplays =   #(MiniportDrivers, $(MiniportDriver), 5)
  334.     set VgaCompatible     =   #(MiniportDrivers, $(MiniportDriver), 6)
  335.     set EventMessageFile  =   #(MiniportDrivers, $(MiniportDriver), 7)
  336.     set TypesSupported    =   #(MiniportDrivers, $(MiniportDriver), 8)
  337.  
  338.     read-syms ServicesEntry
  339.     detect    ServicesEntry
  340.  
  341. installtheoption = +
  342.  
  343.     ;
  344.     ; Code to add files to copy list
  345.     ;
  346.  
  347.     ifstr(i) $(AddCopy) == "YES"
  348.         set DoActualCopy = NO
  349.         set FileToCheck = #(Files-DisplayMiniportDrivers, $(MiniportDriver), 2)
  350.         LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(!STF_WINDOWSSYSPATH)"\drivers\"$(FileToCheck)
  351.         ifstr(i) $(STATUS) == NO
  352.             set DoActualCopy = YES
  353.             goto addfiles
  354.         endif
  355.         ForListDo $(InstalledDisplays)
  356.             set FileToCheck = #(Files-DisplayDLLs, $($), 2)
  357.             LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(!STF_WINDOWSSYSPATH)"\"$(FileToCheck)
  358.             ifstr(i) $(STATUS) == NO
  359.                 set DoActualCopy = YES
  360.             endif
  361.         EndForListDo
  362.  
  363. addfiles = +
  364.         ifstr(i) $(DoActualCopy) == NO
  365.             shell "subroutn.inf" DriversExist $($0) $(String1)
  366.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  367.                 Debug-Output "VIDEO.INF: shelling DriversExist failed"
  368.                 goto finish_InstallOption
  369.             endif
  370.  
  371.             ifstr(i) $($R0) == STATUS_CURRENT
  372.             else-ifstr(i) $($R0) == STATUS_NEW
  373.                 set DoActualCopy = YES
  374.             else-ifstr(i) $($R0) == STATUS_USERCANCEL
  375.                 Debug-Output "VIDEO.INF: User cancelled video installation"
  376.                 goto finish_InstallOption
  377.             else
  378.                 Debug-Output "VIDEO.INF: Error reported in DriversExist routine in SUBROUTN.INF"
  379.                 goto finish_InstallOption
  380.             endif
  381.         endif
  382.  
  383.         ifstr(i) $(DoActualCopy) == YES
  384.  
  385.             shell "subroutn.inf" DoAskSourceEx $(SrcDir) $(String2)
  386.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  387.                 Debug-Output "VIDEO.INF: shelling DoAskSourceEx failed"
  388.                 goto finish_InstallOption
  389.             endif
  390.  
  391.             ifstr(i) $($R0) == STATUS_SUCCESSFUL
  392.                 set SrcDir = $($R1)
  393.                 ifstr(i) $($R2) != ""
  394.                     set DrivesToFree = >($(DrivesToFree), $($R2))
  395.                 endif
  396.             else
  397.                 Debug-Output "VIDEO.INF: User cancelled asking source."
  398.                 goto finish_InstallOption
  399.             endif
  400.  
  401.             install Install-AddCopyOption
  402.             ifstr(i) $(STF_INSTALL_OUTCOME) != "STF_SUCCESS"
  403.                 Debug-Output "VIDEO.INF: Adding video files to copy list failed"
  404.                 goto finish_InstallOption
  405.             endif
  406.         else
  407.             set DoCopy = NO
  408.         endif
  409.  
  410.     endif
  411.  
  412.     ifstr(i) $(DoCopy) == "YES"
  413.         read-syms ProgressCopy$($0)
  414.         install Install-DoCopyOption
  415.         ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_FAILURE"
  416.             Debug-Output "Copying files failed"
  417.             goto finish_InstallOption
  418.         else-ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_USERQUIT"
  419.             set Status = STATUS_USERCANCEL
  420.             goto finish_InstallOption
  421.         endif
  422.     endif
  423.  
  424.     ifstr(i) $(DoConfig) == "YES"
  425.  
  426.         ;
  427.         ; first run a privilege check on modifying the setup node
  428.         ;
  429.  
  430.         shell "registry.inf" CheckSetupModify
  431.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  432.             goto finish_InstallOption
  433.         endif
  434.  
  435.         ifstr(i) $($R0) != STATUS_SUCCESSFUL
  436.             goto finish_InstallOption
  437.         endif
  438.  
  439.         ;
  440.         ; first make a new video entry, the entry is created automatically
  441.         ; enabled
  442.         ;
  443.  
  444.         set ServiceNode   = $(MiniportDriver)
  445.         set ServiceBinary = %SystemRoot%\System32\drivers\#(Files-DisplayMiniportDrivers, $(MiniportDriver), 2)
  446.  
  447.         set ServicesValues   = { +
  448.                 {Type,           0, $(!REG_VT_DWORD),     $(Type)                  }, +
  449.                 {Start,          0, $(!REG_VT_DWORD),     $(!SERVICE_SYSTEM_START) }, +
  450.                 {Group,          0, $(!REG_VT_SZ),        $(Group)                 }, +
  451.                 {ErrorControl,   0, $(!REG_VT_DWORD),     $(ErrorControl)          }, +
  452.                 {Tag,            0, $(!REG_VT_DWORD),     $(Tag)                   }, +
  453.                 {BinaryPathName, 0, $(!REG_VT_EXPAND_SZ), $(ServiceBinary)         }  +
  454.                 }
  455.  
  456.         set ParametersValues = { +
  457.                 {InstalledDisplayDrivers,     0, $(!REG_VT_MULTI_SZ), $(InstalledDisplays) }, +
  458.                 {VgaCompatible,               0, $(!REG_VT_DWORD),    $(VgaCompatible)     }, +
  459.                 {DefaultSettings.BitsPerPel,  0, $(!REG_VT_DWORD),    $(BitsPerPel)        }, +
  460.                 {DefaultSettings.XResolution, 0, $(!REG_VT_DWORD),    $(XResolution)       }, +
  461.                 {DefaultSettings.YResolution, 0, $(!REG_VT_DWORD),    $(YResolution)       }  +
  462.                 }
  463.  
  464.         ifstr(i) $(VRefresh) != ""
  465.             set VRefreshValue = {DefaultSettings.VRefresh, 0, $(!REG_VT_DWORD), $(VRefresh)}
  466.             set ParametersValues = >($(ParametersValues), $(VRefreshValue))
  467.         endif
  468.  
  469.         ifstr(i) $(Interlaced) != ""
  470.             set InterlacedValue = {DefaultSettings.Interlaced, 0, $(!REG_VT_DWORD), $(Interlaced)}
  471.             set ParametersValues = >($(ParametersValues), $(InterlacedValue))
  472.         endif
  473.  
  474.         set DeviceValues     = {}
  475.         set EventLogValues   = { +
  476.                 {EventMessageFile, 0, $(!REG_VT_EXPAND_SZ), $(EventMessageFile) }, +
  477.                 {TypesSupported,   0, $(!REG_VT_DWORD),     $(TypesSupported)   }  +
  478.                 }
  479.  
  480.         shell "registry.inf"  MakeServicesEntry $(ServiceNode)      +
  481.                                                 $(ServicesValues)   +
  482.                                                 $(ParametersValues) +
  483.                                                 $(DeviceValues)     +
  484.                                                 $(EventLogValues)   +
  485.                                                 Device0
  486.  
  487.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  488.             Debug-Output "Couldn't execute MakeServicesEntry in registry.inf"
  489.             goto finish_InstallOption
  490.         endif
  491.  
  492.         ifstr(i) $($R0) != STATUS_SUCCESSFUL
  493.             Debug-Output "MakeServicesEntry failed for video"
  494.             goto finish_InstallOption
  495.         endif
  496.  
  497.         ;
  498.         ;
  499.         ; then disable the previous video entry
  500.         ;
  501.  
  502.         ifstr(i) $(CurrentEntry) != $(MiniportDriver)
  503.             ifstr(i) $(CurrentEntry) != VGA
  504.                 ifstr(i) $(CurrentEntry) != ""
  505.                     shell "registry.inf" ModifyServicesEntry $(CurrentEntry) $(!SERVICE_DISABLED)
  506.  
  507.                     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  508.                         Debug-Output "Couldn't find DisableServicesEntry in registry.inf"
  509.                         goto errorconfig
  510.                     endif
  511.  
  512.                     ifstr(i) $($R0) != STATUS_SUCCESSFUL
  513.                         Debug-Output "DisableServices entry failed"
  514.                     endif
  515.                 endif
  516.             endif
  517.         endif
  518.  
  519.         goto configdone
  520.  
  521. errorconfig = +
  522.         ifstr(i) $(CurrentEntry) != $(MiniportDriver)
  523.             shell "registry.inf" ModifyServicesEntry $(MiniportDriver) $(!SERVICE_DISABLED)
  524.             ifstr(i) $(CurrentEntry) != ""
  525.                 shell "registry.inf" ModifyServicesEntry $(CurrentEntry) $(!SERVICE_SYSTEM_START)
  526.             endif
  527.         endif
  528.         goto finish_InstallOption
  529.  
  530. configdone = +
  531.  
  532.     endif
  533.  
  534.     set Status = STATUS_SUCCESSFUL
  535.  
  536. finish_InstallOption = +
  537.     ForListDo $(DrivesToFree)
  538.         LibraryProcedure STATUS,$(!LIBHANDLE), DeleteNetConnection $($) "TRUE"
  539.     EndForListDo
  540.  
  541.     Return $(Status)
  542.  
  543.  
  544. [Install-AddCopyOption]
  545.  
  546.     set STF_VITAL = ""
  547.     ;
  548.     ; Add the files to the copy list
  549.     ;
  550.     AddSectionKeyFileToCopyList   Files-DisplayMiniportDrivers   +
  551.                                   $(MiniportDriver)              +
  552.                                   $(SrcDir)                      +
  553.                                   $(!STF_WINDOWSSYSPATH)\drivers
  554.  
  555.     ForListDo $(InstalledDisplays)
  556.         AddSectionKeyFileToCopyList   Files-DisplayDLLs          +
  557.                                       $($)                       +
  558.                                       $(SrcDir)                  +
  559.                                       $(!STF_WINDOWSSYSPATH)
  560.  
  561.     EndForListDo
  562.  
  563.     exit
  564.  
  565.  
  566. [Install-DoCopyOption]
  567.  
  568.     ;
  569.     ; Copy files in the copy list
  570.     ;
  571.     CopyFilesInCopyList
  572.     exit
  573.  
  574. ;**************************************************************************
  575. ; PROGRESS GAUGE VARIABLES
  576. ;**************************************************************************
  577.  
  578. [ProgressCopyENG]
  579.     ProCaption   = "Windows NT Setup"
  580.     ProCancel    = "Cancel"
  581.     ProCancelMsg = "Windows NT is not correcly installed.  Are you sure you want "+
  582.                    "to cancel copying files?"
  583.     ProCancelCap = "Setup Message"
  584.     ProText1     = "Copying:"
  585.     ProText2     = "To:"
  586.  
  587. [StringsENG]
  588.     String1 = "Display"
  589.     String2 = "Please enter the full path to the SpeedStar Alpine "+
  590.               "Display driver files.  Then choose Continue."
  591.  
  592. ;-----------------------------------------------------------------------
  593. ; SOURCE MEDIA DESCRIPTIONS
  594. ; -------------------------
  595. ; The OEM should list all the diskette labels here.  The source media
  596. ; description is used during copy to prompt the user for a diskette
  597. ; if the source is diskettes.
  598. ;
  599. ; Use 1 = "Diskette 1 Label" , TAGFILE = disk1
  600. ;     2 = "Diskette 2 Label" , TAGFILE = disk2
  601. ;     ...
  602. ;-----------------------------------------------------------------------
  603.  
  604. ;--------------------------------------------------------------------
  605. ; THE SECTIONS BELOW SHOULD BE AUTOMATICALLY GENERATED BY THE EXCEL
  606. ; SPREAD SHEETS
  607. ;--------------------------------------------------------------------
  608.  
  609. [Source Media Descriptions]
  610.     1  = "SpeedStar ALPINE VGA DRIVERS"  , TAGFILE = disk1
  611.  
  612. [Files-DisplayDLLs]
  613. clvga16 = 1,clvga16.dll , SIZE=999
  614. clblt256 = 1,clblt256.dll , SIZE=999
  615.  
  616. [Files-DisplayMiniportDrivers]
  617. ssalpine = 1,ssalpine.sys , SIZE=999
  618. 
  619.