home *** CD-ROM | disk | FTP | other *** search
/ CD-ROM Today (UK) 12 / cdromtoday12.bin / thumb / setup.mst < prev    next >
Text File  |  1994-12-12  |  5KB  |  209 lines

  1. '**************************************************************************
  2. '*                               Thumbelina
  3. '**************************************************************************
  4.  
  5. '$INCLUDE 'setupapi.inc'
  6. '$INCLUDE 'mscpydis.inc'    ''System
  7. '$INCLUDE 'msdetect.inc'    ''Detects Avalilable Disk Space
  8.  
  9. ''Dialog ID's
  10. CONST WELCOME       = 100
  11. CONST ASKQUIT       = 200
  12. CONST DESTPATH      = 300
  13. CONST EXITFAILURE   = 400
  14. CONST EXITQUIT      = 600
  15. CONST EXITSUCCESS   = 700
  16. CONST APPHELP       = 900
  17. CONST TOOBIG        = 6300
  18. CONST BADPATH       = 6400
  19.  
  20. ''Bitmap ID
  21. CONST LOGO = 1
  22.  
  23. ''Disk Sizes
  24.  
  25. GLOBAL File1
  26. GLOBAL File2
  27. GLOBAL WantedDiskSize&
  28.  
  29. ''File Types
  30. GLOBAL DEST$        ''Default destination directory.
  31. GLOBAL WINDRIVE$    ''Windows Drive Letter.
  32. GLOBAL OPTCUR$      ''Option selection from option dialog.
  33. GLOBAL CHECKSTATES$
  34. GLOBAL RUNTIME$
  35. GLOBAL AVITOOLS$
  36. GLOBAL MDKTOOLS$
  37. GLOBAL TOOLS$
  38.  
  39. SrcDir$ = GetSymbolValue("STF_SRCDIR")
  40. WinDir$ = GetWindowsDir()
  41. WinSysDir$ = GetWindowsSysDir()
  42.  
  43. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  44.  
  45. INIT:
  46.      CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  47.      HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  48.  
  49.      MajorVer% = GetWindowsMajorVersion()
  50.      MinorVer% = GetWindowsMinorVersion()
  51.  
  52.      IF  MajorVer% <> 3 OR MinorVer% <> 10 THEN
  53.      i% = DoMsgBox("Microsoft Windows version 3.10 is required for this software.  Please install this version of Windows.", "Installation Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  54.           END
  55.      END IF
  56.  
  57.      SetBitmap CUIDLL$, LOGO
  58.      SetTitle "Thumbelina"
  59.  
  60.      szInf$ = GetSymbolValue("STF_SRCINFPATH")
  61.      IF szInf$ = "" THEN
  62.           szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
  63.      END IF
  64.      ReadInfFile szInf$
  65.  
  66.      WINDRIVE$ = MID$(WinDir$, 1, 1)
  67.      DEST$ = "C:\THUMB"
  68.  
  69. WELCOME:
  70.      sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  71.      IF sz$ = "CONTINUE" THEN
  72.           UIPop 1
  73.      ELSE
  74.           GOSUB ASKQUIT
  75.           GOTO WELCOME
  76.      END IF
  77.  
  78. GETPATH:
  79.      SetSymbolValue "EditTextIn", DEST$
  80.      SetSymbolValue "EditFocus", "END"
  81. GETPATHL1:
  82.      sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  83.      DEST$ = GetSymbolValue("EditTextOut")
  84.  
  85.      IF sz$ = "CONTINUE" THEN
  86.     IF IsDirWritable(DEST$) = 0 THEN
  87.          GOSUB BADPATH
  88.          GOTO GETPATHL1
  89.     END IF
  90.     UIPop 1
  91.      ELSEIF sz$ = "REACTIVATE" THEN
  92.     GOTO GETPATHL1
  93.      ELSEIF sz$ = "BACK" THEN
  94.     UIPop 1
  95.         GOTO WELCOME
  96.      ELSE
  97.     GOSUB ASKQUIT
  98.     GOTO GETPATH
  99.     END IF
  100.  
  101. ClearCopyList
  102.  
  103.           WantedDiskSize&=2024000
  104.  
  105.           DiskSize&=GetFreeSpaceForDrive(WINDRIVE$)
  106.  
  107.           If WantedDiskSize& > DiskSize& then
  108.                 GOSUB TOOBIG
  109.                 ERROR STFQUIT
  110.           EndIf
  111.  
  112. '' Setting RUNTIME files to be copied
  113.           AddSectionFilesToCopyList "MPlayer", SrcDir$, WinDir$
  114.           AddSectionFilesToCopyList "VfW Runtime", SrcDir$, WinSysDir$
  115.           AddSectionFilesToCopyList "AVICodecs", SrcDir$, WinSysDir$
  116.           AddSectionFilesToCopyList "Thumbelina", SrcDir$, Dest$
  117.  
  118. CopyFilesInCopyList
  119.  
  120. ''Updating WIN.INI and SYSTEM.INI
  121.           CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.MSVC", "msvidc.drv", cmoOverwrite
  122.           CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.RT21", "indeo.drv", cmoOverwrite
  123.           CreateIniKeyValue "WIN.INI", "mci extensions", "avi", "AVIVideo", cmoOverwrite
  124.           CreateIniKeyValue WinDir$ + "system.ini", "mci", "AVIVideo", "mciavi.drv", cmoOverwrite
  125.  
  126.           CreateProgmanGroup "Thumbelina", "", cmoNone
  127.           ShowProgmanGroup  "Thumbelina", 1, cmoNone
  128.           CreateProgmanItem "Thumbelina", "Thumbelina", MakePath(DEST$,"thumb.exe"), "", cmoOverwrite
  129.  
  130. Run ("regedit.exe /s " + MakePath(WinDir$, "mplayer.reg"))
  131.  
  132. Run ("profdisp")
  133.  
  134. QUIT:
  135.      ON ERROR GOTO ERRQUIT
  136.  
  137.      IF ERR = 0 THEN
  138.           dlg% = EXITSUCCESS
  139.      ELSEIF ERR = STFQUIT THEN
  140.           dlg% = EXITQUIT
  141.      ELSE
  142.           dlg% = EXITFAILURE
  143.      END IF
  144. QUITL1:
  145.      sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  146.      IF sz$ = "REACTIVATE" THEN
  147.           GOTO QUITL1
  148.      END IF
  149.      UIPop 1
  150.  
  151.      END
  152.  
  153. ERRQUIT:
  154.      i% = DoMsgBox("Setup sources were corrupted", "Setup Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  155.      END
  156.  
  157. BADPATH:
  158.      sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  159.      IF sz$ = "REACTIVATE" THEN
  160.     GOTO BADPATH
  161.      END IF
  162.      UIPop 1
  163.      RETURN
  164.  
  165. ASKQUIT:
  166.      sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  167.  
  168.      IF sz$ = "EXIT" THEN
  169.           UIPopAll
  170. ''        ERROR STFQUIT
  171.           END
  172.      ELSEIF sz$ = "REACTIVATE" THEN
  173.           GOTO ASKQUIT
  174.      ELSE
  175.           UIPop 1
  176.      END IF
  177.      RETURN
  178.  
  179. TOOBIG:
  180.      sz$ = UIStartDlg(CUIDLL$, TOOBIG, "FInfo0DlgProc", 0, "")
  181.      IF sz$ = "REACTIVATE" THEN
  182.           GOTO TOOBIG
  183.      END IF
  184.      UIPop 1
  185.      RETURN
  186.  
  187. '**
  188. '** Purpose:
  189. '**     Appends a file name to the end of a directory path,
  190. '**     inserting a backslash character as needed.
  191. '** Arguments:
  192. '**     szDir$  - full directory path (with optional ending "\")
  193. '**     szFile$ - filename to append to directory
  194. '** Returns:
  195. '**     Resulting fully qualified path name.
  196. '*************************************************************************
  197. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  198.      IF szDir$ = "" THEN
  199.           MakePath = szFile$
  200.      ELSEIF szFile$ = "" THEN
  201.           MakePath = szDir$
  202.      ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  203.           MakePath = szDir$ + szFile$
  204.      ELSE
  205.           MakePath = szDir$ + "\" + szFile$
  206.      END IF
  207. END FUNCTION
  208.  
  209.