home *** CD-ROM | disk | FTP | other *** search
- rem rem $$Begin$$
-
- rem Copyright: (c) 1994 ICFX Corporation. All Rights Reserved.
- rem
- rem Project: Pet CD 1
- rem
- rem Component: Installer
- rem
- rem Description: Setup script
- rem
- rem ---------------------------------------------------------------------
- rem
- rem rem $Author: NSJ $
- rem
- rem rem $Date: 23 Aug 1994 10:40:58 $
- rem
- rem rem $Log: S:/minnie.vcs/image/setup.msv $
- rem
- rem Rev 1.5 23 Aug 1994 10:40:58 NSJ
- rem
- rem Rev 1.5 28 Jul 1994 17:39:40 NSJ
- rem No change.
- rem
- rem Rev 1.4 28 Jul 1994 17:30:26 NSJ
- rem Fixed small bug
- rem
- rem Rev 1.3 28 Jul 1994 16:50:48 NSJ
- rem Added new help and screen3\arrows dirs
- rem
- rem Rev 1.2 15 Jul 1994 21:02:32 NSJ
- rem No change.
- rem
- rem Rev 1.1 07 Jul 1994 18:12:46 NSJ
- rem No change.
- rem
- rem Rev 1.0 07 Jul 1994 17:21:20 NSJ
- rem Initial revision.
- rem
- rem Rev 1.4 01 Jul 1994 18:59:44 NSJ
- rem Initial revision
- rem
- rem rem $Logfile: S:/minnie.vcs/image/setup.msv $
- rem
- rem rem $Workfile: setup.mst $
- rem
- rem ---------------------------------------------------------------------
-
- rem rem $$End$$
-
- rem Required to interface with MSSETUP DLL's
- rem -------------------------------------------------
- '$INCLUDE 'setupapi.inc'
- '$INCLUDE 'msdetect.inc'
-
-
- rem Dialog box id's
- rem ---------------
- CONST DESTPATH = 300 ''Gets destination path
- CONST EXITQUIT = 600 ''Exits on user request
- CONST EXITSUCCESS = 700 ''Exits when install is done
- CONST EXITDEINSTOK = 6601 ''Exits when uninstall is done
- CONST ASKSETUPTYPE = 6603 ''Gets setup options
- CONST TOOBIG = 6300 ''Not enough space on target disk error
- CONST BADPATH = 6400 ''Bad destination path error
- CONST BADWINDOWS = 6500 ''Wrong Windows release
- CONST BADCOLORS = 6550 ''Not in 256 colors
- CONST EXITFAILURE = 6600 ''Exits on error
- CONST COPYINGFILES = 6602 ''Displays message "Copying Files..."
-
-
- rem String id's
- rem -----------
- CONST STR_UTILITY = 1024 ''Utility
- CONST STR_GROUP = 1025 ''Program Manager group
- CONST STR_TITLE = 1026 ''Installer Title
- CONST STR_MSG1 = 1027 ''Version error message part 1
- CONST STR_MSG2 = 1028 ''Version error message part 2
- CONST STR_WARNING = 1029 ''Warning
- CONST STR_README = 1030 ''Read Me
- CONST STR_PROGRAM = 1031 ''Program Manager program (for group)
-
-
- rem Miscellaneous Constants
- rem -----------------------
- CONST NOLOGO = 1 ''Dummy NULL bitmap (must be 1)
- CONST LOGO = 2 ''Background bitmap
- CONST NOSPACE = 1 ''No space to complete install
- CONST INSTALLOK = 2 ''Install completed OK
- CONST INSTALLFAILED = 3 ''Install failed for some reason
- CONST UNINSTALLOK = 4 ''Uninstall completed OK
-
-
- rem Global Variables
- rem ----------------
- GLOBAL SOURCE$ ''Source directory
- GLOBAL DEST$ ''Default destination directory
- GLOBAL SETUPTYPE$ ''Setup type (Local, Client, Server)
- GLOBAL LEANINST$ ''Setup type (Local, Client, Server)
- GLOBAL PREFINST$ ''Setup type (Local, Client, Server)
- GLOBAL FULLINST$ ''Setup type (Local, Client, Server)
- GLOBAL QTWDIR$ ''QTW directory
- GLOBAL CUIDLL$ ''User interface DLL
- GLOBAL SETUPPATH$ ''Setup destination path
- GLOBAL HELPPROC$ ''Help dialog procedure
- GLOBAL EXTRACOSTS$ ''List of extra costs to add per drive
- GLOBAL APPNEEDS$ ''Disk space costs per drive
- GLOBAL SECTIONKEY$ ''INF file section key
- GLOBAL SUCCESS% ''Installation completion code
-
-
- rem Initialize global vriables
- rem --------------------------
- LEANINST$ = "1"
- PREFINST$ = "2"
- FULLINST$ = "3"
- SETUPPATH$ = "C:\PETCD1"
- SOURCE$ = GetSymbolValue("STF_SRCDIR")
-
- REM FOR TESTING ONLY
- REM SOURCE$ = "D:\"
-
- DEST$ = SETUPPATH$
- SUCCESS% = INSTALLFAILED
- EXTRACOSTS$ = "ExtraCosts"
- APPNEEDS$ = "AppNeeds"
- SECTIONKEY$ = "SectionKey"
-
- FOR i% = 1 TO 26 STEP 1
- AddListItem EXTRACOSTS$, "16384"
- NEXT i%
-
-
- rem Get name of localized user interface dialogs
- rem --------------------------------------------
- CUIDLL$ = "setup.DLL"
-
-
- rem Subroutines and Functions
- rem -------------------------
- DECLARE FUNCTION Install AS INTEGER
- DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
- DECLARE FUNCTION GetDLLVersion LIB "setup.dll" (szDLL$) AS INTEGER
- DECLARE FUNCTION HideCriticalDirectory LIB "setup.dll" (szDir$) AS INTEGER
- DECLARE FUNCTION Has256Colors LIB "setup.dll" (hinst%) AS INTEGER
- DECLARE FUNCTION GetResourceString LIB "setup.dll" (szResource$, idString%) AS INTEGER
- DECLARE FUNCTION StartCustomSetup LIB "setup.dll" (hinst%, hwnd%) AS INTEGER
- DECLARE FUNCTION StopCustomSetup LIB "setup.dll" (hinst%, hwnd%) AS INTEGER
- DECLARE FUNCTION MyDeleteGroup LIB "setup.dll" (hwnd%) AS INTEGER
- DECLARE FUNCTION MyRemoveDir LIB "setup.dll" (szDir$) AS INTEGER
- DECLARE FUNCTION BlastFilesToTarget LIB "setup.dll" (szSource$, szDest$, sMode%) AS INTEGER
- DECLARE FUNCTION MyMessageBox LIB "setup.dll" (hinst%, hwnd%, sMode%, pszStatus as POINTER TO INTEGER) AS INTEGER
-
-
- rem Initialize custom setup logic
- rem -----------------------------
- i% = GetResourceString (CUIDLL$, STR_TITLE)
- SetTitle GetSymbolValue ("ResourceString")
- i% = StartCustomSetup (HinstFrame(), HwndFrame ())
- i% = SetBeepingMode(1)
-
-
- rem Make sure that we are running on Windows 3.1 or better
- rem ------------------------------------------------------
- IF GetWindowsMajorVersion() < 3 THEN
- sz$ = UIStartDlg(CUIDLL$, BADWINDOWS, "FInfo0DlgProc", 0, "")
- UIPop 1
- GOTO CLEANUP
- END IF
-
- IF (GetWindowsMajorVersion() = 3) AND (GetWindowsMinorVersion() < 10) THEN
- sz$ = UIStartDlg(CUIDLL$, BADWINDOWS, "FInfo0DlgProc", 0, "")
- UIPop 1
- GOTO CLEANUP
- END IF
-
-
- rem Make sure that we are running on a 386 or better
- rem ------------------------------------------------
- IF GetWinFlags() AND 2 THEN
- sz$ = UIStartDlg(CUIDLL$, BADWINDOWS, "FInfo0DlgProc", 0, "")
- UIPop 1
- GOTO CLEANUP
- END IF
-
-
- rem Find and read the .INF file
- rem ---------------------------
- szInf$ = GetSymbolValue("STF_SRCINFPATH")
-
- IF szInf$ = "" THEN
- szTemp$ = GetSymbolValue("STF_SRCDIR")
- szInf$ = szTemp$ + "PETCD1.INF"
- END IF
-
- ReadInfFile szInf$
-
-
- rem Estimate the cost of the install
- rem --------------------------------
- ListSym$ = APPNEEDS$
- drive$ = MID$("C:\", 1, 1)
- ndrive% = ASC(ucase$(drive$)) - ASC("A") + 1
-
- AddSectionFilesToCopyList "PetCD1", SOURCE$, "C:\"
-
- AddSectionFilesToCopyList "QTIM", SOURCE$, "C:\"
-
- AddSectionFilesToCopyList "FromCDLean", SOURCE$, "C:\"
- StillNeed& = GetCopyListCost(EXTRACOSTS$, ListSym$, "")
- LeanCost& = VAL(GetListItem(APPNEEDS$, ndrive%))
- SetSymbolValue "QuickCost", STR$(LeanCost& / 100000)
-
- AddSectionFilesToCopyList "FromCDPref", SOURCE$, "C:\"
- StillNeed& = GetCopyListCost(EXTRACOSTS$, ListSym$, "")
- PrefCost& = VAL(GetListItem(APPNEEDS$, ndrive%))
- SetSymbolValue "PartialCost", STR$(PrefCost& / 100000)
-
- AddSectionFilesToCopyList "FromCDFull", SOURCE$, "C:\"
- StillNeed& = GetCopyListCost(EXTRACOSTS$, ListSym$, "")
- FullCost& = VAL(GetListItem(APPNEEDS$, ndrive%))
- SetSymbolValue "FullCost", STR$(FullCost& / 100000)
-
- ClearCopyList
-
- rem Get the setup type: Install or uninstall
- rem ----------------------------------------
- ITYPE:
- SetSymbolValue "RadioDefault", SETUPTYPE$
-
- ITYPEL1:
- sz$ = UIStartDlg(CUIDLL$, ASKSETUPTYPE, "FRadioDlgProc", 0, "")
-
- SETUPTYPE$ = GetSymbolValue("ButtonChecked")
-
- IF sz$ = "CONTINUE" THEN
- UIPop 1
-
- rem Uninstall option selected
- rem -------------------------
- ELSEIF sz$ = "BACK" THEN
- UIPop 1
- GOSUB KILLFILES
- RemoveIniSection "WIN.INI", "PetCD1", cmoNone
- i% = MyDeleteGroup (HwndFrame ())
- SUCCESS% = UNINSTALLOK
- GOTO UNINSTALLED
-
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO ITYPEL1
-
- ELSE
- GOSUB ASKQUIT
- GOTO ITYPE
-
- END IF
-
-
- rem Get the destination path; if it's bad, display an error
- rem ----------------------------------------------------------------
- GETPATH:
- SetSymbolValue "EditTextIn", DEST$
- SetSymbolValue "EditFocus", "END"
-
- GETPATHL1:
- sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", 0, "")
-
- 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
-
- ELSE
- GOSUB ASKQUIT
- GOTO GETPATH
-
- END IF
-
- rem Perform actual installation
- rem ---------------------------
- INSTALL:
- SUCCESS% = Install
-
- IF SUCCESS% = NOSPACE THEN
- GOSUB TOOBIG
- GOTO GETPATH
- END IF
-
- rem De-installation completed
- rem -------------------------
- UNINSTALLED:
-
- rem When done, issue dialog
- rem -----------------------
- QUIT:
- IF SUCCESS% = INSTALLOK THEN
-
- rem Put pointers to key data in Private Profile file
- rem ------------------------------------------------
- RemoveIniKey MakePath(DEST$,"BIN\PetCD1.INI"), "DIRECTORIES", "HDRoot", cmoNone
- CreateIniKeyValue MakePath(DEST$,"BIN\PetCD1.INI"), "DIRECTORIES", "HDRoot", DEST$, cmoNone
- RemoveIniKey MakePath(DEST$,"BIN\PetCD1.INI"), "DIRECTORIES", "CDDrive", cmoNone
- CDDRIVE$ = MID$(SOURCE$, 1, 2)
- CreateIniKeyValue MakePath(DEST$,"BIN\PetCD1.INI"), "DIRECTORIES", "CDDrive", CDDRIVE$, cmoNone
-
- sz$ = UIStartDlg(CUIDLL$, EXITSUCCESS, "FInfo0DlgProc", 0, "")
- ELSEIF SUCCESS% = UNINSTALLOK THEN
- sz$ = UIStartDlg(CUIDLL$, EXITDEINSTOK, "FInfo0DlgProc", 0, "")
- ELSE
- sz$ = UIStartDlg(CUIDLL$, EXITFAILURE, "FInfo0DlgProc", 0, "")
- END IF
- UIPop 1
-
- rem Clean up all processing
- rem -----------------------
- CLEANUP:
-
- i% = StopCustomSetup (HinstFrame(), HwndFrame ())
-
- END
-
-
- rem ASKQUIT: The user requested quit; does (s)he really want to?
- rem ------------------------------------------------------------
- ASKQUIT:
- sz$ = UIStartDlg(CUIDLL$, EXITQUIT, "FInfoDlgProc", 0, "")
- UIPop 1
- IF sz$ = "CONTINUE" THEN
- RETURN
- END IF
- GOTO CLEANUP
-
-
- rem BADPATH: The user entered an invalid destination directory
- rem ----------------------------------------------------------
- BADPATH:
- sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
- IF sz$ = "REACTIVATE" THEN
- GOTO BADPATH
- END IF
- UIPop 1
-
- RETURN
-
-
- rem TOOBIG: The source files won't fit on the requested destination disk
- rem --------------------------------------------------------------------
- TOOBIG:
- sz$ = UIStartDlg(CUIDLL$, TOOBIG, "FInfo0DlgProc", 0, "")
- IF sz$ = "REACTIVATE" THEN
- GOTO TOOBIG
- END IF
- UIPop 1
-
- RETURN
-
- rem KILLFILES: Remove PetCD files from the host system
- rem ------------------------------------------------------
- KILLFILES:
-
- LOCATION$ = GetIniKeyString("WIN.INI", "PetCD1", "PetCD1Dir")
-
- MOVDEST$ = LOCATION$ + "\" + "MOVIES"
- SNGDEST$ = LOCATION$ + "\" + "SONGS"
- BINDEST$ = LOCATION$ + "\" + "BIN"
-
- PICDEST$ = LOCATION$ + "\" + "PICTURES"
-
- PICDIR_COMMON$ = PICDEST$ + "\" + "COMMON"
- PICDIR_COMMON_BUTTONS$ = PICDEST$ + "\" + "COMMON" + "\" + "BUTTONS"
- PICDIR_HELPS$ = PICDEST$ + "\" + "HELPS"
- PICDIR_HELPS_ARROWS$ = PICDEST$ + "\" + "HELPS" + "\" + "ARROWS"
- PICDIR_QUERYSAV$ = PICDEST$ + "\" + "QUERYSAV"
- PICDIR_QUERYSAV_BUTTONS$ = PICDEST$ + "\" + "QUERYSAV" + "\" + "BUTTONS"
- PICDIR_SCNSAVER$ = PICDEST$ + "\" + "SCNSAVER"
-
- PICDIR_SCREEN0$ = PICDEST$ + "\" + "SCREEN0"
- PICDIR_SCREEN0_BUTTONS$ = PICDEST$ + "\" + "SCREEN0" + "\" + "BUTTONS"
-
- PICDIR_SCREEN1$ = PICDEST$ + "\" + "SCREEN1"
- PICDIR_SCREEN1_BUTTONS$ = PICDEST$ + "\" + "SCREEN1" + "\" + "BUTTONS"
- PICDIR_SCREEN1_LIPS$ = PICDEST$ + "\" + "SCREEN1" + "\" + "LIPS"
- PICDIR_SCREEN1_SLIDERS$ = PICDEST$ + "\" + "SCREEN1" + "\" + "SLIDERS"
-
- PICDIR_SCREEN2$ = PICDEST$ + "\" + "SCREEN2"
- PICDIR_SCREEN2_BUTTONS$ = PICDEST$ + "\" + "SCREEN2" + "\" + "BUTTONS"
- PICDIR_SCREEN2_ARROWS$ = PICDEST$ + "\" + "SCREEN2" + "\" + "ARROWS"
- PICDIR_SCREEN2_SLIDERS$ = PICDEST$ + "\" + "SCREEN2" + "\" + "SLIDERS"
-
- PICDIR_SCREEN3$ = PICDEST$ + "\" + "SCREEN3"
- PICDIR_SCREEN3_BUTTONS$ = PICDEST$ + "\" + "SCREEN3" + "\" + "BUTTONS"
- PICDIR_SCREEN3_ARROWS$ = PICDEST$ + "\" + "SCREEN3" + "\" + "ARROWS"
-
- rem Note: Calling BlastFilesToTarget with 2 kills files
- i% = BlastFilesToTarget (MOVDEST$, MOVDEST$, 2)
- i% = BlastFilesToTarget (SNGDEST$, SNGDEST$, 2)
- i% = BlastFilesToTarget (BINDEST$, BINDEST$, 2)
-
- i% = BlastFilesToTarget (PICDIR_COMMON_BUTTONS$, PICDIR_COMMON_BUTTONS$, 2)
- i% = BlastFilesToTarget (PICDIR_HELPS$, PICDIR_HELPS$, 2)
- i% = BlastFilesToTarget (PICDIR_HELPS_ARROWS$, PICDIR_HELPS_ARROWS$, 2)
- i% = BlastFilesToTarget (PICDIR_QUERYSAV$, PICDIR_QUERYSAV$, 2)
- i% = BlastFilesToTarget (PICDIR_QUERYSAV_BUTTONS$, PICDIR_QUERYSAV_BUTTONS$, 2)
- i% = BlastFilesToTarget (PICDIR_SCNSAVER$, PICDIR_SCNSAVER$, 2)
-
- i% = BlastFilesToTarget (PICDIR_SCREEN0$, PICDIR_SCREEN0$, 2)
- i% = BlastFilesToTarget (PICDIR_SCREEN0_BUTTONS$, PICDIR_SCREEN0_BUTTONS$, 2)
-
- i% = BlastFilesToTarget (PICDIR_SCREEN1$, PICDIR_SCREEN1$, 2)
- i% = BlastFilesToTarget (PICDIR_SCREEN1_BUTTONS$, PICDIR_SCREEN1_BUTTONS$, 2)
- i% = BlastFilesToTarget (PICDIR_SCREEN1_LIPS$, PICDIR_SCREEN1_LIPS$, 2)
- i% = BlastFilesToTarget (PICDIR_SCREEN1_SLIDERS$, PICDIR_SCREEN1_SLIDERS$, 2)
-
- i% = BlastFilesToTarget (PICDIR_SCREEN2$, PICDIR_SCREEN2$, 2)
- i% = BlastFilesToTarget (PICDIR_SCREEN2_BUTTONS$, PICDIR_SCREEN2_BUTTONS$, 2)
- i% = BlastFilesToTarget (PICDIR_SCREEN2_ARROWS$, PICDIR_SCREEN2_ARROWS$, 2)
- i% = BlastFilesToTarget (PICDIR_SCREEN2_SLIDERS$, PICDIR_SCREEN2_SLIDERS$, 2)
-
- i% = BlastFilesToTarget (PICDIR_SCREEN3$, PICDIR_SCREEN3$, 2)
- i% = BlastFilesToTarget (PICDIR_SCREEN3_BUTTONS$, PICDIR_SCREEN3_BUTTONS$, 2)
- i% = BlastFilesToTarget (PICDIR_SCREEN3_ARROWS$, PICDIR_SCREEN3_ARROWS$, 2)
-
- rem Note: RemoveDir doesn't seem to work, so we use our own function
- rem RemoveDir LOCATION$ + "\", cmoForce
- i% = MyRemoveDir (MOVDEST$)
- i% = MyRemoveDir (SNGDEST$)
- i% = MyRemoveDir (BINDEST$)
-
- i% = MyRemoveDir (PICDIR_COMMON_BUTTONS$)
- i% = MyRemoveDir (PICDIR_COMMON$)
- i% = MyRemoveDir (PICDIR_HELPS_ARROWS$)
- i% = MyRemoveDir (PICDIR_HELPS$)
- i% = MyRemoveDir (PICDIR_QUERYSAV_BUTTONS$)
- i% = MyRemoveDir (PICDIR_QUERYSAV$)
- i% = MyRemoveDir (PICDIR_SCNSAVER$)
-
- i% = MyRemoveDir (PICDIR_SCREEN0_BUTTONS$)
- i% = MyRemoveDir (PICDIR_SCREEN0$)
-
- i% = MyRemoveDir (PICDIR_SCREEN1_BUTTONS$)
- i% = MyRemoveDir (PICDIR_SCREEN1_LIPS$)
- i% = MyRemoveDir (PICDIR_SCREEN1_SLIDERS$)
- i% = MyRemoveDir (PICDIR_SCREEN1$)
-
- i% = MyRemoveDir (PICDIR_SCREEN2_BUTTONS$)
- i% = MyRemoveDir (PICDIR_SCREEN2_ARROWS$)
- i% = MyRemoveDir (PICDIR_SCREEN2_SLIDERS$)
- i% = MyRemoveDir (PICDIR_SCREEN2$)
-
- i% = MyRemoveDir (PICDIR_SCREEN3_BUTTONS$)
- i% = MyRemoveDir (PICDIR_SCREEN3_ARROWS$)
- i% = MyRemoveDir (PICDIR_SCREEN3$)
-
- i% = MyRemoveDir (PICDEST$)
- i% = MyRemoveDir (LOCATION$)
-
- RETURN
-
- rem Install: Perform actual installation
- rem ------------------------------------
- FUNCTION Install STATIC AS INTEGER
-
- DIM Status as INTEGER
-
- rem Create the destination directory
- rem --------------------------------
- CreateDir DEST$, cmoNone
-
- rem Build the copy list
- rem -------------------
- AddSectionFilesToCopyList "PetCD1", SOURCE$, DEST$
-
- rem USE NEXT LINE IF OVERLAYING EXISTING QTW
- rem AddSectionFilesToCopyList "QTIM", SOURCE$, QTWDIR$
-
- AddSectionFilesToCopyList "QTIM", SOURCE$, DEST$
-
- IF SETUPTYPE$ = LEANINST$ THEN
- AddSectionFilesToCopyList "FromCDLean", SOURCE$, DEST$
- ELSEIF SETUPTYPE$ = PREFINST$ THEN
- AddSectionFilesToCopyList "FromCDLean", SOURCE$, DEST$
- AddSectionFilesToCopyList "FromCDPref", SOURCE$, DEST$
- ELSEIF SETUPTYPE$ = FULLINST$ THEN
- AddSectionFilesToCopyList "FromCDLean", SOURCE$, DEST$
- AddSectionFilesToCopyList "FromCDPref", SOURCE$, DEST$
- AddSectionFilesToCopyList "FromCDFull", SOURCE$, DEST$
- END IF
-
- rem Check that we have enough free space to perform the install
- rem -----------------------------------------------------------
- ListSym$ = APPNEEDS$
- StillNeed& = GetCopyListCost(EXTRACOSTS$, ListSym$, "")
-
- drive$ = MID$(DEST$, 1, 1)
- ndrive% = ASC(ucase$(drive$)) - ASC("A") + 1
- cost& = VAL(GetListItem(APPNEEDS$, ndrive%))
- free& = GetFreeSpaceForDrive(drive$)
-
- IF cost& >= free& THEN
- Install = NOSPACE
- EXIT FUNCTION
- END IF
-
- rem Copy all the files from the source to the destination
- rem -----------------------------------------------------
- CopyFilesInCopyList
-
- rem Create a Program Manager group and items
- rem ----------------------------------------
- i% = GetResourceString (CUIDLL$, STR_GROUP)
- GROUP$ = GetSymbolValue ("ResourceString")
- CreateProgmanGroup GROUP$, "", cmoNone
-
- i% = GetResourceString (CUIDLL$, STR_PROGRAM)
- CreateProgmanItem GROUP$, GetSymbolValue ("ResourceString"), MakePath(DEST$,"BIN\PETCD1.EXE"), "", cmoOverwrite
-
- i% = GetResourceString (CUIDLL$, STR_README)
- CreateProgmanItem GROUP$, GetSymbolValue ("ResourceString"), "write " + MakePath(DEST$,"BIN\README.WRI"), "", cmoOverwrite
-
- rem Put a pointer to Pet CD files in WIN.INI (for uninstall)
- rem -----------------------------------------------------------
- CreateIniKeyValue "WIN.INI", "PetCD1", "PetCD1Dir", DEST$, cmoNone
-
- rem Indicate install completed OK
- rem -----------------------------
- Install = INSTALLOK
-
- END FUNCTION
-
- rem MakePath: Builds path from directory and file
- rem ---------------------------------------------
- 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
-
-