home *** CD-ROM | disk | FTP | other *** search
Wrap
'************************************************************************** '* A Volta ao Mundo em 7 Aventuras Installation Script '************************************************************************** '$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 APPHELP = 900 CONST BADPATH = 6400 ''Bitmap ID CONST LOGO = 1 GLOBAL DEST$ ''Default destination directory. GLOBAL OPTCUR$ ''Option selection from option dialog. GLOBAL SEL$ GLOBAL DIRWORD$ DECLARE SUB Install DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING Declare Function ShowWindow Lib "User" (hWnd%, nCmdShow%) As Integer INIT: i% = ShowWindow(HwndFrame(), 3) CUIDLL$ = "mscuistf.dll" ''Custom user interface dll HELPPROC$ = "FHelpDlgProc" ''Help dialog procedure SetBitmap CUIDLL$, LOGO SetTitle "MicroPower A Volta ao Mundo em 7 Aventuras Setup" szInf$ = GetSymbolValue("STF_SRCINFPATH") IF szInf$ = "" THEN szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF" END IF ReadInfFile szInf$ OPTCUR$ = "1" DEST$ = "C:\Aventura" '$IFDEF DEBUG i% = SetSizeCheckMode(scmOnIgnore) '' could use scmOff; def = scmOnFatal WinDrive$ = MID$(GetWindowsDir, 1, 1) IF IsDriveValid(WinDrive$) = 0 THEN i% = DoMsgBox("O drive ('"+WinDrive$+"') nπo Θ vßlido.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK) GOTO QUIT END IF '$ENDIF ''DEBUG i% = ShowWindow(HwndFrame(), 3) WELCOME: sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$) IF sz$ = "CONTINUE" THEN UIPop 1 ELSE GOSUB ASKQUIT GOTO WELCOME END IF GETPATH: SetSymbolValue "EditTextIn", DEST$ SetSymbolValue "EditFocus", "END" GETPATHL1: sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$) DEST$ = GetSymbolValue("EditTextOut") IF sz$ = "CONTINUE" THEN IF IsDirWritable(DEST$) = 0 THEN GOSUB BADPATH GOTO GETPATHL1 END IF UIPop 1 ELSEIF sz$ = "REACTIVATE" THEN GOTO GETPATHL1 ELSEIF sz$ = "BACK" THEN UIPop 1 GOTO WELCOME ELSE GOSUB ASKQUIT GOTO GETPATH END IF INSTALA: Install 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 END ERRQUIT: i% = DoMsgBox("Um erro ocorreu durante a instalaτπo. Entre em contato com a MicroPower no telefone (011) 744-7313 / 744-7314", "A Volta ao Mundo em 7 Aventuras Setup", 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: '** Builds the copy list and performs all installation operations. '** Arguments: '** none. '** Returns: '** none. '************************************************************************* SUB Install STATIC SrcDir$ = GetSymbolValue("STF_SRCDIR") CreateDir DEST$, cmoNone OpenLogFile MakePath(DEST$, "SETUP.TXT"), 0 WriteToLogFile "" WriteToLogFile " User chose as destination directory: '" + DEST$ + "'" WriteToLogFile "" WriteToLogFile "May have had to create the directory: " + DEST$ WriteToLogFile "" SetRestartDir DEST$ AddSectionFilesToCopyList "Vital System Files",SrcDir$, GetWindowsSysDir() AddSectionFilesToCopyList "Files", SrcDir$, DEST$ CopyFilesInCopyList ini$ = MakePath(GetWindowsDir, "WIN.INI") CreateIniKeyValue ini$, "Aventura", "Drive", MID$(SrcDir$,1,1) , cmoOverwrite CreateIniKeyValue ini$, "Catalogo", "Drive", MID$(SrcDir$,1,1) , cmoOverwrite CreateIniKeyValue ini$, "mci extensions", "avi", "AVIVIDEO" , cmoOverwrite CreateIniKeyValue ini$, "mci extensions", "wav", "waveaudio" , cmoOverwrite CreateIniKeyValue ini$, "fonts", "Cosmic Two (TrueType)", "COSMIC2N.FOT" , cmoOverwrite ini$ = MakePath(GetWindowsDir, "System.INI") CreateIniKeyValue ini$, "mci", "WaveAudio", "mciwave.drv 4" , cmoOverwrite CreateIniKeyValue ini$, "mci", "AVIVideo", "mciavi.drv" , cmoOverwrite CreateIniKeyValue ini$, "drivers", "VIDC.CVID", "iccvid.drv" , cmoOverwrite CreateIniKeyValue ini$, "drivers", "VIDC.MSVC", "msvidc.drv" , cmoOverwrite CreateIniKeyValue ini$, "drivers", "VIDC.IV32", "ir32.dll" , cmoOverwrite CreateIniKeyValue ini$, "drivers", "VIDC.MRLE", "msrle.drv" , cmoOverwrite CreateIniKeyValue ini$, "drivers", "VIDC.RT21", "ir21_r.dll" , cmoOverwrite CreateIniKeyValue ini$, "drivers", "VIDC.YVU9", "ir21_r.dll" , cmoOverwrite CreateProgmanGroup "MicroPower Software", "", cmoNone ShowProgmanGroup "MicroPower Software", 1, cmoNone CreateProgmanItem "MicroPower Software", "Volta ao Mundo", MakePath(DEST$,"AVENTURA.EXE"), "", cmoOverwrite CreateProgmanItem "MicroPower Software", "Ajuda do Volta ao Mundo", MakePath(DEST$,"AVENTURA.HLP"), "", cmoOverwrite CloseLogFile IF RestartListEmpty() = 0 THEN dlg% = DoMsgBox("Arquivos de sistema em uso. O Setup precisa reinicializar o Windows para copiar estes arquivos.","Setup",0) dlg% = ExitExecRestart ENDIF 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