home *** CD-ROM | disk | FTP | other *** search
/ CD-ROM Magazin 1996 March (Planer) / PLANER.BIN / sharewar / win3.x / gore2 / dasetup.ms_ / dasetup.bin
Text File  |  1995-08-07  |  18KB  |  604 lines

  1. '**************************************************************************
  2. '*                           Setup 
  3. '**************************************************************************
  4.  
  5. ''$DEFINE DEBUG  ''Define for script development/debugging
  6. '$DEFINE BSNORM  ''Define for normal BS
  7. ''$DEFINE CUSTOM  ''Define for special boxes
  8.  
  9. '$INCLUDE 'setupapi.inc'
  10. '$INCLUDE 'msdetect.inc'
  11. ''$INCLUDE 'msregdb.inc'
  12.  
  13. rem /-------------------------------------------------------------------\
  14. rem
  15. rem    constants definition
  16. rem
  17. rem \-------------------------------------------------------------------/
  18.  
  19. ''Dialog ID's
  20. ''=======================
  21. CONST WELCOME       = 101
  22. CONST ASKQUIT       = 200
  23. CONST DESTPATH      = 300
  24. CONST EXITFAILURE   = 400
  25. CONST EXITQUIT      = 600
  26. CONST EXITSUCCESS   = 700
  27. CONST OPTIONS       = 800
  28. CONST APPHELP       = 900
  29. CONST TOOBIG        = 6300
  30. CONST BADPATH       = 6400
  31. CONST DACUST1       = 7801
  32. CONST DACUST2       = 7901
  33.  
  34. CONST SETTIME       = 7900
  35. CONST DAREADME      = 8000
  36.  
  37. ''Bitmap ID
  38. CONST LOGO = 1
  39.  
  40. ''File Types
  41. CONST OPTFILES1    = 1
  42. CONST OPTFILES2    = 2
  43. CONST APPFILES     = 3
  44. CONST WINFILES     = 4
  45.  
  46.  
  47. rem /-------------------------------------------------------------------\
  48. rem
  49. rem    Var's
  50. rem
  51. rem \-------------------------------------------------------------------/
  52. GLOBAL DEST$        ''Default destination directory.
  53. GLOBAL OPTCUR$      ''Option selection from option dialog.
  54. GLOBAL WINDRIVE$    ''Windows drive letter.
  55. GLOBAL SHOW$        ''    
  56. GLOBAL OPT1OPT$     ''Option selection from OptFiles1 option dialog.
  57. GLOBAL OPT2OPT$     ''Option selection from OptFiles2 option dialog.
  58.  
  59. ''CustInst list symbol names
  60. GLOBAL EXTRACOSTS$  ''List of extra costs to add per drive
  61. GLOBAL BIGLIST$     ''List of option files cost calc results (boolean)
  62. GLOBAL APPNEEDS$    ''Option list costs per drive for Apps
  63. GLOBAL OPT1NEEDS$   ''Option list costs for Option1 
  64. GLOBAL OPT2NEEDS$   ''Option list costs for Option2
  65.  
  66. ''Dialog list symbol names
  67. GLOBAL CHECKSTATES$    '' Checked/Unchecked Options
  68. GLOBAL STATUSTEXT$    '' 
  69. GLOBAL DRIVETEXT$    '' drive, cost, free + windrive, cost, free
  70.  
  71. rem /-------------------------------------------------------------------\
  72. rem
  73. rem    function declaration
  74. rem
  75. rem \-------------------------------------------------------------------/
  76.  
  77. DECLARE SUB AddOptFilesToCopyList (ftype%)
  78. DECLARE SUB RecalcOptFiles (ftype%)
  79. DECLARE SUB RecalcPath
  80. DECLARE SUB SetDriveStatus
  81. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  82. DECLARE FUNCTION ShowWindow LIB "user.exe" (hwnd% ,Mode%) AS INTEGER
  83. DECLARE FUNCTION SystemParametersInfo LIB "user.exe" (Action% ,Param%, szDummy$ ,Ini%) AS INTEGER
  84. DECLARE FUNCTION WinExec LIB "kernel.exe" (szFile$ ,Mode%) AS INTEGER
  85. DECLARE SUB Install
  86.  
  87. rem /-------------------------------------------------------------------\
  88. rem
  89. rem    initializing
  90. rem
  91. rem \-------------------------------------------------------------------/
  92.  
  93. INIT:
  94.     '' global symbols    
  95.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  96.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  97.  
  98.     ''Disk cost list symbols
  99.     APPNEEDS$   = "AppNeeds"
  100.     OPT1NEEDS$  = "Opt1Needs"
  101.     OPT2NEEDS$  = "Opt2Needs"
  102.     EXTRACOSTS$ = "ExtraCosts"
  103.     BIGLIST$    = "BigList"
  104.  
  105.     ret%=ShowWindow(HwndFrame,3)    ''show fullscreen-setup
  106.  
  107.     SetBitmap CUIDLL$, LOGO
  108.     SetTitle "Installation Bildschirmschoner"
  109.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  110.     IF szInf$ = "" THEN
  111.     szInf$ = GetSymbolValue("STF_CWDDIR") + "dasetup.INF"
  112.     END IF
  113.     
  114.     ReadInfFile szInf$
  115.  
  116.     WINDRIVE$ = MID$(GetWindowsDir, 1, 1)
  117.     DEST$ = GetWindowsDir
  118.  
  119. '$IFDEF CUSTOM
  120.     ''CustInst list symbols
  121.     CHECKSTATES$ = "CheckItemsState"
  122.     STATUSTEXT$  = "StatusItemsText"
  123.     DRIVETEXT$   = "DriveStatusText"
  124.  
  125.     FOR i% = 1 TO 2 STEP 1            '' Optionen1 + 2 auf ON
  126.     AddListItem CHECKSTATES$, "ON"
  127.     NEXT i%
  128.  
  129.     FOR i% = 1 TO 3 STEP 1
  130.     AddListItem STATUSTEXT$, ""        '' Statustexte loeschen
  131.     NEXT i%
  132.     FOR i% = 1 TO 7 STEP 1
  133.     AddListItem DRIVETEXT$, ""
  134.     NEXT i%
  135.  
  136.     ReplaceListItem DRIVETEXT$, 7, DEST$    '' Ziellaufwerk anzeigen
  137.  
  138.     FOR i% = 1 TO 3 STEP 1
  139.     AddListItem BIGLIST$, ""
  140.     NEXT i%
  141. '$ENDIF ''CUSTOM
  142.  
  143.     FOR i% = 1 TO 26 STEP 1
  144.     AddListItem EXTRACOSTS$, "0"
  145.     NEXT i%
  146.  
  147. '$IFDEF CUSTOM
  148.  
  149.     RecalcPath                    '' Paltzbedarf berechnen
  150.     SetDriveStatus                '' und anzeigen
  151. '$ENDIF
  152.     
  153. '$IFDEF DEBUG
  154.     i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  155. '$ENDIF ''DEBUG
  156.  
  157.  
  158.  
  159. ''===================================================
  160. ''
  161. ''    Dialog-Box anzeigen (Information)
  162. ''
  163. ''===================================================
  164. WELCOME:
  165.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  166.     IF sz$ = "CONTINUE" THEN
  167.     UIPop 1
  168.     ELSE
  169.     GOSUB ASKQUIT
  170.     GOTO WELCOME
  171.     END IF
  172.  
  173.  
  174. ''===================================================
  175. ''
  176. ''    Dialog-Box anzeigen (Optionen)
  177. ''
  178. ''===================================================
  179. '$IFDEF CUSTOM
  180.  
  181. CUSTINST:
  182.     sz$ = UIStartDlg(CUIDLL$, DACUST2, "FCustInstDlgProc", APPHELP, HELPPROC$)
  183.  
  184.     IF sz$ = "CONTINUE" THEN
  185.     ''min 1 Option must be selected
  186.     IF GetListItem(CHECKSTATES$, OPTFILES1) = "OFF" AND GetListItem(CHECKSTATES$, OPTFILES2) = "OFF" THEN
  187.         i% = DoMsgBox("Mindestens eine Bibliothek mu▀ installiert werden!", "Setup", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  188.         GOTO CUSTINST
  189.     END IF
  190.  
  191.     ''Install only if it will fit.
  192.     FOR i% = 1 TO 2 STEP 1
  193.         IF GetListItem(BIGLIST$, i%) <> "" THEN
  194.         GOSUB TOOBIG
  195.         GOTO CUSTINST
  196.         END IF
  197.     NEXT i%
  198.     UIPop 1
  199.     GOTO GOINSTALL
  200.     ELSEIF sz$ = "CHK1" THEN
  201.         RecalcOptFiles OPTFILES1
  202.         SetDriveStatus
  203.         GOTO CUSTINST
  204.     ELSEIF sz$ = "CHK2" THEN
  205.         RecalcOptFiles OPTFILES2
  206.         SetDriveStatus
  207.         GOTO CUSTINST
  208.     ELSEIF sz$ = "REACTIVATE" THEN
  209.     RecalcPath
  210.     SetDriveStatus
  211.     GOTO CUSTINST
  212.     ELSE
  213.     GOSUB ASKQUIT
  214.     GOTO CUSTINST
  215.     END IF
  216.  
  217.  
  218. goto ENDCHECKSIZE        '' Werte werden oben bereits einzeln angezeigt
  219.                 '' Checksize im ganzen also nicht noetig
  220. '$ENDIF
  221.  
  222. ''===================================================
  223. ''
  224. ''    Benoetigt, wenn keine Optionsbox
  225. ''
  226. ''===================================================
  227. '$IFDEF BSNORM
  228. CHECKSIZE:
  229.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  230.     ClearCopyList
  231.     AddSectionFilesToCopyList "AppFiles", SrcDir$, DEST$
  232. ''    AddSectionFilesToCopyList "Opt1", SrcDir$, DEST$
  233. ''    AddSectionFilesToCopyList "Opt2", SrcDir$, DEST$
  234.     ''Add extra cost to Windows drive for ini/progman, etc.
  235.     ndrive% = ASC(ucase$(WINDRIVE$)) - ASC("A") + 1
  236.     ReplaceListItem EXTRACOSTS$, ndrive%, "10240"
  237.     StillNeed& = GetCopyListCost(EXTRACOSTS$, APPNEEDS$, "")
  238.        ReplaceListItem EXTRACOSTS$, ndrive%, "0"
  239.  
  240.     if StillNeed& > 0 THEN
  241.         text$="Das Programm kann nicht installiert werden. Es fehlen "+ STR$(StillNeed&/1000) + " KB freier Speicherplatz auf dem Laufwerk auf dem Windows installiert wurde." 
  242.         i% = DoMsgBox(text$, "Achtung", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  243.         dlg% = EXITFAILURE
  244.         GOTO QUITL1
  245.     ELSE
  246.             GOTO GOINSTALL
  247.     END IF
  248. ENDCHECKSIZE:
  249. '$ENDIF
  250.  
  251. GOINSTALL:
  252.     Install            '' Call Sub for copying
  253.  
  254. GOTO README
  255. TIMEDLG:
  256.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  257.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  258.     sz$ = UIStartDlg(CUIDLL$, SETTIME, "FSetTimeDlgProc", APPHELP, HELPPROC$)
  259.     IF sz$ = "CONTINUE" THEN
  260.     UIPop 1
  261.     ELSEIF sz$ = "CANCEL" THEN
  262.     UIPop 1
  263.     ELSE
  264.     GOTO TIMEDLG
  265.     END IF
  266.  
  267. README:
  268.     READMEF$=GetSectionKeyFileName("AppFiles","TXT")
  269.     READMEP$=MakePath (GetWindowsDir , READMEF$)
  270.     SetSymbolValue "ConfirmtextIn", ""
  271.     AddListItem "ConfirmTextIn", "Weitere Informationen k÷nnen Sie in der Datei " + READMEF$ + " im Windows-Verzeichnis nachlesen."
  272.     sz$ = UIStartDlg(CUIDLL$, DAREADME, "FConfirmDlgProc", APPHELP, HELPPROC$)
  273.     IF sz$ = "CONTINUE" THEN
  274.     UIPop 1
  275.     ret%=WinExec("notepad.exe " + READMEP$,5)
  276.     GOTO QUITL2
  277.     ELSE
  278.     UIPop 1
  279.     GOTO QUITL2
  280.     END IF
  281.  
  282. QUIT:
  283.     ON ERROR GOTO ERRQUIT
  284.  
  285.     IF ERR = 0 THEN
  286.     dlg% = EXITSUCCESS
  287.     ELSEIF ERR = STFQUIT THEN
  288.     dlg% = EXITQUIT
  289.     ELSE
  290.     dlg% = EXITFAILURE
  291.     END IF
  292. QUITL1:
  293.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  294.     IF sz$ = "REACTIVATE" THEN
  295.     GOTO QUITL1
  296.     END IF
  297.     UIPop 1
  298.  
  299. QUITL2:
  300.  
  301. '$IFDEF DEBUG
  302.     CloseLogFile
  303. '$ENDIF ''DEBUG
  304.     END
  305.  
  306. ERRQUIT:
  307.     i% = DoMsgBox("Setup sources were corrupted!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  308.     END
  309.  
  310.  
  311.  
  312.  
  313.  
  314. rem /-------------------------------------------------------------------\
  315. rem |                                                                    |
  316. rem |    subfunctions / procedures                                        |
  317. rem |                                                                    |
  318. rem \-------------------------------------------------------------------/
  319.  
  320. '========================================================================
  321. '
  322. '    Install
  323. '
  324. '=========================================================================
  325. '**
  326. '** Purpose:
  327. '**     Builds the copy list and performs all installation operations.
  328. '** Arguments:
  329. '**     none.
  330. '** Returns:
  331. '**     none.
  332. '*************************************************************************
  333. SUB Install STATIC
  334.  
  335. '' JHC    
  336. '$IFDEF DEBUG
  337.     OpenLogFile MakePath(DEST$, "LOGFILE.OUT"), 0
  338.     WriteToLogFile "starting with Install"
  339.     WriteToLogFile ""
  340.     WriteToLogFile "  User chose as destination directory: '" + DEST$ + "'"
  341.     WriteToLogFile "  User chose option: '" + GetListItem(CHECKSTATES$, OPTFILES1) + "'"
  342.     WriteToLogFile "  User chose option: '" + GetListItem(CHECKSTATES$, OPTFILES2) + "'"
  343.     WriteToLogFile ""
  344.     WriteToLogFile "May have had to create the directory: " + DEST$
  345.     WriteToLogFile ""
  346. '$ENDIF ''DEBUG
  347.  
  348.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  349.     ClearCopyList
  350.     AddOptFilesToCopyList WINFILES
  351.     AddOptFilesToCopyList APPFILES
  352. ''    AddOptFilesToCopyList OPTFILES1
  353. ''    AddOptFilesToCopyList OPTFILES2
  354.  
  355.     ret%=SystemParametersInfo (17 ,0 , "" ,3 ) '' write and change
  356.     CopyFilesInCopyList
  357.     
  358.     SYSINI$ = GetWindowsDir+"system.ini"
  359.     WININI$ = GetWindowsDir+"win.ini"
  360.     CONINI$ = GetWindowsDir+"control.ini"
  361.     SPATH$ = GetWindowsDir + GetSectionKeyFileName("WinFiles","SCR")
  362.     CreateIniKeyValue SYSINI$, "Boot", "SCRNSAVE.EXE", SPATH$, cmoOverwrite
  363.  
  364.     '' BS Aktiv schalten
  365.     ret%=SystemParametersInfo (17 ,1 , "" ,1 ) '' update ini-file
  366.     ret%=SystemParametersInfo (15 ,120 , "" ,3 ) '' write and send message
  367.  
  368. END SUB 
  369.  
  370.  
  371. '========================================================================
  372. '
  373. '    AddOptFilesToCopyList
  374. '
  375. '=========================================================================
  376. '**
  377. '** Purpose:
  378. '**     Adds the specified option files to the copy list.
  379. '** Arguments:
  380. '**     ftype%  - type of files to add, one of the following:
  381. '**             APPFILES, OPTFILES1, OPTFILES2
  382. '** Returns:
  383. '**     none.
  384. '-------------------------------------------------------------------------
  385. SUB AddOptFilesToCopyList (ftype%) STATIC
  386.  
  387.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  388.     IF ftype% = OPTFILES1 THEN
  389.     IF GetListItem(CHECKSTATES$, ftype%) = "ON" THEN
  390.         AddSectionFilesToCopyList "Option1", SrcDir$, Dest$
  391.     END IF
  392.     ELSEIF ftype% = OPTFILES2 THEN
  393.       IF GetListItem(CHECKSTATES$, ftype%) = "ON" THEN
  394.       AddSectionFilesToCopyList "Option2", SrcDir$, Dest$
  395.       END IF
  396.     ELSEIF ftype% = WINFILES THEN
  397.       AddSectionFilesToCopyList "WinFiles", SrcDir$, GetWindowsDir
  398.     ELSEIF ftype% = APPFILES THEN
  399.       AddSectionFilesToCopyList "AppFiles", SrcDir$, Dest$
  400.     END IF
  401.     SrcDir$ = ""
  402. END SUB
  403.  
  404. '========================================================================
  405. '
  406. '    RecalcOptFiles
  407. '
  408. '=========================================================================
  409. '**
  410. '** Purpose:
  411. '**     Recalculates disk space for the given option files and sets
  412. '**     the status info symbol "StatusItemsText".
  413. '** Arguments:
  414. '**     ftype% - type of files to add, one of the following:
  415. '**             APPFILES, OPTFILES1, OPTFILES2
  416. '** Returns:
  417. '**     none.
  418. '-------------------------------------------------------------------------
  419. SUB RecalcOptFiles (ftype%) STATIC
  420.     CursorSave% = ShowWaitCursor()
  421.     ClearCopyList
  422.     AddOptFilesToCopyList ftype%
  423.  
  424.     fExtra% = 0
  425.     IF ftype% = APPFILES THEN
  426.     AddOptFilesToCopyList WINFILES
  427.     ListSym$ = APPNEEDS$
  428.     ''Add extra cost to Windows drive for ini/progman, etc.
  429.     ndrive% = ASC(ucase$(WINDRIVE$)) - ASC("A") + 1
  430.     ReplaceListItem EXTRACOSTS$, ndrive%, "10240"
  431.     fExtra% = 1
  432.     ELSEIF ftype% = OPTFILES1 THEN
  433.     ListSym$ = OPT1NEEDS$
  434.     ELSEIF ftype% = OPTFILES2 THEN
  435.       ListSym$ = OPT2NEEDS$
  436.     END IF
  437.  
  438.     StillNeed& = GetCopyListCost(EXTRACOSTS$, ListSym$, "")
  439.  
  440.     cost& = 0
  441.     FOR i% = 1 TO 26 STEP 1
  442.     cost&  = cost& + VAL(GetListItem(ListSym$, i%))
  443.     NEXT i%
  444.  
  445.     ReplaceListItem STATUSTEXT$, ftype%, STR$(cost& / 1024) + " K"
  446.  
  447.     IF StillNeed& > 0 THEN
  448.     ReplaceListItem BIGLIST$, ftype%, "YES"
  449.     ELSE
  450.     ReplaceListItem BIGLIST$, ftype%, ""
  451.     END IF
  452.  
  453.     IF fExtra% THEN
  454.     ReplaceListItem EXTRACOSTS$, ndrive%, "0"
  455.     END IF
  456.     RestoreCursor CursorSave%
  457.     ListSym$ = ""
  458. END SUB
  459.  
  460.  
  461. '========================================================================
  462. '
  463. '    RecalcPath (all Options)
  464. '
  465. '=========================================================================
  466. '**
  467. '** Purpose:
  468. '**     Recalculates disk space and sets option status info according
  469. '**     to the current destination path.
  470. '** Arguments:
  471. '**     none.
  472. '** Returns:
  473. '**     none.
  474. '-------------------------------------------------------------------------
  475. SUB RecalcPath STATIC
  476.  
  477.     CursorSave% = ShowWaitCursor()
  478.  
  479.     RecalcOptFiles APPFILES
  480.     RecalcOptFiles OPTFILES1
  481.     RecalcOptFiles OPTFILES2
  482.  
  483.     RestoreCursor CursorSave%
  484. END SUB
  485.  
  486.  
  487. '========================================================================
  488. '
  489. '    SetDriveStatus    (Show results)
  490. '
  491. '=========================================================================
  492. '**
  493. '** Purpose:
  494. '**     Sets drive status info according to latest disk space calcs.
  495. '** Arguments:
  496. '**     none.
  497. '** Returns:
  498. '**     none.
  499. '-------------------------------------------------------------------------
  500. SUB SetDriveStatus STATIC
  501.  
  502.     drive$ = MID$(DEST$, 1, 1)
  503.     ndrive% = ASC(ucase$(drive$)) - ASC("A") + 1
  504.     cost& = VAL(GetListItem(APPNEEDS$, ndrive%)) + VAL(GetListItem(OPT1NEEDS$, ndrive%)) + VAL(GetListItem(OPT2NEEDS$, ndrive%))
  505.     free& = GetFreeSpaceForDrive(drive$)
  506.     ReplaceListItem DRIVETEXT$, 1, drive$ + ":"
  507.     ReplaceListItem DRIVETEXT$, 2, STR$(cost& / 1024) + " K"
  508.     ReplaceListItem DRIVETEXT$, 3, STR$(free& / 1024) + " K"
  509.  
  510.     IF drive$ = WINDRIVE$ THEN
  511.     ReplaceListItem DRIVETEXT$, 4, ""
  512.     ReplaceListItem DRIVETEXT$, 5, ""
  513.     ReplaceListItem DRIVETEXT$, 6, ""
  514.     ELSE
  515.     ndrive% = ASC(ucase$(WINDRIVE$)) - ASC("A") + 1
  516.     cost& = VAL(GetListItem(APPNEEDS$, ndrive%)) + VAL(GetListItem(OPT1NEEDS$, ndrive%)) + VAL(GetListItem(OPT2NEEDS$, ndrive%))
  517.     IF cost& = 0 THEN
  518.         ReplaceListItem DRIVETEXT$, 4, ""
  519.         ReplaceListItem DRIVETEXT$, 5, ""
  520.         ReplaceListItem DRIVETEXT$, 6, ""
  521.     ELSE
  522.         free& = GetFreeSpaceForDrive(WINDRIVE$)
  523.         ReplaceListItem DRIVETEXT$, 4, WINDRIVE$ + ":"
  524.         ReplaceListItem DRIVETEXT$, 5, STR$(cost& / 1024) + " K"
  525.         ReplaceListItem DRIVETEXT$, 6, STR$(free& / 1024) + " K"
  526.     END IF
  527.     END IF
  528. END SUB
  529.  
  530. '========================================================================
  531. '
  532. '    MakePath
  533. '
  534. '=========================================================================
  535. '**
  536. '** Purpose:
  537. '**     Appends a file name to the end of a directory path,
  538. '**     inserting a backslash character as needed.
  539. '** Arguments:
  540. '**     szDir$  - full directory path (with optional ending "\")
  541. '**     szFile$ - filename to append to directory
  542. '** Returns:
  543. '**     Resulting fully qualified path name.
  544. '-------------------------------------------------------------------------
  545. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  546.     IF szDir$ = "" THEN
  547.     MakePath = szFile$
  548.     ELSEIF szFile$ = "" THEN
  549.     MakePath = szDir$
  550.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  551.     MakePath = szDir$ + szFile$
  552.     ELSE
  553.     MakePath = szDir$ + "\" + szFile$
  554.     END IF
  555. END FUNCTION
  556.  
  557. ''========================================================
  558. ''
  559. ''    show messagebox if not enough available disk-space
  560. ''
  561. ''========================================================
  562. TOOBIG:
  563.     sz$ = UIStartDlg(CUIDLL$, TOOBIG, "FInfo0DlgProc", 0, "")
  564.     IF sz$ = "REACTIVATE" THEN
  565.     RecalcPath
  566.     SetDriveStatus
  567.     GOTO TOOBIG
  568.     END IF
  569.     UIPop 1
  570.     RETURN
  571.  
  572.  
  573. ''========================================================
  574. ''
  575. ''    show messagebox if Path not exists
  576. ''
  577. ''========================================================
  578. BADPATH:
  579.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  580.     IF sz$ = "REACTIVATE" THEN
  581.     GOTO BADPATH
  582.     END IF
  583.     UIPop 1
  584.     RETURN
  585.  
  586. ''========================================================
  587. ''
  588. ''    show messagebox , ask for quitting setup
  589. ''
  590. ''========================================================
  591. ASKQUIT:
  592.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  593.  
  594.     IF sz$ = "EXIT" THEN
  595.     UIPopAll
  596.     ERROR STFQUIT
  597.     ELSEIF sz$ = "REACTIVATE" THEN
  598.     GOTO ASKQUIT
  599.     ELSE
  600.     UIPop 1
  601.     END IF
  602.     RETURN
  603.  
  604.