home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-07-29 | 40.6 KB | 1,090 lines |
- '' $Keywords: update.mst 1.10 29Jul93 09:47am$ $nokeywords$
- '**************************************************************************
- '* CorelDRAW! 4 Update script
- '**************************************************************************
- '' Date Name Reason
- ''-------------------------------------------------------------------------
- '' JUL 14 1993 Ibrahim Sallam Create
-
- '$INCLUDE 'setupapi.inc'
-
- ''C functions
- DECLARE SUB InitializeInstall LIB "mscuistf.dll" (hInstance%, hMainWind% )
- DECLARE SUB ShutDownInstall LIB "mscuistf.dll"
- DECLARE SUB FileChangeString LIB "mscuistf.dll" (szFile1$, szFile2$, szString1$, szString2$)
- DECLARE SUB FRecalcOptFiles LIB "mscuistf.dll" (iType%, szNeeds$)
- DECLARE FUNCTION FIsDrawExist LIB "mscuistf.dll" (szFileName$, szDest$) AS INTEGER
- DECLARE FUNCTION IsSectionKeyExist LIB "mscuistf.dll" (szSectionName$, szKeyName$) AS INTEGER
- DECLARE SUB FAddFileToCopyList LIB "mscuistf.dll" (AppendSect$, Section$, FilterName$, SourceDir$, FiltersDir$)
- DECLARE SUB CommentIniSection LIB "mscuistf.dll" (szFileName$, szTempFile$, szSection$, szPath$ )
- DECLARE FUNCTION GetFilenameFromPath LIB "mscuistf.dll" (szPath$) AS INTEGER
- DECLARE FUNCTION FGetBootDrive LIB "mscuistf.dll" AS INTEGER
-
- '$INCLUDE 'setupvar.inc'
-
- ''Strings for loading string resources
- GLOBAL szString$
- CONST STRINGLEN = 128
- szString$ = string$( STRINGLEN+1, 32 )
-
- ''setup main window
- CONST LOGO = 9100 ''must match the constant in dialogs.h
- ''CONST LOGO3 = 9115 ''must match the constant in dialogs.h
- SetTitle "CorelDRAW! 4 Update"
- ''SetBitmap "mscuistf.dll", LOGO3
- SetBitmap "mscuistf.dll", LOGO
- InitializeInstall hinstFrame(), HwndFrame() ''corel style buttons; max window
-
- '$INCLUDE 'msdetect.inc'
-
- '''$DEFINE DEBUG ''Define for script development/debugging
-
- ''Dialog ID's
- ''Note: These constants MUST match the constants in dialogs.h
- CONST UPGRDASKUPDATE = 9850
- CONST UPGRDASKUPDATEHELP = 9851
- CONST UPGRDERRORCHECKAPP = 9852
- CONST UPGRDCHECKPATHHELP = 9853
- CONST UPGRDDRAWPATH = 9854
- CONST UPGRDDRAWPATHHELP = 9855
- CONST UPGRDNETWELCOME = 9856
- CONST UPGRDNETABOUT = 9857
- CONST UPGRDSUCCESS = 9858
- CONST UPGRDWAIT = 9859
- CONST UPGRDTOOBIG = 9860
- CONST UPGRDWRONGDIR = 9861
- CONST UPGRDWELCOME = 9862
- CONST UPGRDWELCOMEHELP = 9863
- CONST UPGRDASKQUIT = 9864
- CONST UPGRDEXITSUCCESS = 9865
- CONST UPGRDNETEXITSUCCESS = 9866
- CONST UPGRDEXITQUIT = 9867
- CONST UPGRDERROREXITFAILURE = 9868
- CONST UPGRDABOUT = 9869
- CONST UPGRDWAITCONFIGER = 9870
- CONST UPGRDERRORWINREADONLY = 9871
- CONST UPGRDERRORBADPATH = 9872
- CONST UPGRDNETSETUPPATH = 9873
- CONST UPGRDERRORNOSETUPDIR = 9874
-
- ''Constants representing each line in the custinst dialog
- CONST DRAW = 1
- CONST CHART = 2
- CONST SHOW = 3
- CONST PHOTO = 4
- CONST MOVE = 5
- CONST TRACE = 6
- CONST MOSAIC = 7
- CONST NUMCUST = MOSAIC
- CONST MAIN = NUMCUST + 1
- CONST NUMGROUPS = MAIN
-
- CONST FALSE = 0
- CONST TRUE = 1
-
- '''$UNDEF INSTALLCD ''When this is set, Draw will install off cd-rom
-
- GLOBAL bUpdate(MAIN) AS INTEGER
- GLOBAL bUpdateHelp(MOSAIC) AS INTEGER
-
- GLOBAL DrivesList$ ''experemental variable for the drives list
- DrivesList$ = "DrivesList"
- GLOBAL TempList$ '' Used for Temp lists
- TempList$ = "TempList"
- GLOBAL aszNEEDS$
- aszNEEDS$ = "UpdateNeeds"
-
- GLOBAL bTooBig%
- bTooBig% = FALSE
- GLOBAL bBadPath%
- bBadPath% = FALSE
- GLOBAL bBack%
- bBack% = FALSE
-
- GLOBAL bUpdateNet% '' Are we installing a network version?
- GLOBAL DIR(NUMGROUPS) AS STRING ''list of directories for main options
-
- GLOBAL WINDIR$ ''Windows directory.
- GLOBAL WINSYSDIR$ ''Windows directory.
- GLOBAL WINDRIVE$ ''Windows drive letter.
- GLOBAL bWindowsIsNetworked%
- GLOBAL DEST$ ''destination directory.
- GLOBAL NetSetupDir$ '' SetupDirectory for network administrator
- GLOBAL ConfigDir$ '' ConfigDirectory for the normal Install
- GLOBAL ProgramsDir$
- GLOBAL DataDir$
- GLOBAL CustomDir$
- GLOBAL FiltersDir$
- GLOBAL szSymbolDir$
-
- GLOBAL szWWinDir$ ''Writable Windows directory
-
- ''Windows version numbers
- GLOBAL WinMinor%
-
- ''Variables to fake subroutines with parameters
- GLOBAL Dialog%
- GLOBAL szTempVar$
-
- ''Globals for WaitOn and WaitOff
- GLOBAL nWaiting%
- GLOBAL CursorSave%
-
- GLOBAL SrcDir$ '' Directory where files can be found
- SrcDir$ = GetSymbolValue("STF_SRCDIR")
- GLOBAL InfFile$
-
- ''local MSTest functions
- DECLARE SUB WaitOnBig
- DECLARE SUB WaitOn
- DECLARE SUB WaitOff
- DECLARE SUB SetDirectories
- DECLARE SUB SetNetDirectories
- DECLARE SUB CheckInstalledApps
- DECLARE SUB AddFilesToCopyList( ftype% )
- DECLARE SUB CalculateRequiredSpace
- DECLARE SUB WrapFileChangeString( szFile1$, szFile2$, szString1$, szString2$ )
- DECLARE SUB WrapCommentIniSection( szFileName$, szTempFile$, szSection$, szPath$ )
- DECLARE SUB CheckBackupFile( szFile1$, szFile2$ )
- DECLARE FUNCTION MakePath( szDir$, szFile$ ) AS STRING
- DECLARE FUNCTION MakeDir( szDir$ ) AS STRING
- DECLARE SUB AddRedistSection( szSection$ )
- DECLARE FUNCTION CheckFileInPrograms( FileName$ ) AS INTEGER
- DECLARE SUB CheckInstalledFilters( szSection$ )
-
- INIT:
- '' set waiting cursor
- nWaiting% = 0
- WaitOn
-
- ''Set default directory names
- WINDIR$ = GetWindowsDir
- WINSYSDIR$ = GetWindowsSysDir
- WINDRIVE$ = MID$(WINDIR$, 1, 1)
- '' '$IFDEF INSTALLCD
- '' InfFile$ = "DRAW.INF"
- '' '$ELSE
- InfFile$ = "UPDATE.INF"
- '' '$ENDIF
-
- OpenLogfile MakePath(WINDIR$, "UPDATE.LOG"), 0
-
- '' Determine whether or not we are installing as a network administrator.
- '' If we are, modify the copy of the .inf file to force files to be copied
- '' as readonly.
- bUpdateNet% = FALSE
- IF GetSymbolValue("STF_MODE") = "ADMIN" THEN
- bUpdateNet% = TRUE
- '' set the .inf readonly flag to true
- szDir$ = GetSymbolValue("STF_CWDDIR")
- WrapFileChangeString MakePath(szDir$,InfFile$), MakePath(szDir$,"___temp_"), """STF_READONLY"" = """"", """STF_READONLY"" = ""YES"""
- szDir$ = ""
- ENDIF
-
- IF bUpdateNet% THEN
- szWWinDir$ = WINSYSDIR$
- ELSE
- IF bWindowsIsNetworked% THEN
- szWWinDir$ = WINDIR$
- ELSE
- szWWinDir$ = WINSYSDIR$
- ENDIF
- ENDIF
-
-
- bWindowsIsNetworked% = IsDriveNetwork( MID$(WINSYSDIR$,1,1) )
- DEST$ = WINDRIVE$ + ":\"+TR_CORELDRW
- '' DIR(MAIN) = DEST$
- '' SetDirectories
-
- '' Some Info to the Log File
-
- WriteToLogFile "Updating CorelDRAW! 4"
- IF bUpdateNet% THEN
- WriteToLogFile "Network Administrator"
- ENDIF
- IF bWindowsIsNetworked% THEN
- WriteToLogFile TR_NETWINDOWS
- ENDIF
-
- '' Quit if installing a network version and windows is readonly on net
- IF bWindowsIsNetworked% AND bUpdateNet% AND IsDirWritable(WINSYSDIR$) = 0 THEN
- Dialog% = UPGRDERRORWINREADONLY
- GOSUB INFO
- ERR = STFERR
- GOTO QUIT
- ENDIF
-
- ''find and read .inf file
- ReadInfFile GetSymbolValue("STF_CWDDIR") + InfFile$
-
- ''Get Drives List
- GetValidDrivesList(DrivesList$)
-
- WinMinor% = GetWindowsMinorVersion
-
- '' Put up the Welcome dialog
- WELCOME:
- WaitOff
- IF bUpdateNet% THEN
- Dialog% = UPGRDNETWELCOME
- ELSE
- Dialog% = UPGRDWELCOME
- ENDIF
- sz$ = UIStartDlg( "mscuistf.dll", Dialog%, "FInfoDlgProc", UPGRDWELCOMEHELP, "FHelpDlgProc" )
- SELECT CASE sz$
- CASE "CONTINUE"
- UIPop 1
- CASE "ABOUT"
- IF bUpdateNet% THEN
- Dialog% = UPGRDNETABOUT
- ELSE
- Dialog% = UPGRDABOUT
- ENDIF
- GOSUB INFO
- GOTO WELCOME
- CASE "REACTIVATE"
- GOTO WELCOME
- CASE ELSE
- GOSUB ASKQUIT
- GOTO WELCOME
- END SELECT
-
- GETDIR:
- IF bUpdateNet% THEN
- GOSUB GetNetSetupDir
- ELSE
- GOSUB GetAppsMainDir
- ENDIF
- '' The following directories shouldn't be empty.................
- IF ProgramsDir$ = "" OR CustomDir$ = "" OR FiltersDir$ = "" OR DataDir$ = "" OR DIR(DRAW) = "" OR DIR(PHOTO) = "" OR DIR(MAIN) = "" THEN
- bBack% = TRUE
- ELSEIF IsDirWritable(ProgramsDir$) = 0 OR IsDirWritable(CustomDir$) = 0 OR IsDirWritable(FiltersDir$) = 0 OR IsDirWritable(DataDir$) = 0 THEN
- bBack% = TRUE '' If these directories is not writable, we still can't update.....
- ENDIF
- IF bBack% THEN
- IF bUpdateNet% THEN
- Dialog% = UPGRDERRORNOSETUPDIR
- ELSE
- Dialog% = UPGRDERRORCHECKAPP
- ENDIF
- GOSUB INFO
- GOTO GETDIR
- ENDIF
- CheckInstalledApps
-
- IF bUpdate(MAIN) = FALSE THEN ''No Apps Installed.... so no update
- Dialog% = UPGRDERRORCHECKAPP
- GOSUB INFO
- GOTO GETDIR
- ENDIF
-
- '' Do the Update using bUpdate(DRAW).. bUpdate(MOSAIC), to
- '' indicate which files should be updated
-
- sz$ = UIStartDlg("mscuistf.dll", UPGRDWAIT, "FModelessDlgProc", 0, "")
- FOR i% = DRAW TO MAIN
- IF bUpdate(i%) THEN
- WriteToLogFile "Add Files of: "+STR$(i)
- AddFilesToCopyList i%
- ENDIF
- NEXT i%
- UIPop 1
- GOSUB ASKUPDATE
-
- INSTALL:
- WriteToLogFile "INSTALL:"
- WaitOn
- ''Make sure there is enough space for Updating CorelDRAW!
- WaitOnBig
- CalculateRequiredSpace
- IF bTooBig% THEN
-
- Dialog% = UPGRDTOOBIG
- GOSUB INFO
- GOSUB ASKQUIT
- ENDIF
-
- ''Copy all the files over
- WaitOff
- WriteToLogFile "START CopyFilesInCopyList"
- CopyFilesInCopyList
- WriteToLogFile "END CopyFilesInCopyList"
- WaitOn
-
- IF bUpdateNet% = FALSE THEN
-
- sz$ = UIStartDlg("mscuistf.dll", UPGRDWAITCONFIGER, "FModelessDlgProc", 0, "")
-
- '' Updating the INI files in the Config directory only if an APP installed.
- IF bUpdate(MAIN) THEN
-
- '' backup files to *.cor - do not overwrite
- '' CheckBackupFile MakePath(WINDIR$,"win.ini"), MakePath(WINDIR$,"win.cor")
- CheckBackupFile MakePath(WINDIR$,"reg.dat"), MakePath(WINDIR$,"reg.cor")
- '' CheckBackupFile MakePath(WINDIR$,"progman.ini"), MakePath(WINDIR$,"progman.cor")
-
- '' CreateIniKeyValue TR_WIN_INI, "CorelGraphics4", "Dir", ConfigDir$, cmoOverWrite
- '' RUN( TR_REGLOAD_S + " " + MakePath(WINSYSDIR$, "OLE2.REG") )
- Oldini$ = MakePath( ConfigDir$, "corelapp.bak")
- ini$ = MakePath( ConfigDir$, TR_CORELAPP_INI)
- szString$ = GetIniKeyString(Oldini$, "Config", "ProgramsDir")
- CreateIniKeyValue ini$, "Config", "ProgramsDir", szString$, cmoOverWrite
- szString$ = GetIniKeyString(Oldini$, "Config", "DataDir")
- CreateIniKeyValue ini$, "Config", "DataDir", szString$, cmoOverWrite
- szString$ = GetIniKeyString(Oldini$, "Config", "CustomDir")
- CreateIniKeyValue ini$, "Config", "CustomDir", szString$, cmoOverWrite
- szString$ = GetIniKeyString(Oldini$, "Config", "DrawDir")
- CreateIniKeyValue ini$, "Config", "DrawDir", szString$, cmoOverWrite
- szString$ = GetIniKeyString(Oldini$, "Config", "ChartDir")
- CreateIniKeyValue ini$, "Config", "ChartDir", szString$, cmoOverWrite
- szString$ = GetIniKeyString(Oldini$, "Config", "ShowDir")
- CreateIniKeyValue ini$, "Config", "ShowDir", szString$, cmoOverWrite
- szString$ = GetIniKeyString(Oldini$, "Config", "PhotoPaintDir")
- CreateIniKeyValue ini$, "Config", "PhotoPaintDir", szString$, cmoOverWrite
- szString$ = GetIniKeyString(Oldini$, "Config", "MoveDir")
- CreateIniKeyValue ini$, "Config", "MoveDir", szString$, cmoOverWrite
- szString$ = GetIniKeyString(Oldini$, "Config", "TraceDir")
- CreateIniKeyValue ini$, "Config", "TraceDir", szString$, cmoOverWrite
- szString$ = GetIniKeyString(Oldini$, "Config", "MosaicDir")
- CreateIniKeyValue ini$, "Config", "MosaicDir", szString$, cmoOverWrite
- szString$ = GetIniKeyString(Oldini$, "Config", "FontsDir")
- CreateIniKeyValue ini$, "Config", "FontsDir", szString$, cmoOverWrite
- szString$ = GetIniKeyString(Oldini$, "Config", "FiltersDir")
- CreateIniKeyValue ini$, "Config", "FiltersDir", szString$, cmoOverWrite
- szString$ = GetIniKeyString(Oldini$, "Registration", "UserName")
- CreateIniKeyValue ini$, "Registration", "UserName", szString$, cmoOverWrite
- szString$ = GetIniKeyString(Oldini$, "Registration", "SerialNumber")
- CreateIniKeyValue ini$, "Registration", "SerialNumber", szString$, cmoOverWrite
- Oldini$ = MakePath( ConfigDir$, "corelprn.bak")
- ini$ = MakePath( ConfigDir$, TR_CORELPRN_INI)
- szString$ = GetIniKeyString(Oldini$, "ColorPath", "CircuitPath")
- CreateIniKeyValue ini$, "ColorPath", "CircuitPath", szString$, cmoOverwrite
- Oldini$ = MakePath( ConfigDir$, "corelflt.bak")
- ini$ = MakePath( ConfigDir$, TR_CORELFLT_INI)
- szString$ = GetIniKeyString(Oldini$, "ColorPath", "CircuitPath")
- CreateIniKeyValue ini$, "ColorPath", "CircuitPath", szString$, cmoOverWrite
- szString$ = GetIniKeyString(Oldini$, "ColorPath", "CurvePath")
- CreateIniKeyValue ini$, "ColorPath", "CurvePath", szString$, cmoOverWrite
- WrapCommentIniSection ini$, MakePath(Dir(MAIN),"___temp_"), "ImportFilters", FiltersDir$+"\"
- WrapCommentIniSection ini$, MakePath(Dir(MAIN),"___temp_"), "ExportFilters", FiltersDir$+"\"
- WrapCommentIniSection ini$, MakePath(Dir(MAIN),"___temp_"), "CorelAIExport", DataDir$+"\"
- WrapCommentIniSection ini$, MakePath(Dir(MAIN),"___temp_"), "CorelDXFExport", DataDir$+"\"
- Oldini$ = MakePath( ConfigDir$, "corelapp.bak")
- '' ini$ = MakePath( ConfigDir$, TR_CORELFNT_INI)
- '' szString$ = GetIniKeyString(Oldini$, "Config", "FontsDir")
- '' WrapCommentIniSection ini$, MakePath(Dir(MAIN),"___temp_"), "Fonts", szString$
- '' WrapCommentIniSection ini$, MakePath(Dir(MAIN),"___temp_"), "Symbols", szString$
- ENDIF
-
- IF bUpdate(DRAW) THEN
- '' setup coreldrw.reg
- WrapFileChangeString MakePath(ConfigDir$, TR_CORELDRW_REG), MakePath(DIR(MAIN),"___temp_"), TR_CORELDRW_EXE, MakePath(ProgramsDir$,TR_CORELDRW_EXE)
- WrapFileChangeString MakePath(ConfigDir$, TR_CORELDRW_REG), MakePath(DIR(MAIN),"___temp_"), TR_CDROL140_DLL, MakePath(ProgramsDir$,TR_CDROL140_DLL)
- RUN( TR_REGLOAD_S + " " + MakePath(ConfigDir$, TR_CORELDRW_REG) )
- '' Oldini$ = MakePath(ConfigDir$, "coreldrw.bak")
- '' ini$ = MakePath(ConfigDir$, TR_CORELDRW_INI)
- '' szString$ = GetIniKeyString(Oldini$, "Config", "AutoBackupDir")
- '' CreateIniKeyValue ini$, "Config", "AutoBackupDir", szString$, cmoOverwrite
- '' szString$ = GetIniKeyString(Oldini$, "Config", "TemplateDir")
- '' CreateIniKeyValue ini$, "Config", "TemplateDir", szString$, cmoOverwrite
- ENDIF
-
- IF bUpdate(CHART) THEN
- '' setup corelcht.reg
- '' WrapFileChangeString MakePath(ConfigDir$, TR_CORELCHT_REG), MakePath(DIR(MAIN),"___temp_"), TR_CORELCHT_EXE, MakePath(ProgramsDir$, TR_CORELCHT_EXE)
- '' RUN( TR_REGLOAD_S + " " + MakePath(ConfigDir$, TR_CORELCHT_REG) )
- '' Oldini$ = MakePath(ConfigDir$, "corelcht.bak")
- '' ini$ = MakePath(ConfigDir$, "CORELCHT.INI")
- '' szString$ = GetIniKeyString(Oldini$, "Config", "Vector_path")
- '' CreateIniKeyValue ini$, "Config", "Vector_path", szString$, cmoOverwrite
- '' szString$ = GetIniKeyString(Oldini$, "Templates", "1")
- '' CreateIniKeyValue ini$, "Templates", "1", szString$, cmoOverwrite
- '' szString$ = GetIniKeyString(Oldini$, "Templates", "2")
- '' CreateIniKeyValue ini$, "Templates", "2", szString$, cmoOverwrite
- '' szString$ = GetIniKeyString(Oldini$, "Templates", "3")
- '' CreateIniKeyValue ini$, "Templates", "3", szString$, cmoOverwrite
- '' szString$ = GetIniKeyString(Oldini$, "Templates", "4")
- '' CreateIniKeyValue ini$, "Templates", "4", szString$, cmoOverwrite
- '' szString$ = GetIniKeyString(Oldini$, "Templates", "5")
- '' CreateIniKeyValue ini$, "Templates", "5", szString$, cmoOverwrite
- '' szString$ = GetIniKeyString(Oldini$, "Templates", "6")
- '' CreateIniKeyValue ini$, "Templates", "6", szString$, cmoOverwrite
- '' szString$ = GetIniKeyString(Oldini$, "Templates", "7")
- '' CreateIniKeyValue ini$, "Templates", "7", szString$, cmoOverwrite
- '' szString$ = GetIniKeyString(Oldini$, "Templates", "8")
- '' CreateIniKeyValue ini$, "Templates", "8", szString$, cmoOverwrite
- '' szString$ = GetIniKeyString(Oldini$, "Templates", "9")
- '' CreateIniKeyValue ini$, "Templates", "9", szString$, cmoOverwrite
- '' szString$ = GetIniKeyString(Oldini$, "Templates", "10")
- '' CreateIniKeyValue ini$, "Templates", "10",szString$, cmoOverwrite
- '' szString$ = GetIniKeyString(Oldini$, "Templates", "11")
- '' CreateIniKeyValue ini$, "Templates", "11",szString$, cmoOverwrite
- '' szString$ = GetIniKeyString(Oldini$, "Templates", "12")
- '' CreateIniKeyValue ini$, "Templates", "12",szString$, cmoOverwrite
- '' szString$ = GetIniKeyString(Oldini$, "Templates", "13")
- '' CreateIniKeyValue ini$, "Templates", "13",szString$, cmoOverwrite
- ENDIF
-
- IF bUpdate(SHOW) THEN
- '' setup corelshw.reg
- WrapFileChangeString MakePath(ConfigDir$, TR_CORELSHW_REG), MakePath(DIR(MAIN),"___temp_"),TR_CORELSHW_EXE, MakePath(ProgramsDir$,TR_CORELSHW_EXE)
- RUN( TR_REGLOAD_S + " " + MakePath(ConfigDir$, TR_CORELSHW_REG) )
- Oldini$ = MakePath(ConfigDir$, "corelshw.bak")
- ini$ = MakePath(ConfigDir$, TR_CORELSHW_INI)
- szString$ = GetIniKeyString(Oldini$, "HomeDirectories", "Presentations")
- CreateIniKeyValue ini$, "HomeDirectories", "Presentations", szString$, cmoOverwrite
- szString$ = GetIniKeyString(Oldini$, "HomeDirectories", "Animations")
- CreateIniKeyValue ini$, "HomeDirectories", "Animations", szString$, cmoOverwrite
- ENDIF
-
-
- IF bUpdate(PHOTO) THEN
- '' Register photo with OLE
- WrapFileChangeString MakePath(ConfigDir$, TR_CORELPNT_REG), MakePath(DIR(MAIN),"___temp_"),TR_CORELPNT_EXE, MakePath(ProgramsDir$, TR_CORELPNT_EXE)
- WrapFileChangeString MakePath(ConfigDir$, TR_CORELPNT_REG), MakePath(DIR(MAIN),"___temp_"),TR_PNTHNDLR_DLL, MakePath(ProgramsDir$, TR_PNTHNDLR_DLL)
- RUN( TR_REGLOAD_S + " " + MakePath(ConfigDir$, TR_CORELPNT_REG) )
- Oldini$ = MakePath(ConfigDir$, "corelpnt.bak")
- ini$ = MakePath(ConfigDir$, TR_CORELPNT_INI)
- szString$ = GetIniKeyString(Oldini$, "CorelPaintDll", "PCX 16 Color/Gray")
- CreateIniKeyValue ini$, "CorelPaintDll", "PCX 16 Color/Gray", szString$, cmoOverWrite
- szString$ = GetIniKeyString(Oldini$, "ARTIST", "Path")
- CreateIniKeyValue ini$, "ARTIST", "Path", szString$, cmoOverWrite
- szString$ = GetIniKeyString(Oldini$, "COLORSELECT", "Brush")
- CreateIniKeyValue ini$, "COLORSELECT", "Brush", szString$, cmoOverWrite
- szString$ = GetIniKeyString(Oldini$, "COLORSELECT", "Area")
- CreateIniKeyValue ini$, "COLORSELECT", "Area", szString$, cmoOverWrite
- '' Make the following as variable in setupvar.raw ......
- szString$ = GetIniKeyString(Oldini$, "CANVAS", "Canvas")
- CreateIniKeyValue ini$, "CANVAS", "Canvas", szString$, cmoOverWrite
- szString$ = GetIniKeyString(Oldini$, "ColorPath", "CircuitPath")
- CreateIniKeyValue ini$, "ColorPath", "CircuitPath", szString$, cmoOverWrite
- szString$ = GetIniKeyString(Oldini$, "ColorPath", "CurvePath")
- CreateIniKeyValue ini$, "ColorPath", "CurvePath", szString$, cmoOverWrite
- szString$ = GetIniKeyString(Oldini$, "ColorPath", "TargetPath")
- CreateIniKeyValue ini$, "ColorPath", "TargetPath", szString$, cmoOverWrite
- szString$ = GetIniKeyString(Oldini$, "FILL", "Fill")
- CreateIniKeyValue ini$, "FILL", "Fill", szString$, cmoOverWrite
- ENDIF
-
- IF bUpdate(MOVE) THEN
- '' Register move with OLE
- WrapFileChangeString MakePath(ConfigDir$, "corelmov.reg"), MakePath(DIR(MAIN),"___temp_"),TR_CORELMOV_EXE, MakePath(ProgramsDir$, TR_CORELMOV_EXE)
- RUN( TR_REGLOAD_S + " " + MakePath(ConfigDir$, "corelmov.reg") )
- Oldini$ = MakePath(ConfigDir$, "corelmov.bak")
- ini$ = MakePath(ConfigDir$, TR_CORELMOV_INI)
- szString$ = GetIniKeyString(Oldini$, "Config", "FilterDir")
- CreateIniKeyValue ini$, "Config", "FilterDir", szString$, cmoOverWrite
- '' Make the changes for media player installation
- ini$ = MakePath(WINDIR$, "system.ini")
- CopyFile MakePath(WINDIR$, "system.ini"), MakePath(WINDIR$, "system.cor"), cmoOverwrite, 0
- CreateIniKeyValue ini$, "mci", "CorelMOVE", MakePath(ProgramsDir$, "mcicmv40.drv"), cmoOverWrite
- CreateIniKeyValue ini$, "drivers", "VIDC.MSVC", "msvidc.drv", cmoOverWrite
- '' CreateIniKeyValue TR_WIN_INI, "mci extensions", "cmv", "CorelMOVE", cmoOverWrite
- '' CreateIniKeyValue TR_WIN_INI, "mci extensions", "mwf", "CorelMOVE", cmoOverWrite
- '' ini$ = MakePath(WINDIR$, "MPLAYER.INI")
- '' CopyFile MakePath(WINDIR$, "mplayer.ini"), MakePath(WINDIR$, "mplayer.cor"), cmoOverwrite, 0
- '' CreateIniKeyValue ini$, "Devices", "CorelMOVE", "350, CorelMove Player", cmoOverWrite
- ENDIF
-
- IF bUpdate(TRACE) THEN
- ini$ = MakePath(ConfigDir$, "coreltrc.ini")
- CreateIniKeyValue ini$, "Config", "1", MakePath(DIR(TRACE),"NORMAL.CTR"), cmoOverWrite
- CreateIniKeyValue ini$, "Config", "2", MakePath(DIR(TRACE),"DITHERED.CTR"), cmoOverWrite
- CreateIniKeyValue ini$, "Config", "3", MakePath(DIR(TRACE),"BIGFORMS.CTR"), cmoOverWrite
- ENDIF
-
- '' IF bUpdate(MOSAIC) THEN
- '' ENDIF
-
- UIPop 1 ''WAITCONFIGER Dialog
- ENDIF '' bUpdateNet%
-
- '' User has completed run of setup or has unconditionally decided to quit
- QUIT:
- WaitOff
- '' On MSTest errors report "setup file corrupted" and abort
- ON ERROR GOTO ERRQUIT
-
- IF ERR = 0 THEN
- IF bUpdateNet% THEN
- dlg% = UPGRDNETEXITSUCCESS
- ELSE
- dlg% = UPGRDEXITSUCCESS
- ENDIF
- szDlgProc$ = "FInfo0DlgProc"
- WriteToLogfile TR_SETUPSUCCEEDED
- ELSEIF ERR = STFQUIT THEN
- dlg% = UPGRDEXITQUIT
- szDlgProc$ = "FInfo0DlgProc"
- WriteToLogfile TR_SETUPQUIT
- ELSE
- dlg% = UPGRDERROREXITFAILURE
- szDlgProc$ = "FInfo0DlgProc"
- WriteToLogfile TR_SETUPFAILED
- ENDIF
- '' WriteToLogfile ""
-
-
- '' Put up one of the exit message dialog boxes
- QUITL1:
- sz$ = UIStartDlg("mscuistf.dll", dlg%, szDlgProc, 0, "")
- IF sz$ = "REACTIVATE" THEN
- GOTO QUITL1
- ENDIF
- GOTO FINISH
-
-
- '' An error has occurred in MSTest. Tell the user and abort.
- ERRQUIT:
- i% = DoMsgBox( "Update files were corrupted, contact Corel Product Support!", "Update Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
- WriteToLogfile "Update Failed - files corrupted"
- WriteToLogFile ""
- FINISH:
- UIPopAll
- ShutDownInstall
- CloseLogFile
- END
-
- ASKUPDATE:
- WaitOff
- sz$ = UIStartDlg( "mscuistf.dll", UPGRDASKUPDATE, "FInfoDlgProc", UPGRDASKUPDATEHELP, "FHelpDlgProc" )
- SELECT CASE sz$
- CASE "CONTINUE"
- ''Do nothing
- CASE "REACTIVATE"
- GOTO ASKUPDATE
- CASE ELSE
- GOSUB ASKQUIT
- GOTO ASKUPDATE
- END SELECT
- UIPop 1
- RETURN ''return if the user want to update
-
-
- '' Display an information dialog
- '' Uses the global Dialog% to identify which dialog to display
- INFO:
- WaitOff
- sz$ = UIStartDlg( "mscuistf.dll", Dialog%, "FInfo0DlgProc", 0, "" )
- SELECT CASE sz$
- CASE "CONTINUE"
- ''Do nothing
- CASE "REACTIVATE"
- GOTO INFO
- CASE "EXIT"
- GOSUB ASKQUIT
- GOTO INFO
- END SELECT
- UIPop 1
- RETURN
-
- '' The user has asked to quit - confirm his decision
- ASKQUIT:
- WaitOff
- sz$ = UIStartDlg("mscuistf.dll", UPGRDASKQUIT, "FQuitDlgProc", 0, "")
- SELECT CASE sz$
- CASE "EXIT"
- GOTO FINISH '' OK. I know I shouldn't do that, but it's OK, It's the end of the script.
- CASE "REACTIVATE"
- GOTO ASKQUIT
- CASE ELSE
- ''Do nothing
- END SELECT
- UIPop 1
- RETURN
-
- '***********************************************************************
- '***********************************************************************
- '**** Get CorelDRAW! 4 main directory ********************
- '***********************************************************************
- GetAppsMainDir:
- bRet% = FIsDrawExist(TR_WIN_INI, szString$)
- IF bRet% THEN '' We have DRAW installed before (could be DRAW3 or DRAW4)
- DEST$ = szString$
- ConfigDir$ = GetIniKeyString(TR_WIN_INI, "CorelGraphics4", "Dir")
- DIR(MAIN) = DEST$
- SetDirectories
- ENDIF
- Dialog% = UPGRDDRAWPATH
- SetSymbolValue "EditTextIn", DEST$
- SetSymbolValue "EditFocus", "END"
- GETPATHL1:
- WaitOff
- sz$ = UIStartDlg("mscuistf.dll", Dialog%, "FEditDlgProc", UPGRDDRAWPATHHELP, "FHelpDlgProc")
- SELECT CASE sz$
- CASE "CONTINUE"
- WaitOn
- olddest$ = DEST$
- DEST$ = RTRIM$(LTRIM$(GetSymbolValue("EditTextOut")))
- ''Validate new path.
- IF DEST$ = "" OR IsDirWritable(DEST$) = 0 THEN
- OldDialog% = Dialog%
- Dialog% = UPGRDERRORBADPATH
- GOSUB INFO
- Dialog% = OldDialog%
- GOTO GETPATHL1
- ENDIF
-
- ''change subdirectories if DEST$ changed
- IF (olddest$ <> DEST$) AND (olddest$ <> DEST$+"\") AND (olddest$+"\" <> DEST$) THEN
- DIR(MAIN) = DEST$
- ConfigDir$ = MakePath(DIR(MAIN), "CONFIG")
- SetDirectories
- ENDIF
-
- CASE "REACTIVATE"
- GOTO GETPATHL1
- CASE "CANCEL", "BACK"
- UIPop 1
- bBack% = TRUE
- RETURN
- CASE ELSE
- GOSUB ASKQUIT
- GOTO GETPATHL1
- END SELECT
- WriteToLogFile TR_BASEDIR + DEST$
- WriteToLogFile ""
- UIPop 1
- RETURN
-
- '***********************************************************************
- '***********************************************************************
- '**** Get Network CorelDRAW! 4 Setup Dir directory ********************
- '***********************************************************************
- GetNetSetupDir:
- Dialog% = UPGRDNETSETUPPATH
- SetSymbolValue "EditTextIn", NetSetupDir$
- SetSymbolValue "EditFocus", "END"
- GETNETPATHL1:
- WaitOff
- sz$ = UIStartDlg("mscuistf.dll", Dialog%, "FEditDlgProc", UPGRDDRAWPATHHELP, "FHelpDlgProc")
- SELECT CASE sz$
- CASE "CONTINUE"
- WaitOn
- NetSetupDir$ = RTRIM$(LTRIM$(GetSymbolValue("EditTextOut")))
- ''Validate new path.
- IF NetSetupDir$ = "" OR IsDirWritable(NetSetupDir$) = 0 THEN
- OldDialog% = Dialog%
- Dialog% = UPGRDERRORBADPATH
- GOSUB INFO
- Dialog% = OldDialog%
- GOTO GETNETPATHL1
- ENDIF
- SetNetDirectories
-
- CASE "REACTIVATE"
- GOTO GETNETPATHL1
- CASE ELSE
- GOSUB ASKQUIT
- GOTO GETNETPATHL1
- END SELECT
- UIPop 1
- RETURN
-
-
-
- '*************************************************************************
- '*************************************************************************
- '**** Add files to copy list according to the bUpdate flags **************
- '*************************************************************************
- '*************************************************************************
- SUB AddFilesToCopyList (ftype%) STATIC
-
- IF bUpdateNet% THEN
- RedistWinDir$ = MakePath(DIR(MAIN),TR_REDIST)
- ELSE
- RedistWinDir$ = WINDIR$
- ENDIF
-
- SELECT CASE ftype%
- CASE DRAW
- AddSectionFilesToCopyList "DrawMain", SrcDir$, ProgramsDir$
- AddSectionFilesToCopyList "DrawConfig", SrcDir$, ConfigDir$
- AddSectionFilesToCopyList "DrawTemplate", SrcDir$, MakePath(DIR(DRAW),TR_TEMPLATE)
- IF bUpdateHelp(DRAW) THEN
- AddSectionFilesToCopyList "DrawHelp", SrcDir$, ProgramsDir$
- ENDIF
- AddSectionFilesToCopyList "DrawFilters", SrcDir$, FiltersDir$
-
- CASE CHART
- AddSectionFilesToCopyList "ChartMain", SrcDir$, ProgramsDir$
- '' AddSectionFilesToCopyList "ChartConfig", SrcDir$, ConfigDir$
- IF bUpdateHelp(CHART) THEN
- AddSectionFilesToCopyList "ChartHelp", SrcDir$, ProgramsDir$
- ENDIF
-
- CASE SHOW
- AddSectionFilesToCopyList "ShowMain", SrcDir$, ProgramsDir$
- AddSectionFilesToCopyList "ShowConfig", SrcDir$, ConfigDir$
- '' AddRedistSection "ShowRedist"
- '' AddSectionFilesToCopyList "ShowRedistWin", SrcDir$, RedistWinDir$
-
- CASE PHOTO
- AddSectionFilesToCopyList "PhotoMain", SrcDir$, ProgramsDir$
- AddSectionFilesToCopyList "PhotoCanvas", SrcDir$, MakePath(DIR(PHOTO),TR_CANVAS)
- AddSectionFilesToCopyList "PhotoConfig", SrcDir$, ConfigDir$
- IF bUpdateHelp(PHOTO) THEN
- AddSectionFilesToCopyList "PhotoHelp", SrcDir$, ProgramsDir$
- ENDIF
- AddSectionFilesToCopyList "ExpFiltersPh", SrcDir$, FiltersDir$
-
- CASE MOVE
- AddSectionFilesToCopyList "MoveMain", SrcDir$, ProgramsDir$
- AddSectionFilesToCopyList "MoveConfig", SrcDir$, ConfigDir$
- AddRedistSection "MoveRedist"
- '' AddSectionFilesToCopyList "MoveRedistWin", SrcDir$, RedistWinDir$
- IF bUpdateHelp(MOVE) THEN
- AddSectionFilesToCopyList "MoveHelp", SrcDir$, ProgramsDir$
- ENDIF
- AddSectionFilesToCopyList "MoveFilters", SrcDir$, FiltersDir$
-
- CASE TRACE
- AddSectionFilesToCopyList "TraceMain", SrcDir$, ProgramsDir$
- AddSectionFilesToCopyList "TraceTrace", SrcDir$, DIR(TRACE)
- '' AddSectionFilesToCopyList "TraceData", SrcDir$, DataDir$
- AddSectionFilesToCopyList "TraceConfig", SrcDir$, ConfigDir$
-
- CASE MOSAIC
- AddSectionFilesToCopyList "MosaicMain", SrcDir$, ProgramsDir$
- AddRedistSection "MosaicRedist"
- AddSectionFilesToCopyList "ImpFiltersMo", SrcDir$, FiltersDir$
-
- CASE MAIN
-
- IF bUpdateNet% THEN
- '' Add net install files
- FOR i% = DRAW TO MOSAIC
- IF bUpdate(i%) THEN
- AddSectionFilesToCopyList "NetInf", SrcDir$, DIR(i%)
- ENDIF
- NEXT i%
- AddSectionFilesToCopyList "NetInst", SrcDir$, MakePath(DIR(MAIN),TR_SETUP)
- AddSectionFilesToCopyList "NetInf", SrcDir$, MakePath(DIR(MAIN),TR_SETUP)
- AddSectionFilesToCopyList "NetInf", SrcDir$, ConfigDir$
- AddSectionFilesToCopyList "NetInf", SrcDir$, MakePath(DIR(MAIN),TR_REDIST)
- AddSectionFilesToCopyList "NetInf", SrcDir$, MakePath(DIR(MAIN),TR_CUSTOM)
- AddSectionFilesToCopyList "NetInf", SrcDir$, szSymbolDir$
- AddSectionFilesToCopyList "NetInf", SrcDir$, MakePath(DIR(PHOTO),TR_COLORS)
- ENDIF
-
- AddSectionFilesToCopyList "Main", SrcDir$, DIR(MAIN)
- AddSectionFilesToCopyList "CommonDLL", SrcDir$, ProgramsDir$
- AddSectionFilesToCopyList "CommonConfig", SrcDir$, ConfigDir$
- AddSectionFilesToCopyList "Custom", SrcDir$, CustomDir$
- AddSectionFilesToCopyList "ProgramData", SrcDir$, DataDir$
- AddRedistSection "CommonRedist"
-
- ''gee let's add the filters here..........
- CheckInstalledFilters "ImpFilters"
- CheckInstalledFilters "ExpFilters"
- CheckInstalledFilters "ExpFiltersDrPh"
- CheckInstalledFilters "ImpFiltersChMo"
- CheckInstalledFilters "ImpFiltersMoPhTr"
- CheckInstalledFilters "ImpFiltersDrMoPhTr"
- CheckInstalledFilters "ImpFiltersDrMoTr"
- CheckInstalledFilters "ImpJPEG Bitmap"
- CheckInstalledFilters "ImpAutodesk Flic Thumbnail"
- szPCDFilterName$ = GetSectionKeyFilename("ImpKodak Photo-CD" , "Kodak Photo-CD")
- index% = GetFilenameFromPath( szPCDFilterName$ )
- szPCDFilterName2$ = MID$( szPCDFilterName$, index%, LEN(szPCDFilterName$) - index% + 1 )
- IF bUpdateNet% AND DoesFileExist( MakePath(DIR(MAIN), TR_REDIST+"\"+szPCDFilterName2$), femExists) THEN
- AddSectionFilesToCopyList "ImpKodak Photo-CD", SrcDir$, MakePath(DIR(MAIN),TR_REDIST)
- ENDIF
- IF bWindowsIsNetworked% OR bUpdateNet% = FALSE THEN
- AddSectionFilesToCopyList "ImpKodak Photo-CD", SrcDir$, szWWinDir$
- ENDIF
-
- END SELECT
-
- END SUB
-
- '**
- '** Purpose:
- '** Removes the optional trailing "\"
- '** Arguments:
- '** szDir$ - full directory path (with optional ending "\")
- '** Returns:
- '** szDir$ without a trailing "\"
- '*************************************************************************
- FUNCTION MakeDir (szDir$) STATIC AS STRING
- IF szDir$ <> "" THEN
- IF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
- MakeDir = MID$( szDir$, 1, LEN(szDir$) - 1 )
- ELSE
- MakeDir = szDir$
- ENDIF
- ELSE
- MakeDir = szDir$
- ENDIF
- END FUNCTION
-
- '** Add Redistributable files to the correct directory(s) in the copy list
- '*************************************************************************
- SUB AddRedistSection( szSection$) STATIC
- WriteToLogFile "SUB AddRedistSection"
- IF bWindowsIsNetworked% OR bUpdateNet% = FALSE THEN
- '' Copy the redistributable files and dlls to windir or winsysdir
- AddSectionFilesToCopyList szSection$, SrcDir$, szWWinDir$
- ENDIF
- IF bUpdateNet% THEN
- '' Store the redistributable files in REDIST until user installs
- AddSectionFilesToCopyList szSection$, SrcDir$, MakePath(DIR(MAIN),TR_REDIST)
- ENDIF
- WriteToLogFile "---> SUB AddRedistSection"
- 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
- MakePath = MakeDir(szDir$) + "\" + szFile$
- END FUNCTION
-
-
- '*************************************************************************
- '*************************************************************************
- '** This sub Checks the system to see which Apps has been installed before
- '** It set some flags for future use.
- '*************************************************************************
- SUB CheckInstalledApps STATIC
-
- bUpdate(DRAW) = CheckFileInPrograms (TR_CORELDRW_EXE)
- bUpdateHelp(DRAW) = CheckFileInPrograms ("coreldrw.hlp")
-
- bUpdate(CHART) = CheckFileInPrograms (TR_CORELCHT_EXE)
- bUpdateHelp(CHART) = CheckFileInPrograms ("corelcht.hlp")
-
- bUpdate(SHOW) = CheckFileInPrograms (TR_CORELSHW_EXE)
- bUpdateHelp(SHOW) = CheckFileInPrograms ("corelshw.hlp")
-
- bUpdate(PHOTO) = CheckFileInPrograms (TR_CORELPNT_EXE)
- bUpdateHelp(PHOTO) = CheckFileInPrograms ("corelpnt.hlp")
-
- bUpdate(MOVE) = CheckFileInPrograms (TR_CORELMOV_EXE)
- bUpdateHelp(MOVE) = CheckFileInPrograms ("corelmov.hlp")
-
- bUpdate(TRACE) = CheckFileInPrograms (TR_CORELTRC_EXE)
- bUpdateHelp(TRACE) = CheckFileInPrograms ("coreltrc.hlp")
-
- bUpdate(MOSAIC) = CheckFileInPrograms (TR_CORELMOS_EXE)
- bUpdateHelp(MOSAIC) = CheckFileInPrograms ("corelmos.hlp")
-
- FOR i = DRAW TO MOSAIC
- IF bUpdate(i) THEN
- bUpdate(MAIN) = TRUE
- EXIT FOR
- ENDIF
- NEXT i
-
- END SUB
-
- '*************************************************************************
- '*************************************************************************
- '**** Check a File in Programs Directory, and returns True or False ******
- '**** It's very specific to check MAIN\Programs Directory only ******
- '*************************************************************************
- FUNCTION CheckFileInPrograms (FileName$) STATIC AS INTEGER
-
- IF DoesFileExist( MakePath(ProgramsDir$, FileName$), femExists ) THEN
- bRetVal% = TRUE
- ELSE
- bRetVal% = FALSE
- ENDIF
- CheckFileInPrograms = bRetVal%
-
- END FUNCTION
-
- '** Set the subdirectories to their default values.
- '*************************************************************************
- SUB SetDirectories STATIC
- bBack% = FALSE
-
- IF ConfigDir$ = "" THEN
- ConfigDir$ = MakePath( DIR(MAIN), "CONFIG")
- WriteToLogFile "ConfigDir: "+ConfigDir$
- ENDIF
-
- IF DoesFileExist( MakePath(ConfigDir$, TR_CORELAPP_INI), femExists ) THEN
- ini$ = MakePath( ConfigDir$, TR_CORELAPP_INI )
- ProgramsDir$ = GetIniKeyString( ini$, "Config", "ProgramsDir")
- WriteToLogFile "ProgramsDir: "+ProgramsDir$
- DataDir$ = GetIniKeyString( ini$, "Config", "DataDir")
- WriteToLogFile "DataDir: "+DataDir$
- CustomDir$ = GetIniKeyString( ini$, "Config", "CustomDir")
- WriteToLogFile "CustomDir: "+CustomDir$
- DIR(DRAW) = GetIniKeyString( ini$, "Config", "DrawDir")
- DIR(CHART) = GetIniKeyString( ini$, "Config", "ChartDir")
- DIR(SHOW) = GetIniKeyString( ini$, "Config", "ShowDir")
- DIR(PHOTO) = GetIniKeyString( ini$, "Config", "PhotoPaintDir")
- DIR(MOVE) = GetIniKeyString( ini$, "Config", "MoveDir")
- DIR(TRACE) = GetIniKeyString( ini$, "Config", "TraceDir")
- DIR(MOSAIC) = GetIniKeyString( ini$, "Config", "MosaicDir")
- FiltersDir$ = GetIniKeyString( ini$, "Config", "FiltersDir")
- ELSE
- bBack% = TRUE
- ENDIF
-
- END SUB
-
- '** Set the Network subdirectories to their values.
- '*************************************************************************
- SUB SetNetDirectories STATIC
- WriteToLogFile "SUB SetNetDirectories"
- WriteToLogFile " NetSetup Directory is: "+NetSetupDir$
-
- bBack% = FALSE
- IF DoesFileExist( MakePath(NetSetupDir$, TR_SETUP_INI), femExists ) THEN
-
- ini$ = MakePath( NetSetupDir$, TR_SETUP_INI )
- DIR(MAIN) = GetIniKeyString( ini$, "Directories", TR_MAIN )
- DIR(DRAW) = GetIniKeyString( ini$, "Directories", TR_DRAW )
- DIR(CHART) = GetIniKeyString( ini$, "Directories", TR_CHART )
- DIR(SHOW) = GetIniKeyString( ini$, "Directories", TR_SHOW )
- DIR(PHOTO) = GetIniKeyString( ini$, "Directories", TR_PHOTOPNT )
- DIR(MOVE) = GetIniKeyString( ini$, "Directories", TR_MOVE )
- DIR(TRACE) = GetIniKeyString( ini$, "Directories", TR_TRACE )
- DIR(MOSAIC) = GetIniKeyString( ini$, "Directories", TR_MOSAIC )
- szSymbolDir$ = GetIniKeyString( ini$, "Directories", TR_WFN )
- '' DIR(SCANNERS) = GetIniKeyString( ini$, "Directories", TR_SCANNERS )
- '' szDestScannersDir$ = MakePath(WINDIR$,TR_TWAIN+"\"+TR_COREL)
- '' DIR(FILTERS) = MakePath( DIR(MAIN), TR_PROGRAMS )
- '' DIR(FONTTT) = GetIniKeyString( ini$, "Directories", TR_TTF )
-
- KeyVal$ = GetIniKeyString( ini$, "Directories", TR_FIXEDDRIVE )
- IF KeyVal$ = "FALSE" THEN
- FOR i% = DRAW TO MAIN
- DIR(i%) = MID$( ini$, 1, 1) + MID$( DIR(i%), 2, LEN(DIR(i%))-1 )
- WriteToLogFile "Dir of " + STR$(i%) + " " + DIR(i%)
- NEXT i%
- '' szSymbolDir$ = MID$( ini$, 1, 1) + MID$( szSymbolDir$, 2, LEN(szSymbolDir$)-1 )
- ENDIF
- ProgramsDir$ = MakePath( DIR(MAIN), "PROGRAMS")
- WriteToLogFile "ProgramsDir: "+ProgramsDir$
- DataDir$ = MakePath( DIR(MAIN), "PROGRAMS\DATA")
- WriteToLogFile "DataDir: "+DataDir$
- CustomDir$ = MakePath( DIR(MAIN), "CUSTOM" )
- WriteToLogFile "CustomDir: "+CustomDir$
- FiltersDir$ = MakePath( DIR(MAIN), "PROGRAMS")
- WriteToLogFile "FiltersDir: "+FiltersDir$
- ConfigDir$ = MakePath( DIR(MAIN), "CONFIG")
- WriteToLogFile "ConfigDir: "+ConfigDir$
- ELSE
- bBack% = TRUE
- ENDIF
- END SUB
-
- '** Make sure that the long wait dialog is displayed and the hourglass cursor
- '** are being used
- '*************************************************************************
- SUB WaitOnBig STATIC
- IF nWaiting% = 0 THEN
- CursorSave% = ShowWaitCursor()
- ENDIF
- IF nWaiting% <> 2 THEN
- sz$ = UIStartDlg("mscuistf.dll", UPGRDWAIT, "FModelessDlgProc", 0, "")
- ENDIF
- nWaiting% = 2
- END SUB
-
-
- '** Make sure that the hourglass cursor is being used
- '*************************************************************************
- SUB WaitOn STATIC
- IF nWaiting% = 0 THEN
- CursorSave% = ShowWaitCursor()
- nWaiting% = 1
- ENDIF
- END SUB
-
-
- '** Remove the long wait dialog if it is being displayed and reset the cursor
- '** back to normal if it was set to the hourglass icon
- '*************************************************************************
- SUB WaitOff STATIC
- IF nWaiting% = 2 THEN
- UIPop 1
- ENDIF
- IF nWaiting% <> 0 THEN
- RestoreCursor CursorSave%
- ENDIF
- nWaiting% = 0
- END SUB
-
-
-
- '** Wrapper function - should reduce size of code segment.
- '**
- '** FileChangeString replaces szString1$ in szFile1$ with szString2$.
- '** szFile2$ is a temporary file name.
- '*************************************************************************
- SUB WrapFileChangeString( szFile1$, szFile2$, szString1$, szString2$ ) STATIC
- FileChangeString szFile1$, szFile2$, szString1$, szString2$
- END SUB
-
-
- '** Wrapper function - should reduce size of code segment.
- '**
- '** CommentIniSection checks to see whether or not the files mentioned in
- '** szSection$ can be found in directory szPath$. If not, it sticks a ';'
- '** in front of that line of the ini file. Otherwise it makes sure there
- '** is not semi-colon commenting out that line.
- '** Note: this function is heavily dependent on the format of coreldrw.ini
- '*************************************************************************
- SUB WrapCommentIniSection( szFileName$, szTempFile$, szSection$, szPath$ ) STATIC
- CommentIniSection szFileName$, szTempFile$, szSection$, szPath$
- END SUB
-
-
- '** If the second file does not exist, backup szFile1$ as szFile2$
- '*************************************************************************
- SUB CheckBackupFile( szFile1$, szFile2$ ) STATIC
- IF DoesFileExist(szFile2$,femExists) = 0 AND DoesFileExist(szFile1$,femExists) THEN
- CopyFile szFile1$, szFile2$, cmoNone, 0
- ENDIF
- END SUB
-
-
-
- '***********************************************************************
- '***********************************************************************
- '**** CalculateRequiredSpace on the destination disk ******************
- '***********************************************************************
- SUB CalculateRequiredSpace STATIC
-
- WriteToLogFile "SUB CalculateRequiredSpace"
- bTooBig% = FALSE
- StillNeed& = GetCopyListCost(EXTRACOSTS$, aszNEEDS$, "")
- IF StillNeed& THEN
- bTooBig% = TRUE
- ENDIF
- WriteToLogFile "ENDSUB CalculateRequiredSpace"
-
- END SUB
-
- '***********************************************************************
- '***********************************************************************
- '**** CheckInstalledFiletrs and Updated the installed ones ************
- '***********************************************************************
- SUB CheckInstalledFilters( szSection$ ) STATIC
-
- MakeListFromSectionKeys TempList$, szSection$
- FOR i% = 1 TO GetListLength(TempList$)
- szFilterName$ = GetSectionKeyFilename(szSection$ , GetListItem(TempList$, i%))
- index% = GetFilenameFromPath( szFilterName$ )
- szFilterName2$ = MID$( szFilterName$, index%, LEN(szFilterName$) - index% + 1 )
- IF DoesFileExist( MakePath(FiltersDir$, szFilterName2$), femExists ) THEN
- AddSectionKeyFileToCopyList szSection$, GetListItem(TempList$, i%), SrcDir$, FiltersDir$
- ENDIF
- NEXT i%
-
- END SUB
-