home *** CD-ROM | disk | FTP | other *** search
/ 300 Favorite Games / 300GAMES.iso / 325 / ccwin.ms_ / ccwin.ms
Text File  |  1996-04-28  |  4KB  |  162 lines

  1. '$INCLUDE 'setupapi.inc'
  2. '$INCLUDE 'msdetect.inc'
  3. '$INCLUDE 'msregdb.inc'
  4.  
  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 TOOBIG        = 6300
  13. CONST BADPATH       = 6400
  14.  
  15. GLOBAL DEST$        ''Default destination directory.
  16. GLOBAL DISKSPACE$   ''Flag for too small free disk space
  17.  
  18. DECLARE SUB Install
  19. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  20.  
  21. INIT:
  22.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  23.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  24.  
  25.     SetBitmap CUIDLL$, 1
  26.     SetTitle "Crystal Caliburn 1.04 Demo Version"
  27.  
  28.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  29.     IF szInf$ = "" THEN
  30.         szInf$ = GetSymbolValue("STF_CWDDIR") + "CCWIN.INF"
  31.     END IF
  32.     ReadInfFile szInf$
  33.  
  34.     DEST$ = "C:\CCWDEMO"
  35.  
  36. WELCOME:
  37.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  38.     IF sz$ = "CONTINUE" THEN
  39.         UIPop 1
  40.     ELSE
  41.         GOSUB ASKQUIT
  42.         GOTO WELCOME
  43.     END IF
  44.  
  45. GETPATH:
  46.     SetSymbolValue "EditTextIn", DEST$
  47.     SetSymbolValue "EditFocus", "END"
  48. GETPATHL1:
  49.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  50.     DEST$ = GetSymbolValue("EditTextOut")
  51.  
  52.     IF sz$ = "CONTINUE" THEN
  53.         IF IsDirWritable(DEST$) = 0 THEN
  54.             GOSUB BADPATH
  55.             GOTO GETPATHL1
  56.         END IF
  57.         UIPop 1
  58.     ELSEIF sz$ = "REACTIVATE" THEN
  59.         GOTO GETPATHL1
  60.     ELSE
  61.         GOSUB ASKQUIT
  62.         GOTO GETPATH
  63.     END IF
  64.  
  65.     GOSUB CHECKSPACE
  66.     IF DISKSPACE$ <> "" THEN 
  67.         GOTO GETPATH
  68.     END IF
  69.  
  70.     Install
  71.  
  72. QUIT:
  73.     ON ERROR GOTO ERRQUIT
  74.  
  75.     IF ERR = 0 THEN
  76.         dlg% = EXITSUCCESS
  77.     ELSEIF ERR = STFQUIT THEN
  78.         dlg% = EXITQUIT
  79.     ELSE
  80.         dlg% = EXITFAILURE
  81.     END IF
  82. QUITL1:
  83.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  84.     IF sz$ = "REACTIVATE" THEN
  85.         GOTO QUITL1
  86.     END IF
  87.     UIPop 1
  88.  
  89.     END
  90.  
  91. ERRQUIT:
  92.     i% = DoMsgBox("Setup sources were corrupted.", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  93.     END
  94.  
  95. BADPATH:
  96.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  97.     IF sz$ = "REACTIVATE" THEN
  98.         GOTO BADPATH
  99.     END IF
  100.     UIPop 1
  101.     RETURN
  102.  
  103. ASKQUIT:
  104.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  105.  
  106.     IF sz$ = "EXIT" THEN
  107.         UIPopAll
  108.         ERROR STFQUIT
  109.     ELSEIF sz$ = "REACTIVATE" THEN
  110.         GOTO ASKQUIT
  111.     ELSE
  112.         UIPop 1
  113.     END IF
  114.     RETURN
  115.  
  116. CHECKSPACE:
  117.     ClearCopyList
  118.     DISKSPACE$ = ""
  119.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  120.  
  121.     AddSectionFilesToCopyList "CCWFiles", SrcDir$, DEST$
  122.     required& = GetCopyListCost("","","")
  123.     IF (required& > 0) THEN
  124.         GOSUB TOOBIG
  125.         DISKSPACE$ = "NE"
  126.     END IF
  127.     ClearCopyList
  128.     RETURN
  129.  
  130. TOOBIG:
  131.     sz$ = UIStartDlg(CUIDLL$, TOOBIG, "FInfo0DlgProc", 0, "")
  132.     IF sz$ = "REACTIVATE" THEN
  133.         GOTO TOOBIG
  134.     END IF
  135.     UIPop 1
  136.     RETURN
  137.  
  138. SUB Install STATIC
  139.  
  140.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  141.     CreateDir DEST$, cmoNone
  142.     AddSectionFilesToCopyList "CCWFiles", SrcDir$, DEST$
  143.     CopyFilesInCopyList
  144.     CreateProgmanGroup "Crystal Caliburn Demo", "", cmoNone
  145.     ShowProgmanGroup "Crystal Caliburn Demo", 1, cmoNone
  146.     CreateProgmanItem "Crystal Caliburn Demo", "Crystal Caliburn DEMO", MakePath(DEST$,"CCWIN.EXE"), "", cmoOverwrite
  147. END SUB
  148.  
  149. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  150.     IF szDir$ = "" THEN
  151.         MakePath = szFile$
  152.     ELSEIF szFile$ = "" THEN
  153.         MakePath = szDir$
  154.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  155.         MakePath = szDir$ + szFile$
  156.     ELSE
  157.         MakePath = szDir$ + "\" + szFile$
  158.     END IF
  159. END FUNCTION
  160.  
  161.  
  162.