home *** CD-ROM | disk | FTP | other *** search
/ The Best of Game Classics / cd2.bin / CYBER / SETUP1 / AST.MS_ / AST.MS
Text File  |  1994-10-08  |  5KB  |  233 lines

  1. '**************************************************************************
  2. '*                       MSSetup for Wasteroids
  3. '**************************************************************************
  4.  
  5. '$DEFINE DEBUG  ''Define for script development/debugging
  6.  
  7. '$INCLUDE 'setupapi.inc'
  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 CHECK         = 2500
  19. CONST BADPATH       = 6400
  20. CONST RESTART       = 1000
  21.  
  22. ''Check types
  23. CONST LOAD_WAST     = 1
  24. CONST LOAD_WING     = 2
  25.  
  26. ''Bitmap ID
  27. CONST LOGO = 1
  28.  
  29. GLOBAL DEST$        ''Default destination directory.
  30.  
  31. DECLARE SUB Install
  32. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  33.  
  34. GLOBAL CHECKSTATES$ ''Dialog list symbol names
  35.  
  36. GLOBAL bInstallDVA%
  37.  
  38. DECLARE FUNCTION VflatdPresent LIB "iniupd.DLL" AS INTEGER
  39.  
  40. INIT:
  41.     bInstallDVA% = 0
  42.  
  43.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  44.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  45.  
  46.     SetBitmap CUIDLL$, LOGO
  47.     SetTitle "Setup for Wasteroids"
  48.  
  49.      szInf$ = GetSymbolValue("STF_SRCINFPATH")
  50.     IF szInf$ = "" THEN
  51.         szInf$ = GetSymbolValue("STF_CWDDIR") + "AST.INF"
  52.     END IF
  53.     ReadInfFile szInf$
  54.  
  55.     DEST$ = "C:\WINAPPS\GAMES\W-AST"
  56.  
  57. WELCOME:
  58.      sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  59.      IF sz$ = "CONTINUE" THEN
  60.           UIPop 1
  61.      ELSE
  62.           GOSUB ASKQUIT
  63.           GOTO WELCOME
  64.      END IF
  65.  
  66.      CHECKSTATES$ = "CheckItemsIn"
  67.      AddListItem CHECKSTATES$, "ON"
  68.      AddListItem CHECKSTATES$, "ON"
  69.  
  70. CHECK:
  71.      sz$ = UIStartDlg(CUIDLL$, CHECK, "FCheckDlgProc", APPHELP, HELPPROC$)
  72.      IF sz$ = "CONTINUE" THEN
  73.           UIPop 1
  74.      ELSE
  75.           GOSUB ASKQUIT
  76.           GOTO CHECK
  77.      END IF
  78.  
  79.      CHECKSTATES$ = "CheckItemsOut"
  80.  
  81. ' nothing to do?
  82.      IF GetListItem(CHECKSTATES$, LOAD_WAST) = "ON" THEN
  83.           GOSUB GETPATH
  84.           Install
  85.      END IF
  86.  
  87.      IF GetListItem(CHECKSTATES$, LOAD_WING) = "ON" THEN
  88.           GOSUB InstallWinG
  89.      END IF
  90.  
  91.  
  92. QUIT:
  93.      ON ERROR GOTO ERRQUIT
  94.  
  95.      IF ERR = 0 THEN
  96.           dlg% = EXITSUCCESS
  97.      ELSEIF ERR = STFQUIT THEN
  98.           dlg% = EXITQUIT
  99.      ELSE
  100.           dlg% = EXITFAILURE
  101.      END IF
  102.  
  103. QUITL1:
  104.      if dlg% = EXITSUCCESS AND bInstallDVA% = 1 then
  105.           sz$ = UIStartDlg(CUIDLL$, RESTART, "FInfoDlgProc", APPHELP, HELPPROC$)
  106.           UIPop 1
  107.      end if
  108.  
  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 555-1212!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  119.      END
  120.  
  121.  
  122. BADPATH:
  123.      sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  124.      IF sz$ = "REACTIVATE" THEN
  125.           GOTO BADPATH
  126.      END IF
  127.      UIPop 1
  128.      RETURN
  129.  
  130.  
  131.  
  132. ASKQUIT:
  133.      sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  134.  
  135.      IF sz$ = "EXIT" THEN
  136.           UIPopAll
  137.           ERROR STFQUIT
  138.      ELSEIF sz$ = "REACTIVATE" THEN
  139.           GOTO ASKQUIT
  140.      ELSE
  141.           UIPop 1
  142.      END IF
  143.      RETURN
  144.  
  145.  
  146.  
  147. '**
  148. '** Purpose:
  149. '**     Builds the copy list and performs all installation operations.
  150. '** Arguments:
  151. '**     none.
  152. '** Returns:
  153. '**     none.
  154. '*************************************************************************
  155. SUB Install STATIC
  156.  
  157.      SrcDir$ = GetSymbolValue("STF_SRCDIR")
  158.      CreateDir DEST$, cmoNone
  159.  
  160.      AddSectionFilesToCopyList "W-ast", SrcDir$, DEST$
  161.      CopyFilesInCopyList
  162.  
  163.      CreateProgmanGroup "Wasteroids", "", cmoNone
  164.      ShowProgmanGroup  "Wasteroids", 1, cmoNone
  165.      CreateProgmanItem "Wasteroids", "Wasteroids", MakePath(DEST$,"ast.exe"), "", cmoOverwrite
  166.  
  167. END SUB
  168.  
  169. '*** Install WinG
  170.  
  171. InstallWing:
  172.  
  173.      SrcDir$ = GetSymbolValue("STF_SRCDIR")
  174.      DEST$ = GetWindowsSysDir
  175.  
  176.      AddSectionFilesToCopyList "WinG", SrcDir$, DEST$
  177.      CopyFilesInCopyList
  178.  
  179.      IF VflatdPresent() = 0 THEN
  180.           CreateSysIniKeyValue GetWindowsDir + "system.ini", "386Enh", "device", GetWindowsSysDir+"dva.386", cmoOverwrite
  181.           bInstallDVA% = 1
  182.      END IF
  183.  
  184.      RETURN
  185.  
  186. GETPATH:
  187.      SetSymbolValue "EditTextIn", DEST$
  188.      SetSymbolValue "EditFocus", "END"
  189. GETPATHL1:
  190.      sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  191.      DEST$ = GetSymbolValue("EditTextOut")
  192.  
  193.      IF sz$ = "CONTINUE" THEN
  194.           IF IsDirWritable(DEST$) = 0 THEN
  195.                 GOSUB BADPATH
  196.                 GOTO GETPATHL1
  197.           END IF
  198.           UIPop 1
  199.      ELSEIF sz$ = "REACTIVATE" THEN
  200.           GOTO GETPATHL1
  201.      ELSEIF sz$ = "BACK" THEN
  202.           UIPop 1
  203.           GOTO CHECK
  204.      ELSE
  205.           GOSUB ASKQUIT
  206.           GOTO GETPATH
  207.      END IF
  208.  
  209.      RETURN
  210.  
  211. '**
  212. '** Purpose:
  213. '**     Appends a file name to the end of a directory path,
  214. '**     inserting a backslash character as needed.
  215. '** Arguments:
  216. '**     szDir$  - full directory path (with optional ending "\")
  217. '**     szFile$ - filename to append to directory
  218. '** Returns:
  219. '**     Resulting fully qualified path name.
  220. '*************************************************************************
  221. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  222.      IF szDir$ = "" THEN
  223.           MakePath = szFile$
  224.      ELSEIF szFile$ = "" THEN
  225.           MakePath = szDir$
  226.      ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  227.           MakePath = szDir$ + szFile$
  228.      ELSE
  229.           MakePath = szDir$ + "\" + szFile$
  230.      END IF
  231. END FUNCTION
  232.  
  233.