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