home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DOS/V Power Report 1996 August
/
VPR9608A.BIN
/
wintex
/
ipgbbs
/
fcpk26j.exe
/
FCWIN.EXE
/
FCWIN.MST
< prev
next >
Wrap
Text File
|
1994-11-02
|
7KB
|
253 lines
'**************************************************************************
'* FirstClass Windows Install 2.6
'* (C)SoftArc Inc. 1993, 1994.
'* Scott Appleton & JPA
'**************************************************************************
''$DEFINE DEBUG ''Define for script development/debugging
'$INCLUDE 'setupapi.inc'
'$INCLUDE 'msdetect.inc'
''Dialog ID's
CONST WELCOME = 100
CONST BADVERS = 200
CONST BADPATH = 300
CONST DONE = 500
CONST COOLBOX = 600
CONST IDC_C = 403 '' from dialogs.h
CONST IDC_EDIT = 427
CONST INSTAPP = 1
CONST INSTHELP = 2
CONST INSTNOT = 3
''Bitmap ID
CONST LOGO = 3
GLOBAL DEST$ ''Default destination directory.
GLOBAL OPTCUR$ ''Option selection from option dialog.
GLOBAL GOODDEST$
GOODDEST$ = "c:\FCWIN"
GLOBAL SPACEOK% '' Is there enough space on disk?
GLOBAL PATHOK% '' Is the path valid?
GLOBAL CURRSTATE% '' Current state of Install button
PATHOK% = IsDirWritable(GOODDEST$)
OPTCUR$ = "CheckItemsState"
FOR i% = 1 TO 3 STEP 1
AddListItem "CheckItemsIn", "ON"
AddListItem OPTCUR$, "ON"
NEXT i%
SIZETEXT$ = "TextIn"
DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
DECLARE SUB ReCalcDrives
DECLARE SUB DoGreyInstallButton
INIT:
CUIDLL$ = "mscuistf.dll" ''Custom user interface dll
SetBitmap CUIDLL$, LOGO
SetTitle "FirstClass for Windows Install"
szInf$ = MakePath (GetSymbolValue("STF_CWDDIR"), "FCWIN.INF")
ReadInfFile szInf$
MaxWind(HwndFrame())
WELCOME:
sz$ = UIStartDlg(CUIDLL$, WELCOME, "FBitmapDlgProc", 0, "")
IF sz$ = "CONTINUE" THEN
UIPop 1
ELSE
GOTO QUIT
END IF
i% = GetWindowsMajorVersion()
j% = GetWindowsMinorVersion()
IF i%<3 OR (i%=3 AND j%<10) THEN
sz$ = UIStartDlg(CUIDLL$, BADVERS, "FInfoDlgProc", 0, "")
UIPop 1
GOTO QUIT
END IF
GOTO GETPATH
GETPATH:
SetSymbolValue "EditTextIn", GOODDEST$
SetSymbolValue "EditFocus", "END"
ReCalcDrives
GETPATHL1:
DoGreyInstallButton
sz$ = UIStartDlg(CUIDLL$, COOLBOX, "FMyCoolDlgProc", 0, "")
IF sz$ = "CONTINUE" THEN
UIPop 1
ELSEIF sz$ = "REACTIVATE" THEN
GOTO GETPATHL1
ELSEIF sz$ = "EDIT" THEN
DEST$ = GetSymbolValue("EditTextOut")
IF IsDirWritable(DEST$) = 0 THEN
GOSUB BADPATH
PATHOK% = 0
SetMyFocus(IDC_EDIT)
GOTO GETPATHL1
ELSE
GOODDEST$ = DEST$
PATHOK% = 1
ReCalcDrives
END IF
GOTO GETPATHL1
ELSEIF sz$ = "CHK" THEN
ReCalcDrives
GOTO GETPATHL1
ELSE
UIPop 1
GOTO QUIT
END IF
INSTALL:
DEST$ = GOODDEST$
CreateDir DEST$, cmoNone
OpenLogFile MakePath(DEST$, "install.log"),0
WriteToLogFile ""
WriteToLogFile "----------------------------------------------"
WriteToLogFile "FirstClass Client for Windows Version 1.0"
WriteToLogFile "Installation on "+DEST$
SrcDir$ = GetSymbolValue("STF_SRCDIR")
OPTCUR$ = "CheckItemsState"
WriteToLogFile "Source from " + SrcDir$
ClearCopyList
IF GetListItem(OPTCUR$, INSTAPP) = "ON" THEN
AddSectionFilesToCopyList "Executes", SrcDir$, DEST$
WriteToLogFile "Executables..............OK"
SIZETEXT$ = GetWindowsSysDir()
SysDir$ = MID$(SIZETEXT$, 1, LEN(SIZETEXT$) - 7)
AddSectionFilesToCopyList "Inis", SrcDir$, SysDir$
ENDIF
IF GetListItem(OPTCUR$, INSTHELP) = "ON" THEN
AddSectionFilesToCopyList "Help", SrcDir$, DEST$
WriteToLogFile "Help.....................OK"
ENDIF
IF GetListItem(OPTCUR$, INSTNOT) = "ON" THEN
AddSectionFilesToCopyList "Notify", SrcDir$, DEST$
WriteToLogFile "Network Notify...........OK"
ENDIF
IF GetListItem(OPTCUR$, INSTAPP) = "ON" THEN
CreateDir MakePath(DEST$, "DOWNLOAD"), cmoNone
CreateDir MakePath(DEST$, "SCRIPTS"), cmoNone
CreateDir MakePath(DEST$, "FCP"), cmoNone
AddSectionFilesToCopyList "FCP", SrcDir$, MakePath(DEST$, "FCP")
CreateDir MakePath(DEST$, "MODEMS"), comNone
AddSectionFilesToCopyList "Modems", SrcDir$, MakePath(DEST$,"MODEMS")
WriteToLogFile "Modems...................OK"
SetDir$ = MakePath(DEST$, "SETTINGS")
CreateDir SetDir$, cmoNone
AddSectionFilesToCopyList "Systems", SrcDir$, SetDir$
WriteToLogFile "Systems..................OK"
ENDIF
WriteToLogFile " "
CopyFilesInCopyList
WriteToLogFile "Decompressing and copying complete."
WriteToLogFile "Installation Complete."
Exe$ = MakePath(DEST$,"fcclient.exe")
CreateProgmanGroup "FirstClass", "", cmoNone
ShowProgmanGroup "FirstClass", 1, cmoNone
IF GetListItem(OPTCUR$, INSTAPP) = "ON" THEN
CreateProgmanItem "FirstClass", "FirstClass Client", Exe$, " ,00,20,20,"+SetDir$, cmoOverwrite
CreateProgmanItem "FirstClass", "Creates Online", Exe$+" " +MakePath(SetDir$, "creates.fcs"), " ,50,60,200,"+SetDir$, cmoOverwrite
CreateProgmanItem "FirstClass", "Generic Modem", Exe$+" "+MakePath(SetDir$, "Modems.fcs"), " ,50,300,100,"+SetDir$, cmoOverwrite
CreateProgmanItem "FirstClass", "Generic Network", Exe$+" "+MakePath(SetDir$, "Network.fcs"), " ,50,60,100,"+SetDir$, cmoOverwrite
CreateProgmanItem "FirstClass", "Read Me", "write "+MakePath(DEST$, "read_me.wri"), " ,00,200,400,"+SetDir$, cmoOverwrite
ENDIF
IF GetListItem(OPTCUR$, INSTNOT) = "ON" THEN
CreateProgmanItem "FirstClass", "FirstClass Notify", MakePath(DEST$,"fcnotify.exe"), " ,0,20,100,"+SetDir$, cmoOverwrite
ENDIF
WriteToLogFile "Created Program Manager Groups."
CreateIniKeyValue "WIN.INI", "Extensions", "FCS", Exe$ +" ^.fcs", cmoOverwrite
WriteToLogFile "Created File Manager Associations."
CloseLogFile
sz$ = UIStartDlg(CUIDLL$, DONE, "FInfoDlgProc", 0, "")
UIPop 1
QUIT:
END
BADPATH:
sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfoDlgProc", 0,"")
IF sz$ <> "CONTINUE" THEN
GOTO BADPATH
END IF
UIPop 1
RETURN
FATALERR:
i% = DoMsgBox("No INF file found.","No INF",0)
GOTO QUIT
'**
'** 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
SUB ReCalcDrives STATIC
free& = 0
touse& = 0
IF GetListItem("CheckItemsState", INSTAPP) = "ON" THEN
touse& = touse& + 950*1024
END IF
IF GetListItem("CheckItemsState", INSTNOT) = "ON" THEN
touse& = touse& + 60*1024
END IF
IF GetListItem("CheckItemsState", INSTHELP) = "ON" THEN
touse& = touse& + 300*1024
END IF
free& = GetFreeSpaceForDrive(MID$(GOODDEST$,1,1))
free& = free& - touse&
IF free& < 0 THEN
SPACEOK% = 0
ELSE
SPACEOK% = 1
END IF
RemoveSymbol "TextIn"
AddListItem "TextIn", STR$(free&/1024)+"K"
AddListItem "TextIn", STR$(touse&/1024)+"K"
END SUB
SUB DoGreyInstallButton STATIC
TempState% = PATHOK% + SPACEOK%
IF (TempState% = 2) THEN
i% = ChangeWindState(IDC_C, 1)
ELSE
i% = ChangeWindState(IDC_C, 0)
END IF
END SUB