home *** CD-ROM | disk | FTP | other *** search
/ Sweet People's Games / Essentially_Desserts.iso / sweets.mst < prev   
Text File  |  1996-05-12  |  4KB  |  177 lines

  1. '$INCLUDE 'setupapi.inc'
  2. '$INCLUDE 'msdetect.inc'
  3.  
  4. ''Dialog ID's
  5. CONST WELCOME       = 100
  6. CONST ASKQUIT       = 200
  7. CONST DESTPATH      = 300
  8. CONST EXITFAILURE   = 400
  9. CONST EXITQUIT      = 600
  10. CONST EXITSUCCESS   = 700
  11. CONST APPHELP       = 900
  12. CONST BADPATH       = 6400
  13.  
  14. ''Bitmap ID
  15. CONST LOGO = 1
  16.  
  17. GLOBAL DEST$        ''Default destination directory.
  18.  
  19. DECLARE SUB Install
  20. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  21.  
  22.  
  23. INIT:
  24.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  25.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  26.  
  27.     SetBitmap CUIDLL$, LOGO
  28.     SetTitle "Sweet People's Games Setup"
  29.  
  30.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  31.     IF szInf$ = "" THEN
  32.         szInf$ = GetSymbolValue("STF_CWDDIR") + "sweets.INF"
  33.     END IF
  34.     ReadInfFile szInf$
  35.  
  36.     OPTCUR$ = "1"
  37.     DEST$ = "C:\SWPEOPLE"
  38.  
  39. '$IFDEF DEBUG
  40.     i% = SetSizeCheckMode(scmOnIgnore)
  41.     WinDrive$ = MID$(GetWindowsDir, 1, 1)
  42.     IF IsDriveValid(WinDrive$) = 0 THEN
  43.         i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  44.         GOTO QUIT
  45.     END IF
  46. '$ENDIF ''DEBUG
  47.  
  48.  
  49. WELCOME:
  50.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  51.     IF sz$ = "CONTINUE" THEN
  52.         UIPop 1
  53.     ELSE
  54.         GOSUB ASKQUIT
  55.         GOTO WELCOME
  56.     END IF
  57.  
  58.  
  59. GETPATH:
  60.     SetSymbolValue "EditTextIn", DEST$
  61.     SetSymbolValue "EditFocus", "END"
  62. GETPATHL1:
  63.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  64.     DEST$ = GetSymbolValue("EditTextOut")
  65.  
  66.     IF sz$ = "CONTINUE" THEN
  67.         IF IsDirWritable(DEST$) = 0 THEN
  68.             GOSUB BADPATH
  69.             GOTO GETPATHL1
  70.         END IF
  71.         UIPop 1
  72.     ELSEIF sz$ = "REACTIVATE" THEN
  73.         GOTO GETPATHL1
  74.     ELSE
  75.         GOSUB ASKQUIT
  76.         GOTO GETPATH
  77.     END IF
  78.  
  79.  
  80.     Install
  81.  
  82.  
  83. QUIT:
  84.     ON ERROR GOTO ERRQUIT
  85.  
  86.     IF ERR = 0 THEN
  87.         dlg% = EXITSUCCESS
  88.     ELSEIF ERR = STFQUIT THEN
  89.         dlg% = EXITQUIT
  90.     ELSE
  91.         dlg% = EXITFAILURE
  92.     END IF
  93. QUITL1:
  94.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  95.     IF sz$ = "REACTIVATE" THEN
  96.         GOTO QUITL1
  97.     END IF
  98.     UIPop 1
  99.  
  100.     END
  101.  
  102. ERRQUIT:
  103.     i% = DoMsgBox("Setup sources were corrupted!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  104.     END
  105.  
  106.  
  107.  
  108. BADPATH:
  109.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  110.     IF sz$ = "REACTIVATE" THEN
  111.         GOTO BADPATH
  112.     END IF
  113.     UIPop 1
  114.     RETURN
  115.  
  116.  
  117.  
  118. ASKQUIT:
  119.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  120.  
  121.     IF sz$ = "EXIT" THEN
  122.         UIPopAll
  123.         ERROR STFQUIT
  124.     ELSEIF sz$ = "REACTIVATE" THEN
  125.         GOTO ASKQUIT
  126.     ELSE
  127.         UIPop 1
  128.     END IF
  129.     RETURN
  130.  
  131.  
  132.  
  133. SUB Install STATIC
  134.  
  135.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  136.     
  137.     CreateDir DEST$, cmoNone
  138.     AddSectionFilesToCopyList "Files", SrcDir$, DEST$
  139.     
  140.     SrcDir1$ = MakePath( SrcDir$, "OMOPLAY" )
  141.     Dest1$ = MakePath( DEST$, "OMOPLAY" )
  142.     CreateDir Dest1$, cmoNone
  143.  
  144.     SrcDir2$ = MakePath( SrcDir1$, "Objects" )
  145.     Dest2$ = MakePath( Dest1$, "Objects" )
  146.     CreateDir Dest2$, cmoNone
  147.     
  148.     SrcDir3$ = MakePath( SrcDir1$, "Library" )
  149.     Dest3$ = MakePath( Dest1$, "Library" )
  150.     CreateDir Dest3$, cmoNone
  151.     
  152.     CopyFilesInCopyList
  153.  
  154.     CreateProgmanGroup "Sweet People's Games", "", cmoNone
  155.     ShowProgmanGroup  "Sweet People's Games", 1, cmoNone
  156.     ' CreateProgmanItem "Sweet People's Games", "Sweet People", MakePath(DEST$,"omowin\omoplay.exe ")+MakePath(SrcDir$,"sweet.sta"), MakePath(DEST$,"sweets.ico"), cmoOverwrite
  157.     CreateProgmanItem "Sweet People's Games", "Sweet People", MakePath(DEST$,"omoplay\omoplay.exe ")+MakePath(SrcDir$,"sweet.sta"), "", cmoOverwrite
  158.     CreateProgmanItem "Sweet People's Games", "Read me", "notepad.exe " +MakePath(DEST$,"readme.txt"), "", cmoOverwrite
  159.     CreateProgmanItem "Sweet People's Games", "Credits", "notepad.exe " +MakePath(DEST$,"credits.txt"), "", cmoOverwrite
  160.  
  161. END SUB
  162.  
  163.  
  164.  
  165. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  166.     IF szDir$ = "" THEN
  167.         MakePath = szFile$
  168.     ELSEIF szFile$ = "" THEN
  169.         MakePath = szDir$
  170.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  171.         MakePath = szDir$ + szFile$
  172.     ELSE
  173.         MakePath = szDir$ + "\" + szFile$
  174.     END IF
  175. END FUNCTION
  176.  
  177.