home *** CD-ROM | disk | FTP | other *** search
/ Learning CorelDRAW! 5 / Learning_CorelDRAW5_CorelCDHome_1996.bin / setup / setup.mst < prev    next >
Encoding:
Text File  |  1996-07-15  |  6.5 KB  |  262 lines

  1. '**************************************************************************
  2. '*           MSSetup Toolkit - Corel Learning CorelDRAW 5 Setup          *
  3. '**************************************************************************
  4.  
  5. '$DEFINE DEBUG  ''Define for script development/debugging
  6.  
  7. '$INCLUDE 'setupapi.inc'
  8. '$INCLUDE 'msdetect.inc'
  9.  
  10. CONST WS_VISIBLE=&H10000000
  11. CONST WS_BORDER =&H00800000
  12. CONST WS_CLIPCHILDREN =&H02000000
  13. CONST GWL_STYLE =-16
  14. CONST SW_SHOWMAXIMIZED=3
  15.  
  16. DECLARE FUNCTION ShowWindow LIB "user.exe" (hWnd%,iShow%) AS INTEGER
  17. DECLARE FUNCTION SetWindowLong LIB "user.exe" (hWnd%,offset%,style&) AS LONG
  18.  
  19. hWnd%=HwndFrame()
  20.  
  21. sti&=SetWindowLong(hWnd%,GWL_STYLE,WS_VISIBLE+WS_BORDER+WS_CLIPCHILDREN)
  22. stj%=ShowWindow(hWnd%,SW_SHOWMAXIMIZED)
  23.  
  24. ''Dialog ID's
  25. CONST WELCOME      = 100
  26. CONST ASKQUIT      = 200
  27. CONST DESTPATH     = 300
  28. CONST EXITFAILURE  = 400
  29. CONST EXITQUIT     = 600
  30. CONST EXITSUCCESS  = 700
  31. CONST ASKQTOUR     = 800
  32. CONST APPHELP      = 900
  33. CONST CUSTINST     = 6200
  34. CONST TOOBIG       = 6300
  35. CONST BADPATH      = 6400
  36. CONST README       = 6500
  37. CONST MOSAIC       = 7100
  38. CONST PCDSCSI      = 7200
  39. CONST CDAUDIO      = 7300
  40. CONST VIDEOWARN    = 7500
  41.  
  42. ''Bitmap ID
  43. CONST LOGO         = 1
  44.  
  45. ''File Types
  46. CONST APPLICATIONFILES    = 1
  47.  
  48. GLOBAL DEST$        ''Default destination directory.
  49. GLOBAL WINDRIVE$    ''Windows drive letter.
  50.  
  51. ''CustInst list symbol names
  52. GLOBAL APPLICATIONNEEDS$    ''Option list costs per drive
  53.  
  54. GLOBAL EXTRACOSTS$  ''List of extra costs to add per drive
  55. GLOBAL BIGLIST$     ''List of option files cost calc results (boolean)
  56.  
  57. ''Dialog list symbol names
  58. GLOBAL CHECKSTATES$
  59. GLOBAL STATUSTEXT$
  60. GLOBAL DRIVETEXT$
  61. GLOBAL SrcDir$
  62.  
  63. SrcDir$ = GetSymbolValue("STF_SRCDIR")
  64.  
  65. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  66. ''DECLARE FUNCTION VflatdPresent LIB "iniupd.dll" AS INTEGER
  67.  
  68. INIT:
  69.     CUIDLL$ = "mscuistf.dll"            ''custom user interface dll
  70.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  71.  
  72.     SetBitmap CUIDLL$, LOGO
  73.     SetTitle "Learning CorelDRAW 5 Setup"
  74.  
  75.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  76.     IF szInf$ = "" THEN
  77.     szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
  78.     END IF
  79.     ReadInfFile szInf$
  80.  
  81.     WINDRIVE$ = MID$(GetWindowsDir, 1, 1)
  82.     WINDIR$ = GetWindowsDir()
  83.     WINSYSDIR$ = GetWindowsSysDir()
  84.     DEST$ = ucase$(WINDRIVE$) + ":\APPLICAT"
  85.  
  86.     ''CustInst list symbols
  87.     CHECKSTATES$ = "CheckItemsState"
  88.     STATUSTEXT$  = "StatusItemsText"
  89.     DRIVETEXT$   = "DriveStatusText"
  90.     FOR i% = 1 TO 1 STEP 1
  91.     AddListItem CHECKSTATES$, "ON"
  92.     NEXT i%
  93.     FOR i% = 1 TO 1 STEP 1
  94.     AddListItem STATUSTEXT$, ""
  95.     NEXT i%
  96.     FOR i% = 1 TO 7 STEP 1
  97.     AddListItem DRIVETEXT$, ""
  98.     NEXT i%
  99.     ReplaceListItem DRIVETEXT$, 7, DEST$
  100.  
  101.     ''Disk cost list symbols
  102.     APPLICATIONNEEDS$  = "ApplicationNeeds"
  103.     EXTRACOSTS$        = "ExtraCosts"
  104.     BIGLIST$           = "BigList"
  105.     FOR i% = 1 TO 1 STEP 1
  106.     AddListItem BIGLIST$, ""
  107.     NEXT i%
  108.     FOR i% = 1 TO 26 STEP 1
  109.     AddListItem EXTRACOSTS$, "0"
  110.     NEXT i%
  111.  
  112.  
  113. '$IFDEF DEBUG
  114.     i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  115. '$ENDIF ''DEBUG
  116.  
  117.  
  118. WELCOME:
  119.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  120.     IF sz$ = "CONTINUE" THEN
  121.     UIPop 1
  122.     GOTO INSTALL
  123.     ELSE
  124.     GOSUB ASKQUIT
  125.     GOTO WELCOME
  126.     END IF
  127.  
  128. INSTALL:
  129.     ClearCopyList
  130.  
  131.     InstDrive$=MID$(DEST$,1,2)
  132.     CreateProgmanGroup "Corel CD Home", "", cmoNone
  133.     CreateProgmanItem "Corel CD Home", "Learning CorelDRAW 5", SrcDir$ + "usedraw5\program\Lrndraw5.exe", "", cmoOverwrite
  134.     CreateProgmanItem "Corel CD Home", "Learning CorelDRAW 5 ReadMe", SrcDir$ + "readme.txt", "", cmoOverwrite
  135.     CreateIniKeyValue WINDIR$ + "cdhome.ini", "Learning CorelDRAW 5", "Dir", SrcDir$ + "usedraw5\program", cmoOverwrite
  136.  
  137. README: 
  138.     sz$ = UIStartDlg(CUIDLL$, README, "FInfoDlgProc", 0, "")
  139.     UIPop 1
  140.     IF sz$ = "CONTINUE" THEN
  141.      Run ("notepad.exe "+SrcDir$+"readme.txt")
  142.     ENDIF
  143.  
  144.  
  145. QUIT:
  146.     ON ERROR GOTO ERRQUIT
  147.  
  148.     IF ERR = 0 THEN
  149.     dlg% = EXITSUCCESS
  150.     ELSEIF ERR = STFQUIT THEN
  151.     dlg% = EXITQUIT
  152.     ELSE
  153.     dlg% = EXITFAILURE
  154.     END IF
  155. QUITL1:
  156.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  157.     IF sz$ = "REACTIVATE" THEN
  158.     GOTO QUITL1
  159.     END IF
  160.     UIPop 1
  161.     END
  162.  
  163. ERRQUIT:
  164.     i% = DoMsgBox("Setup sources were corrupted, call Corel Tech Support", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  165.     END
  166.  
  167.  
  168. GETPATH:
  169.     SetSymbolValue "EditTextIn", DEST$
  170.     SetSymbolValue "EditFocus", "END"
  171. GETPATHL1:
  172.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  173.  
  174.     IF sz$ = "CONTINUE" THEN
  175.     olddest$ = DEST$
  176.     DEST$ = GetSymbolValue("EditTextOut")
  177.  
  178.     ''Validate new path.
  179.     IF IsDirWritable(DEST$) = 0 THEN
  180.         GOSUB BADPATH
  181.         GOTO GETPATHL1
  182.     END IF
  183.     UIPop 1
  184.  
  185.     ''Truncate display if too long.
  186.     IF LEN(DEST$) > 23 THEN
  187.         ReplaceListItem DRIVETEXT$, 7, MID$(DEST$, 1, 23)+"..."
  188.     ELSE
  189.         ReplaceListItem DRIVETEXT$, 7, DEST$
  190.     END IF
  191.  
  192.     olddest$ = ""
  193.         GOTO WELCOME
  194.     ELSEIF sz$ = "REACTIVATE" THEN
  195.     GOTO GETPATHL1
  196.     ELSEIF sz$ = "EXIT" THEN
  197.     GOSUB ASKQUIT
  198.     GOTO GETPATHL1
  199.     ELSE
  200.     UIPop 1
  201.         GOTO WELCOME
  202.     END IF
  203.  
  204.  
  205.  
  206. TOOBIG:
  207.     sz$ = UIStartDlg(CUIDLL$, TOOBIG, "FInfo0DlgProc", 0, "")
  208.     IF sz$ = "REACTIVATE" THEN
  209.     GOTO TOOBIG
  210.     END IF
  211.     UIPop 1
  212.     RETURN
  213.  
  214.  
  215.  
  216. BADPATH:
  217.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  218.     IF sz$ = "REACTIVATE" THEN
  219.     GOTO BADPATH
  220.     END IF
  221.     UIPop 1
  222.     RETURN
  223.  
  224.  
  225.  
  226. ASKQUIT:
  227.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  228.  
  229.     IF sz$ = "EXIT" THEN
  230.     UIPopAll
  231.     ERROR STFQUIT
  232.     ELSEIF sz$ = "REACTIVATE" THEN
  233.     GOTO ASKQUIT
  234.     ELSE
  235.     UIPop 1
  236.     END IF
  237.     RETURN
  238.  
  239.  
  240. '**
  241. '** Purpose:
  242. '**     Appends a file name to the end of a directory path,
  243. '**     inserting a backslash character as needed.
  244. '** Arguments:
  245. '**     szDir$  - full directory path (with optional ending "\")
  246. '**     szFile$ - filename to append to directory
  247. '** Returns:
  248. '**     Resulting fully qualified path name.
  249. '*************************************************************************
  250. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  251.     IF szDir$ = "" THEN
  252.     MakePath = szFile$
  253.     ELSEIF szFile$ = "" THEN
  254.     MakePath = szDir$
  255.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  256.     MakePath = szDir$ + szFile$
  257.     ELSE
  258.     MakePath = szDir$ + "\" + szFile$
  259.     END IF
  260. END FUNCTION
  261.  
  262.