home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Bill James Electronic Baseball Encyclopedia 1.51
/
BJE151.iso
/
bjebe.ms_
/
bjebe.ms
Wrap
Text File
|
1996-12-08
|
22KB
|
667 lines
'**************************************************************************
'* Bill James Electronic Baseball Encyclopedia Setup
'**************************************************************************
'$INCLUDE 'setupapi.inc'
'$INCLUDE 'msdetect.inc'
'Dialog ID's
CONST WELCOME = 100
CONST APPHELP = 901
CONST ASKQUIT = 200
CONST DESTPATH = 300
CONST EXITFAILURE = 400
CONST EXITQUIT = 600
CONST OPTIONSSUCCESS = 750
CONST REGULAROPTIONS = 850
CONST INSTALLHELP = 851
CONST INSTALLEDOPTIONS = 860
CONST INSTALLEDHELP = 861
CONST CONFIRMINSTALL = 870
CONST CONFIRMUNINSTALL = 880
CONST UNINSTALLING = 885
CONST CLEANUP = 886
CONST DELETEGROUP = 890
CONST DELETEICONS = 895
CONST DISKSMALL = 6300
CONST BADPATH = 6400
CONST LOGO = 2 'BitMap for Title
GLOBAL DEST$ 'Default destination directory.
GLOBAL FIRSTINSTALL$ 'Is this the first installation true/false
GLOBAL INSTALLAPP$ 'Install the Application files true/false
GLOBAL INSTALLDATA$ 'Install the Data Files
GLOBAL REMOVEAPP$ 'Uninstall app from hard drive
GLOBAL REMOVEDATA$ 'Uninstall data from hard drive
GLOBAL FILENAMES$ 'List of files to UnInstall
GLOBAL INISECTIONARRAY$(11)
GLOBAL SrcDir$ 'Source directory where setup resides
DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
DECLARE FUNCTION FindKey (szKEY$) AS INTEGER
DECLARE SUB UpdateMABBINI
DECLARE FUNCTION GetGroupName AS STRING
DECLARE FUNCTION GetFileName AS STRING
'****************************************** Initialization ************************************
INIT:
CUIDLL$ = "mscuistf.dll" 'Custom user interface dll which has user dialogs
HELPPROC$ = "FHelpDlgProc" 'Help dialog procedure
SetBitmap CUIDLL$, LOGO
SetTitle "Bill James Encyclopedia Setup"
SetAbout "Bill James Electronic Baseball Encyclopedia","Copyright (C) 1996, Miller Associates,Inc"
'STF_SRCINFPATH = Defult symbol which has the path for the .INF file
szInf$ = GetSymbolValue("STF_SRCINFPATH")
IF szInf$ = "" THEN 'STF_CWDDIR = Default symbol which has the current working or temporary directory for SETUP.EXE
szInf$ = GetSymbolValue("STF_CWDDIR") + "BJEBE.INF"
END IF
ReadInfFile szInf$ 'Crucial first step
SzDir$ = MID$(GetWindowsDir, 1, 1) +":\"
SrcDir$ = GetSymbolValue("STF_SRCDIR")
INSTALLAPP$ = "True"
FIRSTINSTALL$ = "True"
INSTALLDATA$ = "False"
REMOVEAPP$ = "False"
REMOVEDATA$ = "False"
INISECTIONARRAY$(1) = "BJEBEW"
INISECTIONARRAY$(2) = "BJOBJECT"
INISECTIONARRAY$(3) = "BJSTRUCT"
INISECTIONARRAY$(4) = "BJBIO"
INISECTIONARRAY$(5) = "BJLCYCLE"
INISECTIONARRAY$(6) = "BJTEAM1"
INISECTIONARRAY$(7) = "BJTEAM2"
INISECTIONARRAY$(8) = "BJOFFENSE"
INISECTIONARRAY$(9) = "BJPITCHING"
INISECTIONARRAY$(10) = "BJDEFENSE"
INISECTIONARRAY$(11) = "BJQUOTES"
' INISECTIONARRAY$(12) = "BJEREG"
CHECKWINVERSION:
TEMP% = GetWindowsMajorVersion 'if Windows version >= 3.1 then OKAY to install
IF (Temp% > 3) OR ((TEMP% = 3) AND (GetWindowsMinorVersion <> 0)) THEN
GOTO WELCOMEDIALOG
ELSE
GOTO ERRORWRONGVERSION
END IF
DEST$ = ""
'*************************************** Welcome Dialog **************************************
WELCOMEDIALOG:
sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", 0, "")
IF sz$ = "CONTINUE" THEN
UIPop 1
ELSE
GOSUB ASKQUIT
GOTO WELCOMEDIALOG
END IF
IF LEN(DEST$) = 0 THEN
IF DoesFileExist(MakePath(GetWindowsDir,"ma_bb.ini"),femExists) = 0 THEN
DEST$ = "C:\BJEBEW"
ELSE
DEST$ = GetIniKeyString (MakePath(GetWindowsDir, "ma_bb.ini"), "ENCYCLOPEDIA", "InstallPath")
IF DoesFileExist(MakePath(DEST$,"Winbjebe.exe"),femExists) = 0 THEN
DEST$ = "C:\BJEBEW"
ELSE
FIRSTINSTALL$ = "False"
VHD$ = GetVersionofFile(MakePath(DEST$,"WinBJEBE.exe"))
VCD$ = GetVersionofFile(MakePath(SRCDIR$,"BJEBEW\WinBJEBE.exe")) '*** <=
IF (GetVersionNthField(VHD$,1) > GetVersionNthField(VCD$,1)) THEN
INSTALLAPP$ = "False"
GOTO WRONGBJEBEVERSION
ELSEIF (GetVersionNthField(VHD$,1) = GetVersionNthField(VCD$,1)) AND (GetVersionNthField(VHD$,2) > GetVersionNthField(VCD$,2)) THEN
INSTALLAPP$ = "False"
GOTO WRONGBJEBEVERSION
END IF
END IF
END IF
END IF
'**************************************** Get Install Path ***********************************
GETPATH:
IF FIRSTINSTALL$ = "False" THEN
GOTO INSTALLEDOPTIONS
END IF
'Getting the Install path using DEST$ as default
SetSymbolValue "EditTextIn", DEST$
SetSymbolValue "EditFocus", "END"
GETPATHDIALOG:
sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
DEST$ = GetSymbolValue("EditTextOut")
IF sz$ = "CONTINUE" THEN
DESTDRIVE$ = MID$(DEST$, 1, 1)
IF IsDirWritable(DEST$) = 0 THEN
GOSUB BADPATH
GOTO GETPATHDIALOG
END IF
UIPop 1
ELSEIF sz$ = "REACTIVATE" THEN
GOTO GETPATHDIALOG
ELSEIF sz$ = "BACK" THEN
UIPop 1
GOTO WELCOMEDIALOG
ELSE
GOSUB ASKQUIT
GOTO GETPATH
END IF
'************************************** First Time Install ******************************
OPTIONS: 'Select the installation options
IF INSTALLDATA$ = "True" then
SetSymbolValue "RadioDefault","2"
ELSE
SetSymbolValue "RadioDefault","1"
END IF
OPTIONSDIALOG:
sz$ = UIStartDlg(CUIDLL$, REGULAROPTIONS, "FRadioDlgProc", INSTALLHELP, HELPPROC$)
OPTCUR$ = GetSymbolValue("ButtonChecked")
IF sz$ = "CONTINUE" THEN
UIPop 1
ELSEIF sz$ = "REACTIVATE" THEN
GOTO OPTIONSDIALOG
ELSEIF sz$ = "BACK" THEN
UIPop 1
GOTO WELCOMEDIALOG
ELSE
GOSUB ASKQUIT
GOTO OPTIONSDIALOG
END IF
IF OPTCUR$ = "2" THEN
INSTALLDATA$ = "True"
INSTALLAPP$ = "True"
ELSE
INSTALLDATA$ = "False"
INSTALLAPP$ = "True"
END IF
CONFIRMINSTALL:
sz$ = UIStartDlg(CUIDLL$, CONFIRMINSTALL, "FCheckDlgProc", 0, "")
IF sz$ = "CONTINUE" THEN
UIPop 1
GOTO INSTALL
ELSEIF sz$ = "REACTIVATE" THEN
GOTO CONFIRMINSTALL
ELSEIF sz$ = "BACK" THEN
UIPop 1
IF FIRSTINSTALL = "True" THEN
GOTO OPTIONS
ELSE
GOTO INSTALLEDOPTIONS
END IF
ELSE
GOSUB ASKQUIT
GOTO CONFIRMINSTALL
END IF
'**************************************** Uninstall/Install Data ******************************
INSTALLEDOPTIONS: 'Select the installation options
IF REMOVEAPP$ = "True" then
SetSymbolValue "RadioDefault","1"
ELSEIF INSTALLDATA$ = "True" Then
SetSymbolValue "RadioDefault","3"
ELSE
SetSymbolValue "RadioDefault","2"
END IF
INSTALLEDDIALOG:
sz$ = UIStartDlg(CUIDLL$, INSTALLEDOPTIONS, "FRadioDlgProc", INSTALLEDHELP, HELPPROC$)
OPTCUR$ = GetSymbolValue("ButtonChecked")
IF sz$ = "CONTINUE" THEN
UIPop 1
ELSEIF sz$ = "REACTIVATE" THEN
GOTO INSTALLEDDIALOG
ELSEIF sz$ = "BACK" THEN
UIPop 1
GOTO WELCOMEDIALOG
ELSE
GOSUB ASKQUIT
GOTO INSTALLEDDIALOG
END IF
IF OPTCUR$ = "3" THEN
INSTALLDATA$ = "True"
INSTALLAPP$ = "True"
REMOVEAPP$ = "False"
REMOVEDATA$ = "False"
GOTO CONFIRMINSTALL
ELSEIF OPTCUR$ = "2" THEN
INSTALLAPP$ = "True"
INSTALLDATA$ = "False"
REMOVEAPP$ = "False"
REMOVEDATA$ = "True"
GOTO CONFIRMINSTALL
ELSE
INSTALLDATA$ = "False"
INSTALLAPP$ = "False"
REMOVEAPP$ = "True"
REMOVEDATA$ = "True"
END IF
CONFIRMUNINSTALL:
sz$ = UIStartDlg(CUIDLL$, CONFIRMUNINSTALL, "FCheckDlgProc", 0, "")
IF sz$ = "CONTINUE" THEN
UIPop 1