home *** CD-ROM | disk | FTP | other *** search
/ Home Edutainment Collect… Productivity & Utilities / Aztech-HomeEdutainmentCollection-Vol7-WindowsProductivityUtilities.iso / graphicn / graphicn.ms_ < prev    next >
Encoding:
Text File  |  1993-11-06  |  4.8 KB  |  191 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.         GOTO ENDOFPRG
  57.     END IF
  58.  
  59.     WINDRIVE$ = MID$(GetWindowsDir, 1, 1)
  60.     WINDIR$ = GetWindowsDir()
  61.     WINSYSDIR$ = GetWindowsSysDir()
  62.     DEST$ = WINDRIVE$ + ":\GRAPHICN"
  63.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  64.  
  65. INSTALL:
  66.     GOTO GETPATH
  67.  
  68. CUSTINST:
  69.     IF IsDirWritable(WINDIR$)=0 THEN
  70.        i% = DoMsgBox("Cannot write to the Windows directory.","Graphicon Setup",MB_OK+MB_ICONHAND)
  71.        ERR=1
  72.        GOTO QUIT
  73.     END IF
  74.  
  75.     ClearCopyList
  76.     AddSectionFilesToCopyList "AppFiles", SrcDir$, DEST$
  77.     AddSectionFilesToCopyList "Examples", SrcDir$, DEST$+"\EXAMPLES"
  78.     AddSectionFilesToCopyList "IniFiles", SrcDir$, WINDIR$
  79.     AddSectionFilesToCopyList "SharedFiles", SrcDir$, DEST$
  80.  
  81.     IF GetCopyListCost("","","") <> 0 THEN
  82.         GOSUB TOOBIG
  83.         GOTO INSTALL
  84.     END IF
  85.  
  86.     CreateDir DEST$, cmoVital
  87.     CreateDir DEST$+"\EXAMPLES", cmoNone
  88.     CopyFilesInCopyList
  89.  
  90.     CreateProgmanGroup "Graphicon", "", cmoNone
  91.     ShowProgmanGroup  "Graphicon", 1, cmoNone
  92.     CreateProgmanItem "Graphicon", "Graphicon", MakePath(DEST$,"GRAPHICN.EXE"), "" , cmoOverwrite
  93.     CreateProgmanItem "Graphicon", "Release notes", "NOTEPAD.EXE " + MakePath(DEST$,"RELNOTES.TXT"), "", cmoOverwrite
  94.  
  95.  
  96. QUIT:
  97.     ON ERROR GOTO FAIL
  98.  
  99.     IF ERR = 0 THEN
  100.         dlg% = EXITSUCCESS
  101.     ELSE
  102.         dlg% = EXITFAILURE
  103.     END IF
  104. QUITL1:
  105.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  106.     IF sz$ = "REACTIVATE" THEN
  107.         GOTO QUITL1
  108.     END IF
  109.     UIPop 1
  110.  
  111. ENDOFPRG:
  112.     END
  113.  
  114. FAIL:
  115.     i% = DoMsgBox("The setup disk is corrupted!","Graphicon Setup",MB_OK+MB_ICONHAND)
  116.     dlg% = EXITFAILURE
  117.     GOTO QUITL1
  118.  
  119.  
  120. GETPATH:
  121.     SetSymbolValue "EditTextIn", DEST$
  122.     SetSymbolValue "EditFocus", "END"
  123. GETPATHL1:
  124.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", 0 , "")
  125.  
  126.     IF sz$ = "CONTINUE" THEN
  127.         olddest$ = DEST$
  128.         DEST$ = GetSymbolValue("EditTextOut")
  129.  
  130.         ''Validate new path.
  131.         IF IsDirWritable(DEST$) = 0 THEN
  132.             GOSUB BADPATH
  133.             GOTO GETPATHL1
  134.         END IF
  135.         UIPop 1
  136.  
  137.     GOTO CUSTINST
  138.     ELSEIF sz$ = "REACTIVATE" THEN
  139.     GOTO GETPATHL1
  140.     ELSEIF sz$ = "EXIT" THEN
  141.         ERR = 1
  142.         GOTO QUIT
  143.     ELSE
  144.         UIPop 1
  145.         GOTO CUSTINST
  146.     END IF
  147.  
  148.  
  149.  
  150. BADPATH:
  151.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  152.     IF sz$ = "REACTIVATE" THEN
  153.     GOTO BADPATH
  154.     END IF
  155.     UIPop 1
  156.     RETURN
  157.  
  158.  
  159. TOOBIG:
  160.     sz$ = UIStartDlg(CUIDLL$, TOOBIG, "FInfo0DlgProc", 0, "")
  161.     IF sz$ = "REACTIVATE" THEN
  162.         GOTO TOOBIG
  163.     END IF
  164.     UIPop 1
  165.     RETURN
  166.  
  167.  
  168.  
  169. '**
  170. '** Purpose:
  171. '**     Appends a file name to the end of a directory path,
  172. '**     inserting a backslash character as needed.
  173. '** Arguments:
  174. '**     szDir$  - full directory path (with optional ending "\")
  175. '**     szFile$ - filename to append to directory
  176. '** Returns:
  177. '**     Resulting fully qualified path name.
  178. '*************************************************************************
  179. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  180.     IF szDir$ = "" THEN
  181.         MakePath = szFile$
  182.     ELSEIF szFile$ = "" THEN
  183.         MakePath = szDir$
  184.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  185.         MakePath = szDir$ + szFile$
  186.     ELSE
  187.         MakePath = szDir$ + "\" + szFile$
  188.     END IF
  189. END FUNCTION
  190.  
  191.