home *** CD-ROM | disk | FTP | other *** search
/ Everywhere USA Travel Guide / EUSAWEST.BIN / setup.ms_ / setup.bin
Text File  |  1995-08-31  |  8KB  |  257 lines

  1. '**************************************************************************
  2. '*                  Everywhere USA 2.0 Setup
  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 OPTIONS       = 800
  17. CONST APPHELP       = 900
  18. CONST APPHELP2      = 1500
  19. CONST APPHELP3      = 1700
  20. CONST CHECK         = 2500
  21. CONST TOOBIG        = 6300
  22. CONST BADPATH       = 6400
  23.  
  24. CONST EW_REBOOTSYSTEM  = 67
  25. CONST EW_RESTARTWINDOWS  = 66
  26.  
  27. ''Bitmap ID
  28. CONST LOGO = 1
  29.  
  30. ''Disk Sizes
  31.  
  32. GLOBAL File1
  33. GLOBAL File2
  34. GLOBAL WantedDiskSize1&
  35. GLOBAL WantedDiskSize2&
  36.  
  37. ''File Types
  38. GLOBAL DEST$        ''Default destination directory.
  39. GLOBAL DESTDRIVE$   ''Default destination drive.
  40. GLOBAL DESTICONS$  ''Default destination subdirectory.
  41. GLOBAL WINDRIVE$    ''Windows Drive Letter.
  42. GLOBAL SRCDRIVE$    ''Source Drive Letter.
  43. GLOBAL OPTCUR$      ''Option selection from option dialog.
  44. GLOBAL CHECKSTATES$
  45. GLOBAL RUNTIME$
  46. GLOBAL AVITOOLS$
  47. GLOBAL MDKTOOLS$
  48. GLOBAL TOOLS$
  49. GLOBAL RET%
  50.  
  51. SrcDir$ = GetSymbolValue("STF_SRCDIR")
  52. WinDir$ = GetWindowsDir()
  53. WinSysDir$ = GetWindowsSysDir()
  54.  
  55. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  56. DECLARE FUNCTION ExitWindows LIB "user" ( mode&, reserved% ) AS INTEGER
  57.  
  58. INIT:
  59.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  60.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  61.  
  62.     MajorVer% = GetWindowsMajorVersion()
  63.     MinorVer% = GetWindowsMinorVersion()
  64.  
  65.     IF  MajorVer% < 3 OR (MajorVer% = 3 AND MinorVer% < 10) THEN
  66.     i% = DoMsgBox("Microsoft Windows version 3.10 or greater is required for this software.  Please upgrade your version of Windows.", "Installation Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  67.         END
  68.     END IF
  69.  
  70.     SetBitmap CUIDLL$, LOGO
  71.     SetTitle "Everywhere USA 2.0"
  72.  
  73.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  74.     IF szInf$ = "" THEN
  75.         szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
  76.     END IF
  77.     ReadInfFile szInf$
  78.  
  79.     WINDRIVE$ = MID$(WinDir$, 1, 1)
  80.     SRCDRIVE$ = MID$(SrcDir$, 1, 1)
  81.     DEST$ = "C:\guide2"
  82.  
  83.  
  84. WELCOME:
  85.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  86.     IF sz$ = "CONTINUE" THEN
  87.         UIPop 1
  88.     ELSE
  89.         GOSUB ASKQUIT
  90.         GOTO WELCOME
  91.     END IF
  92.  
  93.  
  94. GETPATH:
  95.     SetSymbolValue "EditTextIn", DEST$
  96.     SetSymbolValue "EditFocus", "END"
  97. GETPATHL1:
  98.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  99.     DEST$ = GetSymbolValue("EditTextOut")
  100.  
  101.     IF sz$ = "CONTINUE" THEN
  102.         IF IsDirWritable(DEST$) = 0 THEN
  103.             GOSUB BADPATH
  104.             GOTO GETPATHL1
  105.          END IF
  106.         UIPop 1
  107.     ELSEIF sz$ = "REACTIVATE" THEN
  108.         GOTO GETPATHL1
  109.     ELSE
  110.         GOSUB ASKQUIT
  111.         GOTO GETPATH
  112.     END IF
  113.  
  114.  
  115.     DESTICONS$ = DEST$ + "\icons"
  116.     DESTDRIVE$ = MID$(DEST$, 1, 1)    
  117. ClearCopyList
  118.  
  119.         WantedDiskSize1&=3024000
  120.     WantedDiskSize2&=9103317
  121.         CombDiskSize&=12127317
  122.  
  123.         DiskSize&=GetFreeSpaceForDrive(WINDRIVE$)
  124.  
  125.         If DESTDRIVE$ = WINDRIVE$ then
  126.         DiskSize&=GetFreeSpaceForDrive(WINDRIVE$)
  127.         If CombDiskSize& > DiskSize& Then
  128.         GOSUB TOOBIG
  129.                 ERROR STFQUIT
  130.         Endif
  131.     Else
  132.         If WantedDiskSize1& > DiskSize& then
  133.                 GOSUB TOOBIG
  134.                 ERROR STFQUIT
  135.             EndIf
  136.         DiskSize&=GetFreeSpaceForDrive(DESTDRIVE$)
  137.             If WantedDiskSize2& > DiskSize& then
  138.                 GOSUB TOOBIG
  139.                 ERROR STFQUIT
  140.             EndIf
  141.         EndIf
  142.     CreateDir DEST$, cmoNone
  143.     OpenLogFile MakePath(DEST$, "LOGFILE.OUT"), 0
  144.     CreateDir DESTICONS$, cmoNone
  145.     OpenLogFile MakePath(DESTICONS$, "LOGFILE.OUT"), 0
  146.  
  147.     WriteToLogFile ""
  148.     WriteToLogFile "  User chose as destination directory: '" + DEST$ + "'"
  149.     WriteToLogFile "  User chose option: '" + OPTCUR$ + "'"
  150.     WriteToLogFile ""
  151.     WriteToLogFile "May have had to create the directory: " + DEST$
  152.     WriteToLogFile ""
  153.  
  154.  
  155.  '' Install font here
  156.    ' 'WriteToLogFile "Adding font"
  157.     ''CreateIniKeyValue "win.ini", "fonts", "Calligraphic 421 BT (TrueType)", "TT1139M_.FOT", cmoOverwrite
  158.  
  159.  
  160.    ' SetRestartDir WinDir$
  161.  
  162. '' Setting RUNTIME files to be copied
  163.     AddSectionFilesToCopyList "vbrun", SrcDir$, WinSysDir$
  164.     AddSectionFilesToCopyList "app", SrcDir$, Dest$
  165.     AddSectionFilesToCopyList "icons", SrcDir$, DestIcons$
  166.  
  167.     CopyFilesInCopyList
  168.  
  169.     '** create progman group **
  170.     CreateProgmanGroup "Everywhere USA 2.0", "", cmoNone
  171.     ShowProgmanGroup  "Everywhere USA 2.0", 1, cmoNone
  172.     CreateProgmanItem "Everywhere USA 2.0", "Everywhere USA 2.0", MakePath(DEST$, "guide2.exe ") + MakePath(SRCDRIVE$,""), "", cmoOverwrite
  173.     CreateProgmanItem "Everywhere USA 2.0", "Read Me Now!", MakePath(DEST$,"readme.wri") , "", cmoOverwrite
  174.     CreateProgmanItem "Everywhere USA 2.0", "VfW 1.1 Install",MakePath( SrcDir$, "VFW11\setup.exe") , "", cmoOverwrite
  175.     CloseLogFile
  176.     CreateIniKeyValue WinDir$ + "drp.ini", "Everywhere USA 2.0", "ExeName", DEST$ + "\guide2.exe", cmoOverwrite
  177.     CreateIniKeyValue WinDir$ + "drp.ini", "Everywhere USA 2.0", "CMD", DEST$ + "\guide2.exe" + " " + SRCDRIVE$, cmoOverwrite
  178.    ' use exit restart
  179.  
  180.     RET% = DoMsgBox( "After the install is completed please click the Read Me Now icon in the program group.", "Setup", IDOK+MB_TASKMODAL )
  181.    '' RET% = ExitWindows( EW_RESTARTWINDOWS, 0 )
  182.  
  183. QUIT:
  184.     ON ERROR GOTO ERRQUIT
  185.  
  186.     IF ERR = 0 THEN
  187.         dlg% = EXITSUCCESS
  188.     ELSEIF ERR = STFQUIT THEN
  189.         dlg% = EXITQUIT
  190.     ELSE
  191.         dlg% = EXITFAILURE
  192.     END IF
  193. QUITL1:
  194.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  195.     IF sz$ = "REACTIVATE" THEN
  196.         GOTO QUITL1
  197.     END IF
  198.     UIPop 1
  199.  
  200.     END
  201.  
  202. ERRQUIT:
  203.     i% = DoMsgBox("Setup sources were corrupted, call the included support number", "Setup Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  204.     END
  205.  
  206. ASKQUIT:
  207.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  208.  
  209.     IF sz$ = "EXIT" THEN
  210.         UIPopAll
  211. ''        ERROR STFQUIT
  212.         END
  213.     ELSEIF sz$ = "REACTIVATE" THEN
  214.         GOTO ASKQUIT
  215.     ELSE
  216.         UIPop 1
  217.     END IF
  218.     RETURN
  219.  
  220. TOOBIG:
  221.     sz$ = UIStartDlg(CUIDLL$, TOOBIG, "FInfo0DlgProc", 0, "")
  222.     IF sz$ = "REACTIVATE" THEN
  223.         GOTO TOOBIG
  224.     END IF
  225.     UIPop 1
  226.     RETURN
  227.  
  228. '**
  229. '** Purpose:
  230. '**     Appends a file name to the end of a directory path,
  231. '**     inserting a backslash character as needed.
  232. '** Arguments:
  233. '**     szDir$  - full directory path (with optional ending "\")
  234. '**     szFile$ - filename to append to directory
  235. '** Returns:
  236. '**     Resulting fully qualified path name.
  237. '*************************************************************************
  238. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  239.     IF szDir$ = "" THEN
  240.         MakePath = szFile$
  241.     ELSEIF szFile$ = "" THEN
  242.         MakePath = szDir$
  243.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  244.         MakePath = szDir$ + szFile$
  245.     ELSE
  246.         MakePath = szDir$ + "\" + szFile$
  247.     END IF
  248. END FUNCTION
  249.  
  250. BADPATH:
  251.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  252.     IF sz$ = "REACTIVATE" THEN
  253.         GOTO BADPATH
  254.     END IF
  255.     UIPop 1
  256.     RETURN
  257.