home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aztec Shareware Collection
/
AZ_096.ISO
/
for_pc
/
pixsetup.ms_
< prev
next >
Wrap
Text File
|
1994-04-18
|
27KB
|
920 lines
'**************************************************************************
'* MSSetup Toolkit PixFolio
'**************************************************************************
'' Revised Pixfolio Setup Script
'' Feb 94: David H. Goeb
'' Apr 94: David H. Goeb
'' Additions
'' Changed to have PCD files as part of application files
'' Added a WIN.INI check function to see if catalog was
'' already installed, and also check if new version.
'' All Aztech Text files are also added to the program group
'' Further Enhancements are custom Install call and Multi
'' Catalog support
'' Additional bug fixes and addition of gems catalog
''$DEFINE DEBUG ''Define for script development/debugging
'$INCLUDE 'setupapi.inc'
'$INCLUDE 'msdetect.inc'
'$INCLUDE 'mscuistf.inc'
''Dialog ID's
CONST WELCOME = 100
CONST ASKQUIT = 200
CONST DESTPATH = 300
CONST EXITFAILURE = 400
CONST EXITQUIT = 600
CONST EXITSUCCESS = 700
CONST EXITREGISTERED= 750
CONST OPTIONS = 800
CONST APPHELP = 900
CONST CUSTHELP = 910
CONST REGHELP = 920
CONST CUSTINST = 6200
CONST TOOBIG = 6300
CONST NOAVI = 6350
CONST NOAPP = 6360
CONST BADPATH = 6400
CONST CDGETNAMEORG = 7500
CONST MODELESS = 5000
CONST QUITWIN = 6500
''Bitmap ID
CONST LOGO = 1
''File Types
CONST APPFILES = 1
CONST OPTFILES1 = 2
CONST OPTFILES2 = 3
CONST OPTFILES3 = 4
CONST SYMFILES = 5
CONST CATFILES = 6
''================================
GLOBAL CATCOST%
GLOBAL CC$
GLOBAL DEST$ ''Default destination directory.
GLOBAL WINDRIVE$ ''Windows drive letter.
GLOBAL OPTCUR$ ''Option selection from option dialog.
GLOBAL CUIDLL$ ''Custom user interface DLL
GLOBAL szTempDir$ ''Working directory
GLOBAL SysDir$ ''Windows System Directory
GLOBAL ini$ ''INI file path
GLOBAL astr$ ''Usefull little string
GLOBAL NOPT$ ''Option selection from OptFiles1 option dialog.
GLOBAL OPT1OPT$ ''?? Option selection from OptFiles1 option dialog.
GLOBAL OPT2OPT$ ''?? Option selection from OptFiles2 option dialog.
GLOBAL OPT3OPT$
GLOBAL SYMOPT$ ''Option selection for symbol files.
''CustInst list symbol names
GLOBAL APPNEEDS$ ''Option list costs per drive
GLOBAL OPT1NEEDS$
GLOBAL OPT2NEEDS$
GLOBAL OPT3NEEDS$ ''Multimedia files
GLOBAL SYMNEEDS$
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$
DECLARE SUB AddOptFilesToCopyList (ftype%)
DECLARE SUB RecalcOptFiles (ftype%)
DECLARE SUB RecalcPath
DECLARE SUB SetDriveStatus
DECLARE SUB Install
DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
INIT:
CUIDLL$ = "mscuistf.dll" ''Custom user interface dll
HELPPROC$ = "FHelpDlgProc" ''Help dialog procedure
SetBitmap CUIDLL$, LOGO
SetTitle "PixFolio Setup"
szTempDir$ = GetSymbolValue("STF_CWDDIR")
szInf$ = GetSymbolValue("STF_SRCINFPATH")
IF szInf$ = "" THEN
szInf$ = GetSymbolValue("STF_CWDDIR") + "PIXSETUP.INF"
END IF
ReadInfFile szInf$
'' Force Catalog to be include unless selected off
NOPT$ = "1"
WINDRIVE$ = MID$(GetWindowsDir, 1, 1)
'' DEST$ = WINDRIVE$ + ":\PIXFOLIO"
DEST$ = ".............................................................................................................................."
GetPixDir DEST$
if DEST$ = "" THEN
DEST$ = WINDRIVE$ + ":\PIXFOLIO"
END IF
ini$ = MakePath(GetWindowsDir, "WIN.INI")
''CustInst list symbols
CHECKSTATES$ = "CheckItemsState"
STATUSTEXT$ = "StatusItemsText"
DRIVETEXT$ = "DriveStatusText"
' FOR i% = 1 TO 3 STEP 1
AddListItem CHECKSTATES$, "ON" '' Main program files
AddListItem CHECKSTATES$, "ON" '' PCD files
AddListItem CHECKSTATES$, "OFF" '' VFW
AddListItem CHECKSTATES$, "ON" '' Multimedia
AddListItem CHECKSTATES$, "OFF" '' Symbols
' NEXT i%
FOR i% = 1 TO 5 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
APPNEEDS$ = "AppNeeds"
OPT1NEEDS$ = "Opt1Needs"
OPT2NEEDS$ = "Opt2Needs"
OPT3NEEDS$ = "Opt3Needs"
SYMNEEDS$ = "SymNeeds"
EXTRACOSTS$ = "ExtraCosts"
BIGLIST$ = "BigList"
FOR i% = 1 TO 5 STEP 1
AddListItem BIGLIST$, ""
NEXT i%
FOR i% = 1 TO 26 STEP 1
AddListItem EXTRACOSTS$, "0"
NEXT i%
''File Option Variables
OPT1OPT$ = "1"
OPT2OPT$ = "1"
OPT3OPT$ = "1"
SYMOPT$ = "1"
SysDir$ = GetWindowsSysDir()
RecalcPath
'' i% = DoMsgBox("RecalcPath OK", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
SetDriveStatus
'' i% = DoMsgBox("SetDriveStatus OK", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
OPTCUR$ = "1"
' DEST$ = "C:\PIXFOLIO"
'$IFDEF DEBUG
i% = SetSizeCheckMode(scmOnIgnore) '' could use scmOff; def = scmOnFatal
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
'$ENDIF ''DEBUG
WELCOME:
sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
IF sz$ = "CONTINUE" THEN
UIPop 1
ELSE
GOSUB ASKQUIT
GOTO WELCOME
END IF
OPTION:
SetSymbolValue "RadioDefault", OPTCUR$
OPTL1:
NOPT$ = "0"
sz$ = UIStartDlg(CUIDLL$, OPTIONS, "FRadioDlgProc", APPHELP, HELPPROC$)
OPTCUR$ = GetSymbolValue("ButtonChecked")
'$IFDEF DEBUG
i% = DoMsgBox("Result ('"+OPTCUR$+"') Was Returned.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
'$ENDIF ''DEBUG
IF OPTCUR$ = "1" THEN
NOPT$ = "0"
ELSE
NOPT$ = "1"
END IF
IF sz$ = "CONTINUE" THEN
UIPop(1)
ELSEIF sz$ = "REACTIVATE" THEN
GOTO OPTL1
ELSE
GOSUB ASKQUIT
GOTO OPTION
END IF
CUSTINST:
SetDriveStatus
sz$ = UIStartDlg(CUIDLL$, CUSTINST, "FCustInstDlgProc", CUSTHELP, HELPPROC$)
IF sz$ = "CONTINUE" THEN
''Install only if it will fit.
FOR i% = 1 TO 5 STEP 1
IF GetListItem(BIGLIST$, i%) <> "" THEN
GOSUB TOOBIG
GOTO CUSTINST
END IF
NEXT i%
UIPop 1
GOTO INSTALLIT
ELSEIF sz$ = "PATH" THEN
GOTO GETPATH
ELSEIF sz$ = "CHK1" THEN
IF DoesFileExist(MakePath(DEST$, "PIXFOLIO.EXE"), femReadWrite) = 0 AND GetListItem(CHECKSTATES$, APPFILES) = "OFF" THEN
GOSUB NOAPP
GOTO CUSTINST
END IF
RecalcOptFiles APPFILES
RecalcOptFiles SYMFILES
SetDriveStatus
GOTO CUSTINST
ELSEIF sz$ = "CHK2" THEN
RecalcOptFiles OPTFILES1
RecalcOptFiles SYMFILES
SetDriveStatus
GOTO CUSTINST
ELSEIF sz$ = "CHK3" THEN
IF GetListItem(CHECKSTATES$, OPTFILES2) = "ON" THEN
IF CheckForAVI = 0 THEN
GOSUB NOAVI
ReplaceListItem CHECKSTATES$, OPTFILES2, "OFF"
END IF
END IF
RecalcOptFiles OPTFILES2
RecalcOptFiles SYMFILES
SetDriveStatus
GOTO CUSTINST
ELSEIF sz$ = "CHK4" THEN
RecalcOptFiles OPTFILES3
RecalcOptFiles SYMFILES
SetDriveStatus
GOTO CUSTINST
ELSEIF sz$ = "CHK5" THEN
RecalcOptFiles SYMFILES
SetDriveStatus
GOTO CUSTINST
ELSEIF sz$ = "BTN2" THEN
GOTO OPTFILES1
ELSEIF sz$ = "BTN3" THEN
GOTO OPTFILES2
ELSEIF sz$ = "BTN4" THEN
GOTO OPTFILES3
ELSEIF sz$ = "BTN5" THEN
GOTO SYMFILES
ELSEIF sz$ = "REACTIVATE" THEN
RecalcPath
SetDriveStatus
GOTO CUSTINST
ELSE
GOTO OPTION
'' Allow to reverse back to change CD option
''GOSUB ASKQUIT
''GOTO CUSTINST
END IF
GETPATH:
SetSymbolValue "EditTextIn", DEST$
SetSymbolValue "EditFocus", "END"
GETPATHL1:
sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, 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
INSTALLIT:
SetSymbolValue "SERIAL", "2X09AA001302"
SetSymbolValue "OWNER", "Aztech New Media Corp."
IF DoesFileExist(MakePath(DEST$, "PIXFOLIO.EXE"), femReadWrite) = 1 THEN
l& = GetStringTable(DEST$)
IF DoesFileExist(MakePath(DEST$, "PIXFOLIO.INI"), femReadWrite) = 1 THEN
ini$ = MakePath(DEST$, "PIXFOLIO.INI")
END IF
END IF
SERIAL$ = GetSymbolValue("SERIAL")
OWNER$ = GetSymbolValue("OWNER")
SERIAL1$ = GetIniKeyString(ini$, "PixFolio", "Registration Nbr")
OWNER1$ = GetIniKeyString(ini$, "PixFolio", "Registered To")
'* i% = DoMsgBox(SERIAL$+" "+SERIAL1, "Serial Number", MB_OK)
IF ValidateReg(SERIAL1$) = 1 THEN
SERIAL$ = SERIAL1$
OWNER$ = OWNER1$
'* i% = DoMsgBox(SERIAL$+" "+SERIAL1, "Serial Number", MB_OK)
END IF
SetSymbolValue "SERIAL", SERIAL$
SetSymbolValue "OWNER", OWNER$
Install
IF(DoesFileExist(MakePath(DEST$, "PIXPCD.DLL"), femReadWrite) = 1 OR DoesFileExist(MakePath(DEST$, "PIXAVI.DLL"), femReadWrite) = 1) AND MID$(SERIAL$, 6, 1) <> "B" THEN
GOTO GETSERIAL
END IF
IF ValidateReg(SERIAL$) = 1 THEN
GOTO UPDATEIT
END IF
GETSERIAL:
sz$ = UIStartDlg(CUIDLL$, CDGETNAMEORG, "FNameOrgDlgProc", REGHELP, HELPPROC$)
DEST$ = GetSymbolValue("EditTextOut")
IF sz$ = "CONTINUE" THEN
UIPop 1
ELSEIF sz$ = "CANCEL" THEN
UIPop 1
ELSE
GOSUB ASKQUIT
GOTO GETSERIAL
END IF
SERIAL$ = GetSymbolValue("SERIAL")
OWNER$ = GetSymbolValue("OWNER")
UPDATEIT:
IF ValidateReg(SERIAL$) = 1 THEN
'* l& = PutStringTable(DEST$)
CreateIniKeyValue ini$, "PixFolio", "Registration Nbr", SERIAL$, cmoOverwrite
CreateIniKeyValue ini$, "PixFolio", "Registered To", OWNER$, cmoOverwrite
ELSE
CreateProgmanItem "PixFolio", "Register", "notepad.exe "+MakePath(DEST$,"PIXREGST.FRM"), "", cmoOverwrite
END IF
'* Install
QUITWIN:
ii% = RestartListEmpty()
IF ii% = 0 THEN
sz$ = UIStartDlg(CUIDLL$, QUITWIN, "FQuitWinDlgProc", 0, "")
IF sz$ = "CONTINUE" THEN
UIPop 1
ELSEIF sz$ = "REACTIVATE" THEN
GOTO QUITWIN
ELSE
GOSUB ASKQUIT
GOTO QUITWIN
END IF
ij% = ExitExecRestart()
END IF
QUIT:
ON ERROR GOTO ERRQUIT
IF ERR = 0 THEN
IF ValidateReg(SERIAL$) = 1 THEN
dlg% = EXITREGISTERED
ELSE
dlg% = EXITSUCCESS
END IF
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("Setup sources were corrupted, call (502) 955-7527!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
END
OPTFILES1:
SetSymbolValue "RadioDefault", OPT1OPT$
OPT1L1:
sz$ = UIStartDlg(CUIDLL$, OPTIONS, "FRadioDlgProc", APPHELP, HELPPROC$)
newopt$ = GetSymbolValue("ButtonChecked")
IF sz$ = "CONTINUE" THEN
UIPop 1
IF newopt$ <> OPT1OPT$ THEN
OPT1OPT$ = newopt$
RecalcOptFiles OPTFILES1
SetDriveStatus
END IF
newopt$ = ""
GOTO CUSTINST
ELSEIF sz$ = "REACTIVATE" THEN
RecalcPath
SetDriveStatus
GOTO OPT1L1
ELSEIF sz$ = "EXIT" THEN
GOSUB ASKQUIT
GOTO OPT1L1
ELSE
UIPop 1
newopt$ = ""
GOTO CUSTINST
END IF
OPTFILES2:
SetSymbolValue "RadioDefault", OPT2OPT$
OPT2L1:
sz$ = UIStartDlg(CUIDLL$, OPTIONS, "FRadioDlgProc", APPHELP, HELPPROC$)
newopt$ = GetSymbolValue("ButtonChecked")
IF sz$ = "CONTINUE" THEN
UIPop 1
IF newopt$ <> OPT2OPT$ THEN
OPT2OPT$ = newopt$
RecalcOptFiles OPTFILES2
SetDriveStatus
END IF
newopt$ = ""
GOTO CUSTINST
ELSEIF sz$ = "REACTIVATE" THEN
RecalcPath
SetDriveStatus
GOTO OPT2L1
ELSEIF sz$ = "EXIT" THEN
GOSUB ASKQUIT
GOTO OPT2L1
ELSE
UIPop 1
newopt$ = ""
GOTO CUSTINST
END IF
OPTFILES3:
SetSymbolValue "RadioDefault", OPT3OPT$
OPT3L1:
sz$ = UIStartDlg(CUIDLL$, OPTIONS, "FRadioDlgProc", APPHELP, HELPPROC$)
newopt$ = GetSymbolValue("ButtonChecked")
IF sz$ = "CONTINUE" THEN
UIPop 1
IF newopt$ <> OPT3OPT$ THEN
OPT3OPT$ = newopt$
RecalcOptFiles OPTFILES3
SetDriveStatus
END IF
newopt$ = ""
GOTO CUSTINST
ELSEIF sz$ = "REACTIVATE" THEN
RecalcPath
SetDriveStatus
GOTO OPT3L1
ELSEIF sz$ = "EXIT" THEN
GOSUB ASKQUIT
GOTO OPT3L1
ELSE
UIPop 1
newopt$ = ""
GOTO CUSTINST
END IF
SYMFILES:
SetSymbolValue "RadioDefault", SYMOPT$
OPTSL1:
sz$ = UIStartDlg(CUIDLL$, OPTIONS, "FRadioDlgProc", APPHELP, HELPPROC$)
newopt$ = GetSymbolValue("ButtonChecked")
IF sz$ = "CONTINUE" THEN
UIPop 1
IF newopt$ <> SYMOPT$ THEN
SYMOPT$ = newopt$
RecalcOptFiles SYMFILES
SetDriveStatus
END IF
newopt$ = ""
GOTO CUSTINST
ELSEIF sz$ = "REACTIVATE" THEN
RecalcPath
SetDriveStatus
GOTO OPTSL1
ELSEIF sz$ = "EXIT" THEN
GOSUB ASKQUIT
GOTO OPTSL1
ELSE
UIPop 1
newopt$ = ""
GOTO CUSTINST
END IF
TOOBIG:
sz$ = UIStartDlg(CUIDLL$, TOOBIG, "FInfo0DlgProc", 0, "")
IF sz$ = "REACTIVATE" THEN
RecalcPath
SetDriveStatus
GOTO TOOBIG
END IF
UIPop 1
RETURN
NOAVI:
sz$ = UIStartDlg(CUIDLL$, NOAVI, "FInfo0DlgProc", 0, "")
IF sz$ = "REACTIVATE" THEN
RecalcPath
SetDriveStatus
GOTO NOAVI
END IF
UIPop 1
RETURN
NOAPP:
sz$ = UIStartDlg(CUIDLL$, NOAPP, "FInfo0DlgProc", 0, "")
IF sz$ = "REACTIVATE" THEN
RecalcPath
SetDriveStatus
GOTO NOAPP
END IF
UIPop 1
RETURN
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
lTicks& = 20
SrcDir$ = GetSymbolValue("STF_SRCDIR")
CreateDir DEST$, cmoNone
ClearBillboardList
AddToBillboardList CUIDLL$, MODELESS, "FModelessDlgProc", lTicks&
OpenLogFile MakePath(DEST$, "LOGFILE.OUT"), 0
WriteToLogFile ""
WriteToLogFile " User chose as destination directory: '" + DEST$ + "'"
WriteToLogFile " User chose option: '" + OPTCUR$ + "'"
WriteToLogFile ""
WriteToLogFile "May have had to create the directory: " + DEST$
WriteToLogFile ""
SetRestartDir(szTempDir)
ClearCopyList
AddOptFilesToCopyList APPFILES
AddOptFilesToCopyList OPTFILES1
AddOptFilesToCopyList OPTFILES2
AddOptFilesToCopyList OPTFILES3
AddOptFilesToCopyList SYMFILES
AddSectionFilesToCopyList "Remove List", SrcDir$, DEST$
IF NOPT$ = "0" THEN
cat1$ = MakePath(SrcDir$, "SMPL_"+MID$(SrcDir$,1,1)+".CAT")
cat2$ = MakePath(SrcDir$, "VR_I_E.CAT")
cat3$ = MakePath(SrcDir$, "WB_1TO3.CAT")
cat4$ = MakePath(SrcDir$, "WB_4to6.CAT")
cat5$ = MakePath(SrcDir$, "DINO_I.CAT")
cat6$ = MakePath(SrcDir$, "FAL_I_D.CAT")
cat7$ = MakePath(SrcDir$, "GEM_I_D.CAT")
cat8$ = MakePath(SrcDir$, "AGB_I_E.CAT")
ELSE
AddSectionFilesToCopyList "Catalogs", SrcDir$, DEST$
AddSectionFilesToCopyList "Sampler_"+MID$(SrcDir$,1,1), SrcDir$, DEST$
cat1$ = MakePath(DEST$, "SMPL_"+MID$(SrcDir$,1,1)+".CAT")
cat2$ = MakePath(DEST$, "VR_I_E.CAT")
cat3$ = MakePath(DEST$, "WB_1TO3.CAT")
cat4$ = MakePath(DEST$, "WB_4to6.CAT")
cat5$ = MakePath(DEST$, "DINO_I.CAT")
cat6$ = MakePath(DEST$, "FAL_I_D.CAT")
cat7$ = MakePath(DEST$, "GEM_I_D.CAT")
cat8$ = MakePath(DEST$, "AGB_I_E.CAT")
END IF
CopyFilesInCopyList
vol$ = " "
GetVolume SrcDir$, vol$
Ext$ = "*.GIF;*.BMP;*.TIF;*.TGA;*.IFF;*.PCX;*.WMF;*.EPS;*.WPG;*.PCD"
i% = DoesFileExist(cat$, femExists)
j% = DoesIniSectionExist("WIN.INI", "PixFolio")
IF i = 1 And j = 0 THEN
'' CreateIniKeyValue "WIN.INI", "PixFolio", "Catalog1", "Default," + cat$ + "," + Ext$ +"," + vol$ + ",READONLY", cmoNone
CreateIniKeyValue "WIN.INI", "PixFolio", "Catalog99", "Fashion Advertising Lifestyle," + cat6$ + "," + Ext$ + ", , READONLY", cmoOverwrite
CreateIniKeyValue "WIN.INI", "PixFolio", "Catalog98", "Visual Rythms," + cat2$ + "," + Ext$ + ", , READONLY", cmoOverwrite
CreateIniKeyValue "WIN.INI", "PixFolio", "Catalog97", "WorldBank Volumes I to III," + cat3$ + "," + Ext$ + ", , READONLY", cmoOverwrite
CreateIniKeyValue "WIN.INI", "PixFolio", "Catalog96", "WorldBank Volumes IV to VI," + cat4$ + "," + Ext$ + ", , READONLY", cmoOverwrite
CreateIniKeyValue "WIN.INI", "PixFolio", "Catalog95", "Jurassic Dinosaurs," + cat5$ + "," + Ext$ + ", , READONLY", cmoOverwrite
CreateIniKeyValue "WIN.INI", "PixFolio", "Catalog94", "Sample Images from WorldBank," + cat1$ + "," + Ext$ + ", , READONLY", cmoOverwrite
CreateIniKeyValue "WIN.INI", "PixFolio", "Catalog93", "Gems," + cat7$ + "," + Ext$ + ", , READONLY", cmoOverwrite
CreateIniKeyValue "WIN.INI", "PixFolio", "Catalog92", "Abstract & Graphic Backgrounds," + cat8$ + "," + Ext$ + ", , READONLY", cmoOverwrite
CreateIniKeyValue "WIN.INI", "PixFolio", "Catalogs", "99", cmoNone
ELSE
CreateIniKeyValue "WIN.INI", "PixFolio", "Catalog99", "Fashion Advertising Lifestyle," + cat6$ + "," + Ext$ + ", , READONLY", cmoOverwrite
CreateIniKeyValue "WIN.INI", "PixFolio", "Catalog98", "Visual Rythms," + cat2$ + "," + Ext$ + ", , READONLY", cmoOverwrite
CreateIniKeyValue "WIN.INI", "PixFolio", "Catalog97", "WorldBank Volumes I to III," + cat3$ + "," + Ext$ + ", , READONLY", cmoOverwrite
CreateIniKeyValue "WIN.INI", "PixFolio", "Catalog96", "WorldBank Volumes IV to VI," + cat4$ + "," + Ext$ + ", , READONLY", cmoOverwrite
CreateIniKeyValue "WIN.INI", "PixFolio", "Catalog95", "Jurassic Dinosaurs," + cat5$ + "," + Ext$ + ", , READONLY", cmoOverwrite
CreateIniKeyValue "WIN.INI", "PixFolio", "Catalog94", "Sample Images from WorldBank," + cat1$ + "," + Ext$ + ", , READONLY", cmoOverwrite
CreateIniKeyValue "WIN.INI", "PixFolio", "Catalog93", "Gems," + cat7$ + "," + Ext$ + ", , READONLY", cmoOverwrite
CreateIniKeyValue "WIN.INI", "PixFolio", "Catalog92", "Abstract & Graphic Backgrounds," + cat8$ + "," + Ext$ + ", , READONLY", cmoOverwrite
CreateIniKeyValue "WIN.INI", "PixFolio", "Catalogs", "99", cmoNone
ENDIF
IF DoesFileExist(MakePath(DEST$, "PIXPCD.DLL"), femReadWrite) = 1 THEN
CreateIniKeyValue "WIN.INI", "PixFolio", "PCD Resolution", "3", cmoNone
CreateIniKeyValue "WIN.INI", "PixFolio", "PCD Format", "2", cmoNone
END IF
CreateProgmanGroup "PixFolio", "", cmoNone
ShowProgmanGroup "PixFolio", 1, cmoNone
CreateProgmanItem "PixFolio", "PixFolio", MakePath(DEST$,"PixFolio"), "", cmoOverwrite
CreateProgmanItem "PixFolio", "Read Me", "NotePad.exe "+MakePath(DEST$,"PIXREAD.ME"), "", cmoOverwrite
CreateProgmanItem "PixFolio", "User Guide", "Write.exe "+MakePath(DEST$,"UsrGuide.wri"), "", cmoOverwrite
CreateProgmanItem "PixFolio", "License Agreement", "Notepad.exe "+MakePath(DEST$,"LICENSE.TXT"), "", cmoOverwrite
CreateProgmanItem "PixFolio", "Other Products", "NotePad.exe "+MakePath(DEST$,"OTH_PROD.TXT"), "", cmoOverwrite
CloseLogFile
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
'**
'** Purpose:
'** Adds the specified option files to the copy list.
'** Arguments:
'** ftype% - type of files to add, one of the following:
'** APPFILES, OPTFILES1, OPTFILES2
'** Returns:
'** none.
'*************************************************************************
SUB AddOptFilesToCopyList (ftype%) STATIC
IF GetListItem(CHECKSTATES$, ftype%) = "ON" THEN
SrcDir$ = GetSymbolValue("STF_SRCDIR")
IF ftype% = APPFILES THEN
AddSectionFilesToCopyList "PixFolio Files", SrcDir$, DEST$
AddSectionFilesToCopyList "System Files", SrcDir$, SysDir$
ELSEIF ftype% = OPTFILES1 THEN
'' Not any more
AddSectionFilesToCopyList "PCD Files", SrcDir$, DEST$
ELSEIF ftype% = OPTFILES2 THEN
AddSectionFilesToCopyList "VFW Files", SrcDir$, DEST$
ELSEIF ftype% = OPTFILES3 THEN
AddSectionFilesToCopyList "Multimedia Files", SrcDir$, DEST$
ELSEIF ftype% = SYMFILES THEN
'' i% = DoMsgBox("AddOptFiles" + STR$(ftype%), "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
IF GetListItem(CHECKSTATES$, APPFILES) = "ON" THEN
AddSectionFilesToCopyList "PixFolio Symbols", SrcDir$, DEST$
END IF
IF GetListItem(CHECKSTATES$, OPTFILES1) = "ON" THEN
AddSectionFilesToCopyList "PCD Symbols", SrcDir$, DEST$
END IF
IF GetListItem(CHECKSTATES$, OPTFILES2) = "ON" THEN
AddSectionFilesToCopyList "VFW Symbols", SrcDir$, DEST$
END IF
IF GetListItem(CHECKSTATES$, OPTFILES3) = "ON" THEN
AddSectionFilesToCopyList "Multimedia Symbols", SrcDir$, DEST$
END IF
END IF
SrcDir$ = ""
END IF
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:
'** APPFILES, OPTFILES1, OPTFILES2
'** Returns:
'** none.
'*************************************************************************
SUB RecalcOptFiles (ftype%) STATIC
CursorSave% = ShowWaitCursor()
ClearCopyList
AddOptFilesToCopyList ftype%
'' i% = DoMsgBox("Added files to copy list " + STR$(ftype%), "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
fExtra% = 0
IF ftype% = APPFILES THEN
ListSym$ = APPNEEDS$
IF GetListItem(CHECKSTATES$, APPFILES) = "ON" THEN
''Add extra cost to Windows drive for ini/progman, etc.
ndrive% = ASC(ucase$(WINDRIVE$)) - ASC("A") + 1
ReplaceListItem EXTRACOSTS$, ndrive%, "10240"
fExtra% = 1
END IF
ELSEIF ftype% = OPTFILES1 THEN
ListSym$ = OPT1NEEDS$
ELSEIF ftype% = OPTFILES2 THEN
ListSym$ = OPT2NEEDS$
ELSEIF ftype% = OPTFILES3 THEN
ListSym$ = OPT3NEEDS$
ELSEIF ftype% = SYMFILES THEN
ListSym$ = SYMNEEDS$
END IF
'' i% = DoMsgBox("ListSym$ =" + ListSym$, "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
StillNeed& = GetCopyListCost(EXTRACOSTS$, ListSym$, "")
cost& = 0
FOR i% = 1 TO 26 STEP 1
cost& = cost& + VAL(GetListItem(ListSym$, i%))
NEXT i%
IF NOPT$ = "1" THEN
ReplaceListItem STATUSTEXT$, ftype%, STR$(cost& / 1024) + " K (Including Catalog)"
ELSE
ReplaceListItem STATUSTEXT$, ftype%, STR$(cost& / 1024) + " K"
END IF
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$ = ""
'' i% = DoMsgBox("RecalcPath OK" + STR$(ftype%), "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
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 APPFILES
RecalcOptFiles OPTFILES1
RecalcOptFiles OPTFILES2
RecalcOptFiles OPTFILES3
RecalcOptFiles SYMFILES
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(APPNEEDS$, ndrive%)) + VAL(GetListItem(OPT1NEEDS$, ndrive%)) + VAL(GetListItem(OPT2NEEDS$, ndrive%)) + VAL(GetListItem(SYMNEEDS$, ndrive%))
free& = GetFreeSpaceForDrive(drive$)
''======================================================================
'' Manual posting of catalog size for now until new version is made.
''======================================================================
'' If catalog on HD is selected add 41472626 to total needed.
IF NOPT$ = "1" THEN
cost& = cost& + 42284334
END IF
''=====================================================================
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(APPNEEDS$, ndrive%)) + VAL(GetListItem(OPT1NEEDS$, ndrive%)) + VAL(GetListItem(OPT2NEEDS$, ndrive%))
IF cost& = 0 THEN
ReplaceListItem DRIVETEXT$, 4, ""
ReplaceListItem DRIVETEXT$, 5, ""
ReplaceListItem DRIVETEXT$, 6, ""
ELSE
''IF NOPT$ = "1" THEN
'' cost& = cost& + 1146712
''END IF
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