home *** CD-ROM | disk | FTP | other *** search
- '**************************************************************************
- '* Setup
- '**************************************************************************
-
- '$DEFINE DEBUG ''Define for script development/debugging
-
- '$INCLUDE 'setupapi.inc'
- '$INCLUDE 'msdetect.inc'
-
- ''Dialog ID's
- CONST WELCOME = 100
- CONST ASKQUIT = 200
- CONST DESTPATH = 300
- CONST EXITFAILURE = 400
- CONST EXITQUIT = 600
- CONST EXITSUCCESS = 700
- CONST OPTIONS = 800
- CONST ADDHELP = 900
- CONST QTNONE = 1100
- CONST QTOLDER = 1200
- CONST QTNEWER = 1300
- CONST QTINCOMPLETE = 1400
- CONST WARN2 = 1800
- CONST MODELESS = 5000
- CONST TOOBIG = 6300
- CONST BADPATH = 6400
-
- ''Bitmap ID
- 'CONST LOGO = 1
-
- GLOBAL CUIDLL$
- GLOBAL WinDrive$ ''Drive letter Windows is installed.
- GLOBAL SrcDir$ ''Drive letter Windows is installed.
- GLOBAL QTWSrcDir$ ''Drive letter Windows is installed.
- GLOBAL DestDir$ ''Default destination directory for QT.
- GLOBAL FileCount%
- GLOBAL AutoexecWasModified%
- GLOBAL RestartWindows%
- GLOBAL szSectionYear%
- GLOBAL szSectionMonth%
- GLOBAL szSectionDay%
-
- DECLARE SUB PromptQT (szType%)
- DECLARE SUB CreateIcon
- DECLARE FUNCTION QTFilesOkay (szTemp$) AS INTEGER
- DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
- DECLARE FUNCTION VerifyDate (szDate$) AS INTEGER
- DECLARE FUNCTION GetNewDestination ( szDir$ ) AS STRING
-
- INIT:
- SetTitle "DADC Demo"
- CUIDLL$ = "mscuistf.dll" ''Custom user interface dll
-
- szInf$ = GetSymbolValue("STF_SRCINFPATH")
- IF szInf$ = "" THEN
- szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
- END IF
- ReadInfFile szInf$
-
- WinDrive$ = MID$(GetWindowsDir, 1, 1)
- IF IsDriveValid(WinDrive$) = 0 THEN
- i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
- GOTO QUIT
- END IF
-
- WELCOME:
- sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", 0, "")
- IF sz$ = "CONTINUE" THEN
- UIPop 1
- ELSE
- GOSUB ASKQUIT
- GOTO WELCOME
- END IF
-
-
- FileCount% = 12
- SrcDir$ = GetSymbolValue("STF_SRCDIR")
- QTWSrcDir = MakePath(SrcDir$,"QTW")
- AutoexecWasModified% = 0
- RestartWindows% = 0
- ClearCopyList
-
-
- IF QTFilesOkay("") = 0 THEN
- IF AutoexecWasModified% = 1 THEN
- PROMPT:
- sz$ = UIStartDlg(CUIDLL$, OPTIONS, "FRadioDlgProc", 0, "")
- IF sz$ = "CONTINUE" THEN
- UIPop 1
- PrependToPath "C:\AUTOEXEC.BAT", "C:\AUTOEXEC.QTW", DestDir$, cmoOverwrite
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO PROMPT
- ELSEIF sz$ = "EXIT" THEN
- GOSUB ASKQUIT
- GOTO PROMPT
- END IF
-
- IF GetSymbolValue("ButtonChecked") = "1" THEN
- CopyFile "C:\AUTOEXEC.BAT", "C:\AUTOEXEC.BAK", cmoOverwrite, 0
- CopyFile "C:\AUTOEXEC.QTW", "C:\AUTOEXEC.BAT", cmoOverwrite, 0
- RemoveFile "C:\AUTOEXEC.QTW", cmoForce
- ENDIF
- ENDIF
- CopyFilesInCopyList
- ENDIF
-
- CreateIcon
-
- IF AutoexecWasModified% = 1 THEN
- WARN:
- sz$ = UIStartDlg(CUIDLL$, ADDHELP, "FInfoDlgProc", 0, "")
- IF sz$ = "REACTIVATE" THEN
- GOTO WARN
- ENDIF
- UIPop 1
- ELSEIF RestartWindows% = 1 THEN
- WARNAGAIN:
- sz$ = UIStartDlg(CUIDLL$, WARN2, "FInfoDlgProc", 0, "")
- IF sz$ = "REACTIVATE" THEN
- GOTO WARNAGAIN
- ENDIF
- UIPop 1
- ENDIF
-
-
- QUIT:
- ON ERROR GOTO ERRQUIT
-
- IF ERR = 0 THEN
- dlg% = EXITSUCCESS
- ELSEIF ERR = STFQUIT THEN
- dlg% = EXITQUIT
- ELSE
- dlg% = EXITFAILURE
- END IF
- QUITL1:
- IF dlg% = EXITQUIT THEN
- UIPop 1
- END
- ELSEIF dlg% = EXITFAILURE THEN
- dlg% = EXITQUIT
- END IF
-
- sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
- IF sz$ = "REACTIVATE" THEN
- GOTO QUITL1
- END IF
- UIPop 1
- END
-
- ERRQUIT:
- i% = DoMsgBox("Setup sources were corrupted.", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
- END
-
-
-
- BADPATH:
- sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
- IF sz$ = "REACTIVATE" THEN
- 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:
- '** 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
-
- '**
- '** Purpose:
- '** Arguments:
- '** Returns:
- '*************************************************************************
- FUNCTION QTFilesOkay (szTemp$) STATIC AS INTEGER
-
- sz$ = UIStartDlg(CUIDLL$, MODELESS, "FModelessDlgProc", 0, "")
- QTFilesOkay = 1
- szFile$ = GetSectionKeyFilename("Quick Time", "QT 1")
- szDir$ = FindFileUsingFileOpen(szFile$)
- IF szDir$ = "" THEN '' FILE NOT FOUND
- UIPop 1
- PromptQT QTNONE
- IF GetSymbolValue("ButtonChecked") = "1" THEN
- szDir$ = WinDrive$ + ":\QTW\BIN"
- szDir$ = GetNewDestination(szDir$)
- IF DoesDirExist(szDir$) = 0 THEN
- CreateDir szDir$, cmoNone
- END IF
- AddSectionFilesToCopyList "Quick Time", QTWSrcDir$, szDir$
- DestDir$ = szDir$
- AutoexecWasModified% = 1
- QTFilesOkay = 0
- END IF
- ELSE '' FILE WAS FOUND
- szDate$ = GetDateOfFile(szDir$)
- szDir$ = MID$(szDir$, 1, (LEN(szDir$) - LEN(szFile$) - 1))
- szSectionDate$ = GetSectionKeyDate("Quick Time", "QT 1")
- szSectionYear% = GetYearFromDate(szSectionDate$)
- szSectionMonth% = GetMonthFromDate(szSectionDate$)
- szSectionDay% = GetDayFromDate(szSectionDate$)
-
- tmpVal% = VerifyDate(szDate$)
- IF tmpVal% <> 0 THEN
- UIPop 1
- IF tmpVal% = 1 THEN
- PromptQT QTOLDER
- IF GetSymbolValue("ButtonChecked") = "1" THEN
- szTmp$ = szDir$
- szDir$ = GetNewDestination(szTmp$)
- IF szDir$ <> szTmp$ THEN
- AutoexecWasModified% = 1
- IF DoesDirExist(szDir$) = 0 THEN
- CreateDir szDir$, cmoNone
- END IF
- ELSE
- RestartWindows% = 1
- ENDIF
- AddSectionFilesToCopyList "Quick Time", QTWSrcDir$, szDir$
- QTFilesOkay = 0
- ENDIF
- ELSE
- PromptQT QTNEWER
- IF GetSymbolValue("ButtonChecked") = "2" THEN
- szTmp$ = szDir$
- szDir$ = GetNewDestination(szTmp$)
- IF szDir$ <> szTmp$ THEN
- AutoexecWasModified% = 1
- IF DoesDirExist(szDir$) = 0 THEN
- CreateDir szDir$, cmoNone
- END IF
- ELSE
- RestartWindows% = 1
- ENDIF
- AddSectionFilesToCopyList "Quick Time", QTWSrcDir$, szDir$
- QTFilesOkay = 0
- ENDIF
- ENDIF
- ELSE
- FOR i% = 2 TO FileCount% STEP 1
- szKey$ = "QT" + STR$(i%)
- szFile$ = GetSectionKeyFilename("Quick Time", szKey$)
- szFullPathFile$ = MakePath(szDir$, szFile$)
- szDate$ = GetDateOfFile(szFullPathFile$)
- IF DoesFileExist(szFullPathFile$, femExists) = 0 THEN
- UIPop 1
- PromptQT QTINCOMPLETE
- IF GetSymbolValue("ButtonChecked") = "1" THEN
- szTmp$ = szDir$
- szDir$ = GetNewDestination(szTmp$)
- IF szDir$ <> szTmp$ THEN
- AutoexecWasModified% = 1
- IF DoesDirExist(szDir$) = 0 THEN
- CreateDir szDir$, cmoNone
- END IF
- ELSE
- RestartWindows% = 1
- ENDIF
- AddSectionFilesToCopyList "Quick Time", QTWSrcDir$, szDir$
- QTFilesOkay = 0
- ENDIF
- i% = FileCount%
- ELSE
- tmpVal% = VerifyDate (szDate$)
- IF tmpVal% <> 0 THEN
- UIPop 1
- PromptQT QTINCOMPLETE
- IF GetSymbolValue("ButtonChecked") = "1" THEN
- szTmp$ = szDir$
- szDir$ = GetNewDestination(szTmp$)
- IF szDir$ <> szTmp$ THEN
- AutoexecWasModified% = 1
- IF DoesDirExist(szDir$) = 0 THEN
- CreateDir szDir$, cmoNone
- END IF
- ELSE
- RestartWindows% = 1
- ENDIF
- AddSectionFilesToCopyList "Quick Time", QTWSrcDir$, szDir$
- QTFilesOkay = 0
- ENDIF
- i% = FileCount%
- ELSEIF i% = 12 THEN
- UIPop 1
- ENDIF
- ENDIF
- NEXT i%
- END IF
- END IF
- END FUNCTION
-
-
- '**
- '** Purpose:
- '** Arguments:
- '** Returns:
- '** 0=same, 1=older, 2=newer -- than section date
- '*************************************************************************
- FUNCTION VerifyDate ( szDate$ ) STATIC AS INTEGER
-
- VerifyDate = 0
- newval% = GetYearFromDate(szDate$)
- IF (newval% <> szSectionYear%) THEN
- IF (newval% < szSectionYear%) THEN
- VerifyDate = 1
- ELSE
- VerifyDate = 2
- END IF
- GOTO DONE1
- END IF
-
- newval% = GetMonthFromDate(szDate$)
- IF (newval% <> szSectionMonth%) THEN
- IF (newval% < szSectionMonth%) THEN
- VerifyDate = 1
- ELSE
- VerifyDate = 2
- END IF
- GOTO DONE1
- END IF
-
- newval% = GetDayFromDate(szDate$)
- IF (newval% <> szSectionDay%) THEN
- IF (newval% < szSectionDay%) THEN
- VerifyDate = 1
- ELSE
- VerifyDate = 2
- END IF
- GOTO DONE1
- END IF
- DONE1:
-
- END FUNCTION
-
-
- '**
- '** Purpose:
- '** Arguments:
- '** Returns:
- '*************************************************************************
- FUNCTION GetNewDestination ( szDir$ ) STATIC AS STRING
-
- GetNewDestination = szDir$
- GETPATH:
- SetSymbolValue "EditTextIn", szDir$
- SetSymbolValue "EditFocus", "END"
-
- GETPATHL1:
- sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", 0, "")
-
- IF sz$ = "CONTINUE" THEN
- GetNewDestination = GetSymbolValue("EditTextOut")
- UIPop 1
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO GETPATHL1
- ELSEIF sz$ = "EXIT" THEN
- sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
- TMP1:
- IF sz$ = "EXIT" THEN
- UIPopAll
- ERROR STFQUIT
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO TMP1
- ELSE
- UIPop 1
- END IF
- GOTO GETPATHL1
- ELSE
- UIPop 1
- END IF
-
- END FUNCTION
-
- '**
- '** Purpose:
- '** Arguments:
- '** Returns:
- '*************************************************************************
- SUB PromptQT (szType%) STATIC
-
- SetSymbolValue "ButtonChecked", "1"
- QT1:
- sz$ = UIStartDlg(CUIDLL$, szType%, "FRadioDlgProc", 0, "")
- IF sz$ = "CONTINUE" THEN
- UIPop 1
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO QT1
- ELSEIF sz$ = "EXIT" THEN
- sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
- QT2:
- IF sz$ = "EXIT" THEN
- UIPopAll
- ERROR STFQUIT
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO QT2
- ELSE
- UIPop 1
- END IF
- GOTO QT1
- END IF
- END SUB
-
- '**
- '** Purpose: Creates a Program Group and a Program Item
- '** Arguments: None
- '** Returns: Nothing
- '*************************************************************************
- SUB CreateIcon STATIC
-
- CreateProgmanGroup "DADC Demo", "", cmoNone
- ShowProgmanGroup "DADC Demo", 1, cmoNone
- CreateProgmanItem "DADC Demo", "DADC", MakePath(SrcDir$,"DADCDEMO.EXE"), "", cmoOverwrite
- CreateProgmanItem "DADC Demo", "Read Me", "write "+MakePath(SrcDir$,"readme.wri"), "", cmoOverwrite
-
- END SUB
-
-