home *** CD-ROM | disk | FTP | other *** search
/ Computer Arts Interactive 4 / CARTS4.iso / pc / axs / axs.mst < prev    next >
Text File  |  1995-05-17  |  5KB  |  211 lines

  1. '**************************************************************************
  2. '*                       MSSetup Toolkit Sample 1
  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 OPTIONS       = 800
  18. CONST APPHELP       = 900
  19. CONST BADPATH       = 6400
  20.  
  21. ''Bitmap ID
  22. CONST LOGO = 1
  23.  
  24. GLOBAL DEST$        ''Default destination directory.
  25. GLOBAL OPTCUR$      ''Option selection from option dialog.
  26.  
  27. DECLARE SUB Install
  28. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  29.  
  30.  
  31. INIT:
  32.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  33.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  34.  
  35.     SetBitmap CUIDLL$, LOGO
  36.     SetTitle "ImageAXS Setup"
  37.  
  38.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  39.     IF szInf$ = "" THEN
  40.     szInf$ = GetSymbolValue("STF_CWDDIR") + "axs.INF"
  41.     END IF
  42.     ReadInfFile szInf$
  43.  
  44.     OPTCUR$ = "1"
  45.     DEST$ = "C:\IMAGEAXS"
  46.  
  47. WELCOME:
  48.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  49.     IF sz$ = "CONTINUE" THEN
  50.     UIPop 1
  51.     ELSE
  52.     GOSUB ASKQUIT
  53.     GOTO WELCOME
  54.     END IF
  55.  
  56. OPTION:
  57.     SetSymbolValue "RadioDefault", OPTCUR$
  58. OPTL1:
  59.     sz$ = UIStartDlg(CUIDLL$, OPTIONS, "FRadioDlgProc", APPHELP, HELPPROC$)
  60.     OPTCUR$ = GetSymbolValue("ButtonChecked")
  61.  
  62.     IF sz$ = "CONTINUE" THEN
  63.     UIPop(1)
  64.     ELSEIF sz$ = "REACTIVATE" THEN
  65.     GOTO OPTL1
  66.     ELSE
  67.     GOSUB ASKQUIT
  68.     GOTO OPTION
  69.     END IF
  70.  
  71. GETPATH:
  72.     SetSymbolValue "EditTextIn", DEST$
  73.     SetSymbolValue "EditFocus", "END"
  74. GETPATHL1:
  75.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  76.     DEST$ = GetSymbolValue("EditTextOut")
  77.  
  78.     IF sz$ = "CONTINUE" THEN
  79.     IF IsDirWritable(DEST$) = 0 THEN
  80.         GOSUB BADPATH
  81.         GOTO GETPATHL1
  82.     END IF
  83.     UIPop 1
  84.     ELSEIF sz$ = "REACTIVATE" THEN
  85.     GOTO GETPATHL1
  86.     ELSEIF sz$ = "BACK" THEN
  87.     UIPop 1
  88.     GOTO GETPATH
  89.     ELSE
  90.     GOSUB ASKQUIT
  91.     GOTO GETPATH
  92.     END IF
  93.  
  94.  
  95.     Install
  96.  
  97.  
  98. QUIT:
  99.     ON ERROR GOTO ERRQUIT
  100.  
  101.     IF ERR = 0 THEN
  102.     dlg% = EXITSUCCESS
  103.     ELSEIF ERR = STFQUIT THEN
  104.     dlg% = EXITQUIT
  105.     ELSE
  106.     dlg% = EXITFAILURE
  107.     END IF
  108. QUITL1:
  109.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  110.     IF sz$ = "REACTIVATE" THEN
  111.     GOTO QUITL1
  112.     END IF
  113.     UIPop 1
  114.  
  115.     END
  116.  
  117. ERRQUIT:
  118.     i% = DoMsgBox("Setup sources were corrupted, call AXS at (510) 540-5232!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  119.     END
  120.  
  121.  
  122.  
  123. BADPATH:
  124.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  125.     IF sz$ = "REACTIVATE" THEN
  126.     GOTO BADPATH
  127.     END IF
  128.     UIPop 1
  129.     RETURN
  130.  
  131.  
  132.  
  133. ASKQUIT:
  134.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  135.  
  136.     IF sz$ = "EXIT" THEN
  137.     UIPopAll
  138.     ERROR STFQUIT
  139.     ELSEIF sz$ = "REACTIVATE" THEN
  140.     GOTO ASKQUIT
  141.     ELSE
  142.     UIPop 1
  143.     END IF
  144.     RETURN
  145.  
  146.  
  147.  
  148. '**
  149. '** Purpose:
  150. '**     Builds the copy list and performs all installation operations.
  151. '** Arguments:
  152. '**     none.
  153. '** Returns:
  154. '**     none.
  155. '*************************************************************************
  156. SUB Install STATIC
  157.  
  158.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  159.     CreateDir DEST$, cmoNone
  160.  
  161.     AddSectionFilesToCopyList "Files", SrcDir$, DEST$
  162.     IF OPTCUR$ = "1" THEN
  163.         AddSectionFilesToCopyList "Samples", SrcDir$, MakePath (DEST$, "SAMPLES" )
  164.     END IF
  165.  
  166.     drive$ = MID$(DEST$, 1, 1)
  167. '       IF GetFreeSpaceForDrive(drive$) < GetCopyListCost("10000","","") THEN
  168. '       IF GetFreeSpaceForDrive(drive$) < 2000000 THEN
  169.     IF GetCopyListCost("10000","","") > 0 THEN
  170.         i% = DoMsgBox("Insufficient disk space. ImageAXS requires 2 Megabytes", "Error", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  171.         RETURN
  172.     END IF
  173.  
  174.     CopyFilesInCopyList
  175.  
  176.     CreateIniKeyValue "WIN.INI", "Extensions", "col", MakePath(DEST$,"imageaxs.exe ^.col"), cmoOverwrite
  177.     CreateProgmanGroup "ImageAXS", "", cmoNone
  178.     ShowProgmanGroup  "ImageAXS", 1, cmoNone
  179.  
  180.     CreateProgmanItem "ImageAXS", "ImageAXS 2.5 Demo", MakePath(DEST$,"imageaxs.exe"), "", cmoOverwrite
  181.     CreateProgmanItem "ImageAXS", "ImageAXS ReadMe", MakePath(DEST$,"readme.wri"), "", cmoOverwrite
  182.     IF OPTCUR$ = "1" THEN
  183.         CreateProgmanItem "ImageAXS", "Sample Collection", MakePath(DEST$,"samples\dci.col"), "", cmoOverwrite
  184.     END IF
  185. END SUB
  186.  
  187.  
  188.  
  189. '**
  190. '** Purpose:
  191. '**     Appends a file name to the end of a directory path,
  192. '**     inserting a backslash character as needed.
  193. '** Arguments:
  194. '**     szDir$  - full directory path (with optional ending "\")
  195. '**     szFile$ - filename to append to directory
  196. '** Returns:
  197. '**     Resulting fully qualified path name.
  198. '*************************************************************************
  199. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  200.     IF szDir$ = "" THEN
  201.     MakePath = szFile$
  202.     ELSEIF szFile$ = "" THEN
  203.     MakePath = szDir$
  204.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  205.     MakePath = szDir$ + szFile$
  206.     ELSE
  207.     MakePath = szDir$ + "\" + szFile$
  208.     END IF
  209. END FUNCTION
  210.  
  211.