home *** CD-ROM | disk | FTP | other *** search
/ Computer Installation Guide - Dragon Clan Series / CD1.iso / vga / SIS6202 / TEST.MST < prev    next >
Encoding:
Text File  |  1996-01-20  |  5.5 KB  |  216 lines

  1. '**************************************************************************
  2. '*                       SiS VGA Setup Program
  3. '**************************************************************************
  4.  
  5. '$DEFINE DEBUG  ''Define for script development/debugging
  6.  
  7. '$INCLUDE 'setupapi.inc'
  8. '$INCLUDE 'msdetect.inc'
  9.  
  10. ''Dialog ID's
  11. CONST WELCOME       = 100
  12. CONST ASKQUIT       = 200
  13. CONST DESTPATH      = 300
  14. CONST EXITFAILURE   = 400
  15. CONST EXITQUIT      = 600
  16. CONST EXITSUCCESS   = 700
  17. CONST APPHELP       = 900
  18. CONST BADPATH       = 6400
  19.  
  20. ''Bitmap ID
  21. CONST LOGO = 2
  22.  
  23. GLOBAL DEST$        ''Default destination directory.
  24. GLOBAL WINSYS$
  25. GLOBAL WIN$
  26. GLOBAL OPTCUR$      ''Option selection from option dialog.
  27.  
  28. DECLARE SUB Install
  29. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  30.  
  31.  
  32. INIT:
  33.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  34.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  35.  
  36.     SetBitmap CUIDLL$, LOGO
  37.     SetTitle "SiS 6202 VGA Driver Setup Rev. 1.14"
  38.  
  39.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  40.     IF szInf$ = "" THEN
  41.     szInf$ = GetSymbolValue("STF_CWDDIR") + "TEST.INF"
  42.     END IF
  43.     ReadInfFile szInf$
  44.  
  45.     OPTCUR$ = "1"
  46.     DEST$ = "C:\WINDRV"
  47.     WINSYS$ = GetWindowsSysDir()
  48.     WIN$ = GetWindowsDir()
  49.  
  50. '$IFDEF DEBUG
  51.     i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  52.     WinDrive$ = MID$(GetWindowsDir, 1, 1)
  53.     IF IsDriveValid(WinDrive$) = 0 THEN
  54.     i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  55.     GOTO QUIT
  56.     END IF
  57. '$ENDIF ''DEBUG
  58.  
  59.  
  60. WELCOME:
  61.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  62.     IF sz$ = "CONTINUE" THEN
  63.     UIPop 1
  64.     ELSE
  65.     GOSUB ASKQUIT
  66.     GOTO WELCOME
  67.     END IF
  68.  
  69.  
  70. GETPATH:
  71.     SetSymbolValue "EditTextIn", DEST$
  72.     SetSymbolValue "EditFocus", "END"
  73. GETPATHL1:
  74.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  75.     DEST$ = GetSymbolValue("EditTextOut")
  76.  
  77.     IF sz$ = "CONTINUE" THEN
  78.     IF IsDirWritable(DEST$) = 0 THEN
  79.         GOSUB BADPATH
  80.         GOTO GETPATHL1
  81.     END IF
  82.     UIPop 1
  83.     ELSEIF sz$ = "REACTIVATE" THEN
  84.     GOTO GETPATHL1
  85.     ELSEIF sz$ = "BACK" THEN
  86.     UIPop 1
  87.     GOTO WELCOME
  88.     ELSE
  89.     GOSUB ASKQUIT
  90.     GOTO GETPATH
  91.     END IF
  92.  
  93.  
  94.     Install
  95.  
  96.  
  97. QUIT:
  98.     ON ERROR GOTO ERRQUIT
  99.  
  100.     IF ERR = 0 THEN
  101.     dlg% = EXITSUCCESS
  102.     ELSEIF ERR = STFQUIT THEN
  103.     dlg% = EXITQUIT
  104.     ELSE
  105.     dlg% = EXITFAILURE
  106.     END IF
  107. QUITL1:
  108.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  109.     IF sz$ = "REACTIVATE" THEN
  110.     GOTO QUITL1
  111.     END IF
  112.     UIPop 1
  113.  
  114.     END
  115.  
  116. ERRQUIT:
  117.     i% = DoMsgBox("Setup sources were corrupted, call 555-1212!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  118.     END
  119.  
  120.  
  121.  
  122. BADPATH:
  123.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  124.     IF sz$ = "REACTIVATE" THEN
  125.     GOTO BADPATH
  126.     END IF
  127.     UIPop 1
  128.     RETURN
  129.  
  130.  
  131.  
  132. ASKQUIT:
  133.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  134.  
  135.     IF sz$ = "EXIT" THEN
  136.     UIPopAll
  137.     ERROR STFQUIT
  138.     ELSEIF sz$ = "REACTIVATE" THEN
  139.     GOTO ASKQUIT
  140.     ELSE
  141.     UIPop 1
  142.     END IF
  143.     RETURN
  144.  
  145.  
  146.  
  147. '**
  148. '** Purpose:
  149. '**     Builds the copy list and performs all installation operations.
  150. '** Arguments:
  151. '**     none.
  152. '** Returns:
  153. '**     none.
  154. '*************************************************************************
  155. SUB Install STATIC
  156.  
  157.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  158.     CreateDir DEST$, cmoNone
  159.  
  160.     OpenLogFile MakePath(DEST$, "LOGFILE.OUT"), 0
  161.     WriteToLogFile ""
  162.     WriteToLogFile "  User chose as destination directory: '" + DEST$ + "'"
  163.     WriteToLogFile "  User chose option: '" + OPTCUR$ + "'"
  164.     WriteToLogFile ""
  165.     WriteToLogFile "May have had to create the directory: " + DEST$
  166.     WriteToLogFile ""
  167.  
  168.     AddSectionFilesToCopyList "Files1", SrcDir$, DEST$
  169.     CopyFilesInCopyList
  170.     ClearCopyList
  171.     AddSectionFilesToCopyList "Files2", SrcDir$, WINSYS$
  172.     CopyFilesInCopyList
  173.     ClearCopyList
  174.     AddSectionFilesToCopyList "Files3", SrcDir$, WIN$
  175.     CopyFilesInCopyList
  176.  
  177.     ini$ = MakePath(DEST$, "SISVGA.INI")
  178.     CreateIniKeyValue "WIN.INI", "SiS VGA Driver", "Option", OPTCUR$, cmoNone
  179.     CreateIniKeyValue ini$, "Section 1", "Key 1", "Value 1" , cmoNone
  180.     CreateIniKeyValue ini$, "Section 2", "Key 2", "Value 2" , cmoNone
  181.     CreateIniKeyValue ini$, "Section 3", "Key 3", "Value 3" , cmoNone
  182.  
  183.     CreateProgmanGroup "SiS VGA 1.14", "", cmoNone
  184.     ShowProgmanGroup  "SiS VGA 1.14", 1, cmoNone
  185.     CreateProgmanItem "SiS VGA 1.14", "SiS VGA SETUP",MakePath(DEST$,"config.exe"), "", cmoOverwrite
  186.     AddDos5Help "YOURAPP", "A brief help text for your Windows application."+chr$(10)+"It can be continued on another line with chr$(10).", cmoNone
  187.  
  188.     CloseLogFile
  189.  
  190. END SUB
  191.  
  192.  
  193.  
  194. '**
  195. '** Purpose:
  196. '**     Appends a file name to the end of a directory path,
  197. '**     inserting a backslash character as needed.
  198. '** Arguments:
  199. '**     szDir$  - full directory path (with optional ending "\")
  200. '**     szFile$ - filename to append to directory
  201. '** Returns:
  202. '**     Resulting fully qualified path name.
  203. '*************************************************************************
  204. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  205.     IF szDir$ = "" THEN
  206.     MakePath = szFile$
  207.     ELSEIF szFile$ = "" THEN
  208.     MakePath = szDir$
  209.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  210.     MakePath = szDir$ + szFile$
  211.     ELSE
  212.     MakePath = szDir$ + "\" + szFile$
  213.     END IF
  214. END FUNCTION
  215.  
  216.