home *** CD-ROM | disk | FTP | other *** search
/ Collection of Education / collectionofeducationcarat1997.iso / COMPUSCI / GRAPHICN.ZIP / GRAPHICN.MS_ / GRAPHICN.MS
Text File  |  1993-08-15  |  5KB  |  198 lines

  1. '**************************************************************************
  2. '*                         Graphicon Setup Script
  3. '**************************************************************************
  4.  
  5. '$INCLUDE 'setupapi.inc'
  6. '$INCLUDE 'msdetect.inc'
  7.  
  8. ''Dialog ID's
  9. CONST WELCOME      = 100
  10. CONST DESTPATH     = 300
  11. CONST EXITFAILURE  = 400
  12. CONST EXITSUCCESS  = 700
  13. CONST TOOBIG       = 6300
  14. CONST BADPATH      = 6400
  15.  
  16. ''Bitmap ID
  17. CONST LOGO         = 1
  18.  
  19. GLOBAL DEST$        ''Default destination directory.
  20. GLOBAL WINDRIVE$    ''Windows drive letter.
  21. GLOBAL WINDIR$      ''Windows directory
  22. GLOBAL WINSYSDIR$   ''Windows system directory
  23.  
  24. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  25.  
  26.  
  27.  
  28. INIT:
  29.     CUIDLL$ = "mscuistf.dll"            ''custom user interface dll
  30.  
  31.     SetBitmap CUIDLL$, LOGO
  32.     SetTitle "Graphicon Setup"
  33.     
  34.     maj = GetWindowsMajorVersion()
  35.     min = GetWindowsMinorVersion()
  36.     IF (maj < 3) OR ( (maj = 3) AND (min < 1) ) THEN
  37.        i% = DoMsgBox("Graphicon can be installed under Microsoft Windows 3.1 or later.","Graphicon Setup",MB_OK+MB_ICONHAND+MB_TASKMODAL)
  38.        GOTO ENDOFPRG
  39.     END IF
  40.  
  41.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  42.     IF szInf$ = "" THEN
  43.     szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
  44.     END IF
  45.     ReadInfFile szInf$
  46.  
  47. '' Display the Welcome dialog box
  48. WELCOME:
  49.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", 0, "")
  50.     IF sz$ = "CONTINUE" THEN
  51.     UIPop 1
  52.     ELSEIF sz$ = "REACTIVATE" THEN
  53.         GOTO WELCOME
  54.     ELSE
  55.         UIPop 1
  56.         ERR = 1
  57.         GOTO QUIT
  58.     END IF
  59.  
  60.     WINDRIVE$ = MID$(GetWindowsDir, 1, 1)
  61.     WINDIR$ = GetWindowsDir()
  62.     WINSYSDIR$ = GetWindowsSysDir()
  63.     DEST$ = WINDRIVE$ + ":\GRAPHICN"
  64.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  65.  
  66.  
  67. INSTALL:
  68.     GOTO GETPATH
  69.  
  70. CUSTINST:
  71.     IF IsDirWritable(WINSYSDIR$)=0 OR IsDirWritable(WINDIR$)=0 THEN
  72.        i% = DoMsgBox("The Windows or the Windows System directory is read only.","Graphicon Setup",MB_OK+MB_ICONHAND)
  73.        ERR=1
  74.        GOTO QUIT
  75.     END IF
  76.  
  77.     ClearCopyList
  78.     AddSectionFilesToCopyList "AppFiles", SrcDir$, DEST$
  79.     AddSectionFilesToCopyList "Examples", SrcDir$, DEST$+"\EXAMPLES"
  80.     AddSectionFilesToCopyList "IniFiles", SrcDir$, WINDIR$
  81.     AddSectionFilesToCopyList "RedistFiles", SrcDir$, WINSYSDIR$
  82.  
  83.     IF IsWindowsShared()=TRUE AND GetSymbolValue("STF_MODE") = "ADMIN" THEN
  84.        AddSectionFilesToCopyList "SharedFiles", SrcDir$, WINSYSDIR$
  85.     else
  86.        AddSectionFilesToCopyList "SharedFiles", SrcDir$, WINDIR$
  87.     end if
  88.  
  89.     IF GetCopyListCost("","","") <> 0 THEN
  90.         GOSUB TOOBIG
  91.         GOTO INSTALL
  92.     END IF
  93.  
  94.     CreateDir DEST$, cmoVital
  95.     CreateDir DEST$+"\EXAMPLES", cmoVital
  96.     CopyFilesInCopyList
  97.  
  98.     CreateProgmanGroup "Graphicon", "", cmoNone
  99.     ShowProgmanGroup  "Graphicon", 1, cmoNone
  100.     CreateProgmanItem "Graphicon", "Graphicon", MakePath(DEST$,"GRAPHICN.EXE"), "" , cmoOverwrite
  101.  
  102.  
  103. QUIT:
  104.     ON ERROR GOTO FAIL
  105.  
  106.     IF ERR = 0 THEN
  107.         dlg% = EXITSUCCESS
  108.     ELSE
  109.         dlg% = EXITFAILURE
  110.     END IF
  111. QUITL1:
  112.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  113.     IF sz$ = "REACTIVATE" THEN
  114.         GOTO QUITL1
  115.     END IF
  116.     UIPop 1
  117.  
  118. ENDOFPRG:
  119.     END
  120.  
  121. FAIL:
  122.     i% = DoMsgBox("The setup disk is corrupted!","Graphicon Setup",MB_OK+MB_ICONHAND)
  123.     dlg% = EXITFAILURE
  124.     GOTO QUITL1
  125.  
  126.  
  127. GETPATH:
  128.     SetSymbolValue "EditTextIn", DEST$
  129.     SetSymbolValue "EditFocus", "END"
  130. GETPATHL1:
  131.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", 0 , "")
  132.  
  133.     IF sz$ = "CONTINUE" THEN
  134.         olddest$ = DEST$
  135.         DEST$ = GetSymbolValue("EditTextOut")
  136.  
  137.         ''Validate new path.
  138.         IF IsDirWritable(DEST$) = 0 THEN
  139.             GOSUB BADPATH
  140.             GOTO GETPATHL1
  141.         END IF
  142.         UIPop 1
  143.  
  144.     GOTO CUSTINST
  145.     ELSEIF sz$ = "REACTIVATE" THEN
  146.     GOTO GETPATHL1
  147.     ELSEIF sz$ = "EXIT" THEN
  148.         ERR = 1
  149.         GOTO QUIT
  150.     ELSE
  151.         UIPop 1
  152.         GOTO CUSTINST
  153.     END IF
  154.  
  155.  
  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.  
  166. TOOBIG:
  167.     sz$ = UIStartDlg(CUIDLL$, TOOBIG, "FInfo0DlgProc", 0, "")
  168.     IF sz$ = "REACTIVATE" THEN
  169.         GOTO TOOBIG
  170.     END IF
  171.     UIPop 1
  172.     RETURN
  173.  
  174.  
  175.  
  176. '**
  177. '** Purpose:
  178. '**     Appends a file name to the end of a directory path,
  179. '**     inserting a backslash character as needed.
  180. '** Arguments:
  181. '**     szDir$  - full directory path (with optional ending "\")
  182. '**     szFile$ - filename to append to directory
  183. '** Returns:
  184. '**     Resulting fully qualified path name.
  185. '*************************************************************************
  186. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  187.     IF szDir$ = "" THEN
  188.         MakePath = szFile$
  189.     ELSEIF szFile$ = "" THEN
  190.         MakePath = szDir$
  191.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  192.         MakePath = szDir$ + szFile$
  193.     ELSE
  194.         MakePath = szDir$ + "\" + szFile$
  195.     END IF
  196. END FUNCTION
  197.  
  198.