home *** CD-ROM | disk | FTP | other *** search
- '**************************************************************************
- '* Behind the Mask setup
- '**************************************************************************
-
- '$DEFINE DEBUG ''Define for script development/debugging
-
- '$INCLUDE 'setupapi.inc'
- '$INCLUDE 'msdetect.inc'
-
- rem String id's
- rem -----------
- rem Note: If MSSETUP were really smart, we could use the
- rem #defines in DIALOGS.HR. Instead, we must manually
- rem keep them in step
- rem ----------------------------------------------------
- CONST STR_PLAYER = 1024 ''Movie Player
- CONST STR_VIEWER = 1025 ''Picture Viewer
- CONST STR_GROUP = 1026 ''Program Manager group
- CONST STR_TITLE = 1027 ''Installer Title
- CONST STR_MSG1 = 1028 ''Version error message part 1
- CONST STR_MSG2 = 1029 ''Version error message part 2
- CONST STR_MSG3 = 1030 ''Remove obsolete files?
- CONST STR_WARNING = 1031 ''Warning
- CONST STR_HELP = 1032 ''Help
- CONST STR_SAMPLE = 1033 ''Sample movie
-
- rem Dialog ID's
- rem -----------
- CONST WELCOME = 100
- CONST ASKQUIT = 200
- CONST DESTPATH = 300
- CONST EXITFAILURE = 400
- CONST EXITQUIT = 600
- CONST EXITSUCCESS = 700
- CONST OPTIONS = 800
- CONST HELP_WELCOME = 900
- CONST CHECK = 2500
- CONST CUSTINST = 6200
- CONST TOOBIG = 6300
- CONST BADPATH = 6400
- CONST HELP_CUSTINST =6404
- CONST HELP_GOODIES = 6404
- CONST HELP_OPTIONS = 6404
- CONST HELP_DESTPATH =6407
-
- rem Windows in the QTW DLL
- rem ----------------------------------------------------
- CONST NUKEOLD = 101 '' WARNING FOR OLDER VERSIONS
- CONST OLDMESS = 102 '' MODELESS DIALOGUE BOX FOR OLDER VERSIONS
-
- rem Other consts from QTW
- rem ----------------------------------------------------
- CONST FILES_REMOVED = 1
- CONST FILES_SKIPPED = 2
-
- ''Bitmap ID
- CONST LOGO = 1
-
- ''File Types
- CONST BTMFILES = 1
- CONST GOODIESFILES = 2
- CONST NUMFILETYPES = 2
-
- '' Goodies
- CONST WALLPAPER = 1
- CONST SOUNDS = 2
- CONST NUMGOODIES = 2
-
- GLOBAL DEST$ ''Default destination directory.
- GLOBAL WINDRIVE$ ''Windows drive letter.
- GLOBAL BTMOPT$ ''Option selection from BTM option dialog.
- GLOBAL GOODIESOPT$ ''Option selection from GOODIES option dialog.
-
- ''CustInst list symbol names
- GLOBAL BTMNEEDS$ ''Option list costs per drive
- GLOBAL GOODIESNEEDS$
-
- GLOBAL EXTRACOSTS$ ''List of extra costs to add per drive
- GLOBAL BIGLIST$ ''List of option files cost calc results (boolean)
-
- ''Dialog list symbol names
- GLOBAL CHECKSTATES$
- GLOBAL STATUSTEXT$
- GLOBAL DRIVETEXT$
-
- GLOBAL CUIDLL$
-
- DECLARE SUB AddOptFilesToCopyList (ftype%)
- DECLARE SUB RecalcOptFiles (ftype%)
- DECLARE SUB RecalcPath
- DECLARE SUB SetDriveStatus
- DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
- DECLARE FUNCTION MakePath2 (szBase$,szPath$, szFile$) AS STRING
- DECLARE FUNCTION WritePrivateProfileString LIB "krnl386.exe" (szSect$, szEntry$, szString$, szINI$) AS INTEGER
- DECLARE FUNCTION PlaySound LIB "mscuistf.dll" (szSoundFile$, bSync%) AS INTEGER
- DECLARE FUNCTION FullFrame LIB "mscuistf.dll" (wHwnd%) AS INTEGER
- DECLARE FUNCTION GetDeviceCaps LIB "GDI.EXE" (hDC%, wCap%) AS INTEGER
- DECLARE FUNCTION GetResourceString LIB "setupenu.dll" (szResource$, idString%) AS INTEGER
- DECLARE FUNCTION CheckForOld AS INTEGER
- DECLARE FUNCTION RemoveOldQTFiles (FilePath$) AS INTEGER
-
- INIT:
- CUIDLL$ = "mscuistf.dll" ''custom user interface dll
- HELPPROC$ = "FHelpDlgProc" ''Help dialog procedure
-
- SetBitmap CUIDLL$, LOGO
- SetTitle "Behind the Mask Setup"
-
- szInf$ = GetSymbolValue("STF_SRCINFPATH")
- IF szInf$ = "" THEN
- szInf$ = GetSymbolValue("STF_CWDDIR") + "BTM.INF"
- END IF
- ReadInfFile szInf$
-
- i% = FullFrame(HwndFrame)
- i% = PlaySound(GetSymbolValue("STF_SRCDIR")+"GOODIES\SOUNDS\LUGNUTS.WAV", 1)
-
- WINDRIVE$ = MID$(GetWindowsDir, 1, 1)
- DEST$ = WINDRIVE$ + ":\BTM"
-
- ''CustInst list symbols
- CHECKSTATES$ = "CheckItemsState"
- STATUSTEXT$ = "StatusItemsText"
- DRIVETEXT$ = "DriveStatusText"
- FOR i% = 1 TO NUMFILETYPES STEP 1
- AddListItem CHECKSTATES$, "ON"
- NEXT i%
- FOR i% = 1 TO NUMFILETYPES STEP 1
- AddListItem STATUSTEXT$, ""
- NEXT i%
- FOR i% = 1 TO 7 STEP 1
- AddListItem DRIVETEXT$, ""
- NEXT i%
- ReplaceListItem DRIVETEXT$, 7, DEST$
-
- ''Disk cost list symbols
- BTMNEEDS$ = "BTMNeeds"
- GOODIESNEEDS$ = "GOODIESNeeds"
- EXTRACOSTS$ = "ExtraCosts"
- BIGLIST$ = "BigList"
- FOR i% = 1 TO NUMFILETYPES STEP 1
- AddListItem BIGLIST$, ""
- NEXT i%
- FOR i% = 1 TO 26 STEP 1
- AddListItem EXTRACOSTS$, "0"
- NEXT i%
-
- ''File Option Variables
- BTMOPT$ = "1"
-
- GOODIESOPT$ = "GOODIESOpts"
- FOR i% = 1 TO NUMGOODIES STEP 1
- AddListItem GOODIESOPT$, "ON"
- NEXT i%
-
- RecalcPath
- SetDriveStatus
-
- '$IFDEF DEBUG
- i% = SetSizeCheckMode(scmOnIgnore) '' could use scmOff; def = scmOnFatal
- '$ENDIF ''DEBUG
-
-
- WELCOME:
- sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", HELP_WELCOME, HELPPROC$)
- IF sz$ = "CONTINUE" THEN
- UIPop 1
- ELSE
- GOSUB ASKQUIT
- GOTO WELCOME
- END IF
-
- CUSTINST:
-
- sz$ = UIStartDlg(CUIDLL$, CUSTINST, "FCustInstDlgProc", HELP_CUSTINST, HELPPROC$)
-
- IF sz$ = "CONTINUE" THEN
- ''Install only if it will fit.
- FOR i% = 1 TO NUMFILETYPES STEP 1
- IF GetListItem(BIGLIST$, i%) <> "" THEN
- GOSUB TOOBIG
- GOTO CUSTINST
- END IF
- NEXT i%
- UIPop 1
- GOTO INSTALL
- ELSEIF sz$ = "PATH" THEN
- GOTO GETPATH
- ELSEIF sz$ = "CHK1" THEN
- RecalcOptFiles BTMFILES
- SetDriveStatus
- GOTO CUSTINST
- ELSEIF sz$ = "CHK2" THEN
- RecalcOptFiles GOODIESFILES
- SetDriveStatus
- GOTO CUSTINST
- ELSEIF sz$ = "BTN1" THEN
- GOTO BTMFILES
- ELSEIF sz$ = "BTN2" THEN
- GOTO GOODIESFILES
- ELSEIF sz$ = "EXIT" THEN
- GOSUB ASKQUIT
- GOTO CUSTINST
- ELSE
- RecalcPath
- SetDriveStatus
- GOTO CUSTINST
- END IF
-
- INSTALL:
-
- i% = PlaySound(GetSymbolValue("STF_SRCDIR")+"GOODIES\SOUNDS\LETSROCK.WAV", 1)
-
- WinDir$ = GetWindowsDir
- SysDir$ = GetWindowsSysDir
- SrcDir$ = GetSymbolvalue("STF_SRCDIR")
-
- ClearCopyList
-
- AddSectionFilesToCopyList "Files", SrcDir$, DEST$
- AddOptFilesToCopyList BTMFILES
- AddOptFilesToCopyList GOODIESFILES
-
- CreateDir DEST$, cmoNone
-
- CopyFilesInCopyList
-
- IF GetListItem(CHECKSTATES$, BTMFILES) = "ON" THEN
-
- REM ----------------------------------------------------------------------
- REM Install QTW
- REM ----------------------------------------------------------------------
-
- ClearCopyList
-
- AddSectionFilesToCopyList "QTWWIN", SrcDir$ + "GOODIES\QT\WIN\", WinDir$
- AddSectionFilesToCopyList "QTWSYS", SrcDir$ + "GOODIES\QT\SYS\", SysDir$
-
- j% = CheckForOld()
-
- CopyFilesInCopyList
-
-
- REM -----------------------------------------------------------------------------------
- REM Set up Program Manager
- REM -----------------------------------------------------------------------------------
-
- readmepath$ = MakePath(DEST$, "README.WRI")
-
- IF BTMOPT$ = "1" THEN
- exepath$ = MakePath(SrcDir$, "B_T_MASK.EXE")
-
- ELSE
- exepath$ = MakePath(DEST$, "B_T_MASK.EXE")
-
- ini$ = MakePath(DEST$, "BTM.INI")
- CreateIniKeyValue ini$, "Behind The Mask", "MediaPath", GetSymbolValue("STF_SRCDIR") , cmoNone
- ini$ = ""
- END IF
-
- CreateProgmanGroup "Behind The Mask", "", cmoNone
- ShowProgmanGroup "Behind The Mask", 1, cmoNone
-
- CreateProgmanItem "Behind The Mask", "Behind The Mask", exepath$, MakePath(DEST$,"BTM.ICO"), cmoOverwrite
- CreateProgmanItem "Behind The Mask", "Read Me", "WRITE " + readmepath$, "", cmoOverwrite
-
-
- REM ------------Quicktime stuff-----------------------
-
- inia$ = MakePath(WinDir$, "WIN.INI")
- inib$ = MakePath(WinDir$, "WIN.QTW")
- CopyFile inia$, inib$, cmoOverwrite, 0
- inia$ = MakePath(WinDir$, "SYSTEM.INI")
- inib$ = MakePath(WinDir$, "SYSTEM.QTW")
- CopyFile inia$, inib$, cmoOverwrite, 0
- CreateIniKeyValue "WIN.INI", "Extensions", "mov", MakePath(WinDir$,"player.exe") + " ^.mov", cmoOverwrite
- CreateIniKeyValue "WIN.INI", "Extensions", "pic", MakePath(WinDir$,"viewer.exe") + " ^.pic", cmoOverwrite
- CreateIniKeyValue "WIN.INI", "MCI Extensions", "mov", "QTWVideo", cmoOverwrite
- CreateIniKeyValue "WIN.INI", "MCI Extensions", "pic", "QTWVideo", cmoOverwrite
- CreateIniKeyValue "WIN.INI", "MCI Extensions", "jpg", "QTWVideo", cmoOverwrite
- i% = WritePrivateProfileString("MCI", "QTWVideo", MakePath(SysDir$, "mciqtw.drv"), "SYSTEM.INI")
-
- rem Compatibility hacks.
- i% = WritePrivateProfileString("Macx", "DeviceBitmap", "OFF", "SYSTEM.INI")
- CreateIniKeyValue "WIN.INI", "Mach", "devicebitmap", "off", cmoOverwrite
-
- rem Update Registration Database
- rem ----------------------------
- RUN MakePath(WinDir$, "player.exe") + " install"
- RUN MakePath(WinDir$, "viewer.exe") + " install"
-
- rem Create QTW.INI
- rem ----------------
- ini$ = MakePath(WinDir$, "QTW.INI")
- CreateIniKeyValue ini$, "QuickTime for Windows", "Implementation", "Full" , cmoOverwrite
- RemoveIniKey ini$, "video", "optimize", cmoNone
-
- rem Create a Program Manager group
- rem ------------------------------
-
- i% = GetResourceString (CUIDLL$, STR_GROUP)
- GROUP$ = GetSymbolValue ("ResourceString")
- CreateProgmanGroup GROUP$, "", cmoNone
- ShowProgmanGroup GROUP$, 1, cmoNone
-
- i% = GetResourceString (CUIDLL$, STR_PLAYER)
- CreateProgmanItem GROUP$, GetSymbolValue ("ResourceString"), MakePath(WinDir$,"player.exe"), "", cmoOverwrite
- i% = GetResourceString (CUIDLL$, STR_VIEWER)
- CreateProgmanItem GROUP$, GetSymbolValue ("ResourceString"), MakePath(WinDir$,"viewer.exe"), "", cmoOverwrite
- CreateProgmanItem GROUP$, "Read Me", MakePath(WinDir$,"readme.exe"), "", cmoOverwrite
- END IF
-
-
-
-
- QUIT:
- ON ERROR GOTO ERRQUIT
-
- IF ERR = 0 THEN
- dlg% = EXITSUCCESS
- ELSEIF ERR = STFQUIT THEN
- dlg% = EXITQUIT
- ELSE
- dlg% = EXITFAILURE
- END IF
- QUITL1:
- sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
- IF sz$ = "REACTIVATE" THEN
- GOTO QUITL1
- END IF
- UIPop 1
-
- i% = PlaySound(GetSymbolValue("STF_SRCDIR")+"GOODIES\SOUNDS\GETOUT.WAV", 1 )
- END
-
- ERRQUIT:
- i% = DoMsgBox("Setup sources were corrupted, call Crossover Technologies at (212)777-1190!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
- END
-
-
-
- GETPATH:
- SetSymbolValue "EditTextIn", DEST$
- SetSymbolValue "EditFocus", "END"
- GETPATHL1:
- sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", HELP_DESTPATH, HELPPROC$)
-
- IF sz$ = "CONTINUE" THEN
- olddest$ = DEST$
- DEST$ = GetSymbolValue("EditTextOut")
-
- ''Validate new path.
- IF IsDirWritable(DEST$) = 0 THEN
- GOSUB BADPATH
- GOTO GETPATHL1
- END IF
- UIPop 1
-
- ''Truncate display if too long.
- IF LEN(DEST$) > 23 THEN
- ReplaceListItem DRIVETEXT$, 7, MID$(DEST$, 1, 23)+"..."
- ELSE
- ReplaceListItem DRIVETEXT$, 7, DEST$
- END IF
-
- ''Recalc if path changed.
- IF (olddest$ <> DEST$) AND (olddest$ <> DEST$+"\") AND (olddest$+"\" <> DEST$) THEN
- RecalcPath
- SetDriveStatus
- END IF
-
- olddest$ = ""
- GOTO CUSTINST
- ELSEIF sz$ = "REACTIVATE" THEN
- RecalcPath
- SetDriveStatus
- GOTO GETPATHL1
- ELSEIF sz$ = "EXIT" THEN
- GOSUB ASKQUIT
- GOTO GETPATHL1
- ELSE
- UIPop 1
- GOTO CUSTINST
- END IF
-
-
-
- BTMFILES:
- SetSymbolValue "RadioDefault", BTMOPT$
-
- BTML1:
- sz$ = UIStartDlg(CUIDLL$, OPTIONS, "FRadioDlgProc", HELP_OPTIONS, HELPPROC$)
- newopt$ = GetSymbolValue("ButtonChecked")
-
- IF sz$ = "CONTINUE" THEN
- UIPop 1
- IF newopt$ <> BTMOPT$ THEN
- BTMOPT$ = newopt$
- RecalcOptFiles BTMFILES
- SetDriveStatus
-
- END IF
- newopt$ = ""
- GOTO CUSTINST
- ELSEIF sz$ = "REACTIVATE" THEN
- RecalcPath
- SetDriveStatus
- GOTO BTML1
- ELSEIF sz$ = "EXIT" THEN
- GOSUB ASKQUIT
- GOTO BTML1
- ELSE
- UIPop 1
- newopt$ = ""
- GOTO CUSTINST
- END IF
-
-
- GOODIESFILES:
- FOR i% = 1 TO NUMGOODIES STEP 1
- AddListItem "CheckItemsIn", GetListItem(GOODIESOPT$, i%)
- NEXT i%
-
-
- GOODIESL1:
- sz$ = UIStartDlg(CUIDLL$, CHECK, "FCheckDlgProc", HELP_GOODIES, HELPPROC$)
-
- IF sz$ = "CONTINUE" THEN
- UIPop 1
- FOR i% = 1 TO NUMGOODIES STEP 1
- ReplaceListItem GOODIESOPT$, i%, GetListItem("CheckItemsOut", i%)
- NEXT i%
- RecalcOptFiles GOODIESFILES
- SetDriveStatus
- GOTO GOODIESL2
- ELSEIF sz$ = "REACTIVATE" THEN
- RecalcPath
- SetDriveStatus
- GOTO GOODIESL1
- ELSEIF sz$ = "EXIT" THEN
- GOSUB ASKQUIT
- GOTO GOODIESL1
- ELSE
- UIPop 1
- GOTO GOODIESL2
- END IF
-
- GOODIESL2:
- RemoveSymbol("CheckItemsIn")
- GOTO CUSTINST
-
-
- TOOBIG:
- sz$ = UIStartDlg(CUIDLL$, TOOBIG, "FInfo0DlgProc", 0, "")
- IF sz$ = "REACTIVATE" THEN
- RecalcPath
- SetDriveStatus
- GOTO TOOBIG
- END IF
- UIPop 1
- RETURN
-
-
-
- BADPATH:
- sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
- IF sz$ = "REACTIVATE" THEN
- RecalcPath
- SetDriveStatus
- GOTO BADPATH
- END IF
- UIPop 1
- RETURN
-
-
-
- ASKQUIT:
- sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
-
- IF sz$ = "EXIT" THEN
- UIPopAll
- ERROR STFQUIT
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO ASKQUIT
- ELSE
- UIPop 1
- END IF
- RETURN
-
-
-
- '**
- '** Purpose:
- '** Adds the specified option files to the copy list.
- '** Arguments:
- '** ftype% - type of files to add, one of the following:
- '** APPFILES, BTMFILES, GOODIESFILES
- '** Returns:
- '** none.
- '*************************************************************************
-
- SUB AddOptFilesToCopyList (ftype%) STATIC
-
- IF GetListItem(CHECKSTATES$, ftype%) = "ON" THEN
- IF ftype% = BTMFILES THEN
- SrcDir$ = GetSymbolValue("STF_SRCDIR")
-
- IF BTMOPT$ = "2" THEN
- AddSectionFilesToCopyList "BTMFILES", SrcDir$, DEST$
- ReplaceListItem STATUSTEXT$, BTMFILES, "Behind the Mask will run from the hard drive."
- ELSE
- ReplaceListItem STATUSTEXT$, BTMFILES, "Behind the Mask will run from the CD-ROM."
- END IF
-
- rem AddSectionFilesToCopyList "QTWWIN", SrcDir$ + "GOODIES\QT\WIN\", GetWindowsDir
- rem AddSectionFilesToCopyList "QTWSYS", SrcDir$ + "GOODIES\QT\SYS\", GetWindowsSysDir
-
- ELSEIF ftype% = GOODIESFILES THEN
- SrcDir$ = GetSymbolValue("STF_SRCDIR") + "GOODIES\"
-
- IF ((GetListItem(GOODIESOPT$, WALLPAPER) = "ON") AND (GetListItem(GOODIESOPT$, SOUNDS) = "ON")) THEN
- AddSectionFilesToCopyList "WALLPAPER", MakePath2(SrcDir$,"WALLPAPR",""), GetWindowsDir
- AddSectionFilesToCopyList "SOUNDS", MakePath2(SrcDir$,"SOUNDS",""), GetWindowsDir
- ReplaceListItem STATUSTEXT$, GOODIESFILES, "Wallpaper and sounds will be copied."
-
- ELSEIF GetListItem(GOODIESOPT$, WALLPAPER) = "ON" THEN
- AddSectionFilesToCopyList "WALLPAPER", MakePath2(SrcDir$,"WALLPAPR",""), GetWindowsDir
- ReplaceListItem STATUSTEXT$, GOODIESFILES, "Only wallpaper will be copied."
-
- ELSEIF GetListItem(GOODIESOPT$, SOUNDS) = "ON" THEN
- AddSectionFilesToCopyList "SOUNDS", MakePath2(SrcDir$,"SOUNDS",""), GetWindowsDir
- ReplaceListItem STATUSTEXT$, GOODIESFILES, "Only sounds will be copied."
-
- ELSE
- ReplaceListItem STATUSTEXT$, GOODIESFILES, "Nothing will be copied."
-
- ENDIF
- END IF
-
- SrcDir$ = ""
- ELSE
- IF ftype% = BTMFILES THEN
- ReplaceListItem STATUSTEXT$, BTMFILES, "Behind the Mask will not be set up."
- ELSEIF ftype% = GOODIESFILES THEN
- ReplaceListItem STATUSTEXT$, GOODIESFILES, "Nothing will be copied."
- ENDIF
- ENDIF
-
- END SUB
-
-
- '**
- '** Purpose:
- '** Recalculates disk space for the given option files and sets
- '** the status info symbol "StatusItemsText".
- '** Arguments:
- '** ftype% - type of files to add, one of the following:
- '** QTWFILES, BTMFILES, GOODIESFILES
- '** Returns:
- '** none.
- '*************************************************************************
- SUB RecalcOptFiles (ftype%) STATIC
- CursorSave% = ShowWaitCursor()
- ClearCopyList
- AddOptFilesToCopyList ftype%
-
- fExtra% = 0
- IF ftype% = BTMFILES THEN
- ListSym$ = BTMNEEDS$
- ELSEIF ftype% = GOODIESFILES THEN
- ListSym$ = GOODIESNEEDS$
- END IF
-
- StillNeed& = GetCopyListCost(EXTRACOSTS$, ListSym$, "")
-
- cost& = 0
- FOR i% = 1 TO 26 STEP 1
- cost& = cost& + VAL(GetListItem(ListSym$, i%))
- NEXT i%
-
- '' ReplaceListItem STATUSTEXT$, ftype%, STR$(cost& / 1024) + " K"
-
- IF StillNeed& > 0 THEN
- ReplaceListItem BIGLIST$, ftype%, "YES"
- ELSE
- ReplaceListItem BIGLIST$, ftype%, ""
- END IF
-
- IF fExtra% THEN
- ReplaceListItem EXTRACOSTS$, ndrive%, "0"
- END IF
- RestoreCursor CursorSave%
- ListSym$ = ""
- END SUB
-
-
- '**
- '** Purpose:
- '** Recalculates disk space and sets option status info according
- '** to the current destination path.
- '** Arguments:
- '** none.
- '** Returns:
- '** none.
- '*************************************************************************
- SUB RecalcPath STATIC
-
- CursorSave% = ShowWaitCursor()
-
- RecalcOptFiles BTMFILES
- RecalcOptFiles GOODIESFILES
-
- RestoreCursor CursorSave%
- END SUB
-
-
- '**
- '** Purpose:
- '** Sets drive status info according to latest disk space calcs.
- '** Arguments:
- '** none.
- '** Returns:
- '** none.
- '*************************************************************************
- SUB SetDriveStatus STATIC
-
- drive$ = MID$(DEST$, 1, 1)
- ndrive% = ASC(ucase$(drive$)) - ASC("A") + 1
- cost& = VAL(GetListItem(BTMNEEDS$, ndrive%)) + VAL(GetListItem(GOODIESNEEDS$, ndrive%))
-
- free& = GetFreeSpaceForDrive(drive$)
- ReplaceListItem DRIVETEXT$, 1, drive$ + ":"
- ReplaceListItem DRIVETEXT$, 2, STR$(cost& / 1024) + " K"
- ReplaceListItem DRIVETEXT$, 3, STR$(free& / 1024) + " K"
-
- IF drive$ = WINDRIVE$ THEN
- ReplaceListItem DRIVETEXT$, 4, ""
- ReplaceListItem DRIVETEXT$, 5, ""
- ReplaceListItem DRIVETEXT$, 6, ""
- ELSE
- ndrive% = ASC(ucase$(WINDRIVE$)) - ASC("A") + 1
- cost& = VAL(GetListItem(BTMNEEDS$, ndrive%)) + VAL(GetListItem(GOODIESNEEDS$, ndrive%))
-
- IF cost& = 0 THEN
- ReplaceListItem DRIVETEXT$, 4, ""
- ReplaceListItem DRIVETEXT$, 5, ""
- ReplaceListItem DRIVETEXT$, 6, ""
- ELSE
- free& = GetFreeSpaceForDrive(WINDRIVE$)
- ReplaceListItem DRIVETEXT$, 4, WINDRIVE$ + ":"
- ReplaceListItem DRIVETEXT$, 5, STR$(cost& / 1024) + " K"
- ReplaceListItem DRIVETEXT$, 6, STR$(free& / 1024) + " K"
- END IF
- END IF
- END SUB
-
-
- '**
- '** Purpose:
- '** Appends a file name to the end of a directory path,
- '** inserting a backslash character as needed.
- '** Arguments:
- '** szDir$ - full directory path (with optional ending "\")
- '** szFile$ - filename to append to directory
- '** Returns:
- '** Resulting fully qualified path name.
- '*************************************************************************
- FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
- IF szDir$ = "" THEN
- MakePath = szFile$
- ELSEIF szFile$ = "" THEN
- MakePath = szDir$
- ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
- MakePath = szDir$ + szFile$
- ELSE
- MakePath = szDir$ + "\" + szFile$
- END IF
- END FUNCTION
-
- FUNCTION MakePath2 (szBase$, szPath$, szFile$) STATIC AS STRING
-
- IF szBase$ = "" THEN
- temp$ = szPath$
- ELSEIF szPath$ = "" THEN
- temp$ = szBase$
- ELSEIF MID$(szBase$, LEN(szBase$), 1) = "\" THEN
- temp$ = szBase$ + szPath$
- ELSE
- temp$ = szBase$ + "\" + szPath$
- END IF
-
- MakePath2 = MakePath(temp$, szFile$)
- END FUNCTION
-
- rem Check for Older versions of the Quicktime For Windows components
- rem ---------------------------------------------------------------
- FUNCTION CheckForOld STATIC AS INTEGER
-
- sz$ = UIStartDlg(CUIDLL$, OLDMESS, "FModelessDlgProc", 0, "")
-
- CheckForOld1:
- cursor% = ShowWaitCursor()
- OldFilePath$ = FindFileUsingFileOpen("qtim.dll")
- RestoreCursor cursor%
- IF (OldFilePath$ <> "") THEN
- j% = RemoveOldQTFiles(OldFilePath$)
- IF j% = FILES_REMOVED THEN
- GOTO CheckForOld1
- END IF
- END IF
-
- CheckForOld2:
- cursor% = ShowWaitCursor()
- OldFilePath$ = FindFileUsingFileOpen("qtimcmgr.dll")
- RestoreCursor cursor%
- IF (OldFilePath$ <> "") THEN
- j% = RemoveOldQTFiles(OldFilePath$)
- IF j% = FILES_REMOVED THEN
- GOTO CheckForOld2
- END IF
- END IF
-
- GetLocalHardDrivesList "HardDrives"
- NumDrives% = GetListLength("HardDrives")
-
- IF (NUMDRIVES% > 0) THEN
- FOR i% = 1 TO NumDrives% STEP 1
- CurrentDrive$ = GetListItem("HardDrives",i%) + ":\"
- CheckForOld3:
- cursor% = ShowWaitCursor()
- OldFilePath$ = FindFileInTree("qtim.dll",CurrentDrive$)
- RestoreCursor cursor%
- IF (OldFilePath$ <> "") THEN
- j% = RemoveOldQTFiles(OldFilePath$)
- IF j% = FILES_REMOVED THEN
- GOTO CheckForOld3
- END IF
- END IF
-
- CheckForOld4:
- cursor% = ShowWaitCursor()
- OldFilePath$ = FindFileInTree("qtimcmgr.dll",CurrentDrive$)
- RestoreCursor cursor%
- IF (OldFilePath$ <> "") THEN
- j% = RemoveOldQTFiles(OldFilePath$)
- IF j% = FILES_REMOVED THEN
- GOTO CheckForOld4
- END IF
- END IF
- NEXT i%
- END IF
-
- UIPOP 1
-
- END FUNCTION
-
- FUNCTION RemoveOldQTFiles (FilePath$) STATIC AS INTEGER
-
- RemoveOldQTFiles = FILES_SKIPPED
-
- SPLITPATH FilePath$, drv$, dir$, filename$, ext$
- DeadPath$ = drv$ + dir$
-
- rem check version resources if they exist
- szVersion$ = GetVersionOfFile(FilePath$)
-
- rem dialog choices are Remove,Skip ("Continue","Back" buttons)
- SetSymbolValue "EditTextIn", "Found Version [" + szVersion$ + "] on " + DeadPath$
- sz$ = UIStartDlg(CUIDLL$, NUKEOLD, "FEditDlgProc", 0, "")
- UIPop 1
-
- IF sz$ = "BACK" THEN
- EXIT FUNCTION
- END IF
-
- IF sz$ <> "CONTINUE" THEN
- EXIT FUNCTION
- END IF
-
- rem all versions
- RemoveFile MakePath(DeadPath$, "qtim.dll"), cmoForce
- RemoveFile MakePath(DeadPath$, "qtimcmgr.dll"), cmoForce
- rem version 1.0.0
- RemoveFile MakePath(DeadPath$, "qcmc.dll"), cmoForce
- RemoveFile MakePath(DeadPath$, "qtjpeg.dll"), cmoForce
- RemoveFile MakePath(DeadPath$, "qtraw.dll"), cmoForce
- RemoveFile MakePath(DeadPath$, "qtsmc.dll"), cmoForce
- RemoveFile MakePath(DeadPath$, "qtrpza.dll"), cmoForce
- RemoveFile MakePath(DeadPath$, "qtrle.dll"), cmoForce
- RemoveFile MakePath(DeadPath$, "qtcvid.dll"), cmoForce
- RemoveFile MakePath(DeadPath$, "qtrt21.dll"), cmoForce
- RemoveFile MakePath(DeadPath$, "qtvhdw.dll"), cmoForce
- rem version 1.1.x and later
- RemoveFile MakePath(DeadPath$, "mciqtw.drv"), cmoForce
- RemoveFile MakePath(DeadPath$, "qcmc.qtc"), cmoForce
- RemoveFile MakePath(DeadPath$, "qtjpeg.qtc"), cmoForce
- RemoveFile MakePath(DeadPath$, "qtraw.qtc"), cmoForce
- RemoveFile MakePath(DeadPath$, "qtsmc.qtc"), cmoForce
- RemoveFile MakePath(DeadPath$, "qtrpza.qtc"), cmoForce
- RemoveFile MakePath(DeadPath$, "qtrle.qtc"), cmoForce
- RemoveFile MakePath(DeadPath$, "qtcvid.qtc"), cmoForce
- RemoveFile MakePath(DeadPath$, "qtrt21.qtc"), cmoForce
- RemoveFile MakePath(DeadPath$, "navg.qtc"), cmoForce
- RemoveFile MakePath(DeadPath$, "qtiv31.qtc"), cmoForce
- rem version 1.9 and later
- RemoveFile MakePath(DeadPath$, "qtvhdw.qtc"), cmoForce
- RemoveFile MakePath(DeadPath$, "qtyvu9.qtc"), cmoForce
- RemoveFile MakePath(DeadPath$, "qtmsvc.qtc"), cmoForce
- RemoveFile MakePath(DeadPath$, "qtiv32.qtc"), cmoForce
- RemoveFile MakePath(DeadPath$, "qtiyvu9.qtc"), cmoForce
- RemoveFile MakePath(DeadPath$, "qtvhdw.qtc"), cmoForce
- RemoveFile MakePath(DeadPath$, "dhio_dh.qtc"), cmoForce
- RemoveFile MakePath(DeadPath$, "reelmgic.qtc"), cmoForce
-
- RemoveOldQTFiles = FILES_REMOVED
-
- END FUNCTION
-
-