home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-09-12 | 33.1 KB | 1,076 lines |
- '**************************************************************************
- '* CHOREO SETUP - TRIAL VERSION 1.1
- '**************************************************************************
-
- ''Define for script development/debugging
- '$DEFINE DEBUG 1
-
- '$INCLUDE 'setupapi.inc'
- '$INCLUDE 'msdetect.inc'
- '$INCLUDE 'msregdb.inc'
-
- ''Dialog ID's
- CONST WELCOME = 100
- CONST ACROBAT_INFO = 130
- CONST ASKQUIT = 200
- CONST DESTPATH = 300
- CONST EXITFAILURE = 400
- CONST EXITQUIT = 600
- CONST EXITSUCCESS = 700
- CONST APPHELP = 900
- CONST CDBADPATH = 6400
- CONST CUSTINST = 6200
- CONST CDTOOBIG = 6300
- CONST MULT_DB_DRIVER = 4000
- CONST SING_PROG_GROUP = 4100
- CONST AUTOEXEC_PATH = 4200
- CONST CDGETNAMEORG = 7500
- CONST CDCONFIRMINFO = 7300
- CONST VBPATHDLG = 4300
- CONST VBCVCTLVBXDLG = 4500
- CONST CDGETSERIALNUMBER = 7501
- CONST CDSERIAL_ERROR = 7502
-
- '' njg infomercials
- CONST INFOMERCIAL1 = 101
- ''CONST INFOMERCIAL2 = 102
-
- ''Bitmap ID
- CONST LOGO = 1
-
- ''File Types
- CONST CHOREOFILES = 1
- CONST DBFILES = 2
- CONST HELPFILES = 3
- CONST EXAMPLEFILES = 4
- CONST TUTORFILES = 5
- CONST GUPTADBFILES = 6
- CONST GUPTADOCFILES = 7
-
- ''CONST BADDIR = 0
- ''CONST NEWAPP = 1
-
- GLOBAL DEST$ ''Default destination directory
- GLOBAL DESTDRIVE$ ''Destination drive
- GLOBAL WINDRIVE$ ''Windows drive letter
- GLOBAL WINSYSDIR$ ''Windows System Directory
- GLOBAL WINDOWSDIR$ ''Windows directory
-
- GLOBAL EXAMPLEDIR$
- GLOBAL BNDCTLDIR$
- GLOBAL DBSDIR$
- GLOBAL DIRSQLSUBDIR$
- GLOBAL GUPTADIR$
- GLOBAL DOCSUBDIR$
-
-
- ''CustInst list symbol names
- GLOBAL CHOREONEEDS$ ''Option list costs per drive
- GLOBAL DBNEEDS$
- GLOBAL HELPNEEDS$
- GLOBAL EXAMPLENEEDS$
- GLOBAL TUTORNEEDS$
- GLOBAL GUPTADBNEEDS$
- GLOBAL GUPTADOCNEEDS$
- GLOBAL EXTRACOSTS$ ''List of extra costs to add per drive
-
- ''Dialog list symbol names
- GLOBAL CHECKSTATES$
- GLOBAL STATUSTEXT$
- GLOBAL DRIVETEXT$
- GLOBAL DBLISTIN$
- GLOBAL DBLISTOUT$
- GLOBAL GRPLISTIN$
- GLOBAL GRPLISTOUT$
- GLOBAL AUTOEXECPATHDEFAULT$
- GLOBAL AUTOEXECPATHGREYED$
- GLOBAL AUTOEXECPATHCHECKED$
- GLOBAL GUPTANEWAPPSTATE$
- GLOBAL VBCVCTLADDSTATE$
-
- ''Status of check boxes
- GLOBAL NAMEOUT$
- GLOBAL ORGOUT$
- GLOBAL CONFIRMINFO$
- GLOBAL GUPTA_DIR$
- GLOBAL VBDIR$
-
- ''Flags
- GLOBAL GOTDBFILE$
- GLOBAL NOT_ENOUGH_SPACE
- GLOBAL bInstallDBSforTutorial
-
- DECLARE SUB AddOptFilesToCopyList (ftype%)
- DECLARE SUB RecalcOptFiles (ftype%)
- DECLARE SUB RecalcPath
- DECLARE SUB SetDriveStatus
- DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
-
-
- '' MSCUISTF.DLL function calls
- DECLARE FUNCTION UpdateAutoexec LIB "MSCUISTF.DLL" (szChoreoDir$, szGuptaDir$) AS INTEGER
- DECLARE FUNCTION CreateExampleAutoexec LIB "MSCUISTF.DLL" (szChoreoDir$, szGuptaDir$) AS INTEGER
- DECLARE FUNCTION WriteVBXToMakFile LIB "MSCUISTF.DLL" (szVBPath$,szVBXName$) AS INTEGER
- DECLARE FUNCTION GetWinDir LIB "MSCUISTF.DLL" () AS INTEGER
- DECLARE FUNCTION GetSysDir LIB "MSCUISTF.DLL" () AS INTEGER
- DECLARE FUNCTION MaximizeFrameWnd LIB "MSCUISTF.DLL" (hWnd%) AS INTEGER
- DECLARE FUNCTION GetCopyGaugeX LIB "MSCUISTF.DLL" (hWnd%) AS INTEGER
- DECLARE FUNCTION GetCopyGaugeY LIB "MSCUISTF.DLL" (hWnd%) AS INTEGER
- DECLARE FUNCTION AddINIEntries LIB "MSCUISTF.DLL" () AS INTEGER
- INIT:
-
- CUIDLL$ = "mscuistf.dll" ''Custom user interface dll
- HELPPROC$ = "FHelpDlgProc" ''Help dialog procedure
-
- GOTDBFILE$ = "NO"
-
- SetBitmap CUIDLL$, LOGO
- SetTitle "Choreo for Visual Basic"
-
- '' njg - maximize the frame window
- HFRAMEWND% = HwndFrame()
- i% = MaximizeFrameWnd (HFRAMEWND%)
-
- '' ------------------------------------------------------------------
- '' Add the billboards for display during copying
- ''AddBlankToBillboardList 5 - api DOESN'T WORK!
- FOR i% = 1 TO 7 STEP 1
- AddToBillboardList CUIDLL$, INFOMERCIAL1, "FInfomercialProc1", 10
- NEXT i%
-
- '' Now adjust the position of the "progress" dlg so it is out of the way...
- SetCopyGaugePosition GetCopyGaugeX(HFRAMEWND%), GetCopyGaugeY(HFRAMEWND%)
-
- szInf$ = GetSymbolValue("STF_SRCINFPATH")
- IF szInf$ = "" THEN
- szInf$ = GetSymbolValue("STF_CWDDIR") + "CHOREO.INF"
- END IF
- ReadInfFile szInf$
-
- '' Use the Windows functions in ouR DLL to get the Windows and System directories
- i% = GetWinDir()
- WINDOWSDIR$ = GetSymbolValue("WindowsDir")
- WINDRIVE$ = MID$(WINDOWSDIR,1,1)
- i% = GetSysDir()
- WINSYSDIR$ = GetSymbolValue("WindowsSystemDir")
- DEST$ = "C:\CHOREO"
- DESTDRIVE$ = "C"
-
- '' ---------------------------------
- '' Set up the directory strings
- EXAMPLEDIR$ = "Examples"
- BNDCTLDIR$ = "Bnd_Ctrl"
- DBSDIR$ = "dbs"
- DIRSQLSUBDIR$ = "dir_sql"
-
- GUPTADIR$ = "Gupta"
- DOCSUBDIR$ = "Doc"
- '' ---------------------------------
-
- ''Initialize Custom Install List Symbols
- CHECKSTATES$ = "CheckItemsState"
- STATUSTEXT$ = "StatusItemsText"
- DRIVETEXT$ = "DriveStatusText"
- DBLISTIN$ = "ListItemsIn"
- DBLISTOUT$ = "ListItemsOut"
- GRPLISTIN$ = "GroupListIn"
- AUTOEXECPATHDEFAULT$ = "RadioDefault"
- AUTOEXECPATHGREYED$ = "OptionsGreyed"
- AUTOEXECPATHCHECKED$ = "ButtonChecked"
- VBCVCTLADDSTATE$ = "ChoreoVBX"
- VBDIR$ = "C:\"
-
-
- FOR i% = 1 TO 3 STEP 1 '' Seven Check Boxes, only first 3 checked
- AddListItem CHECKSTATES$, "ON"
- NEXT i%
- AddListItem CHECKSTATES$, "OFF"
- AddListItem CHECKSTATES$, "ON"
- AddListItem CHECKSTATES$, "OFF"
- AddListItem CHECKSTATES$, "OFF"
- FOR i% = 1 TO 7 STEP 1
- AddListItem STATUSTEXT$, ""
- NEXT i%
- FOR i% = 1 TO 7 STEP 1
- AddListItem DRIVETEXT$, ""
- NEXT i%
- ReplaceListItem DRIVETEXT$, 7, DEST$ '' Set IDC_TEXT7 to the chosen path
-
-
- ''Disk cost list symbols
- CHOREONEEDS$ = "ChoreoNeeds"
- DBNEEDS$ = "DBNeeds"
- HELPNEEDS$ = "HelpNeeds"
- EXAMPLENEEDS$ = "ExampleNeeds"
- TUTORNEEDS$ = "TutorialNeeds"
- GUPTADBNEEDS$ = "GuptaNeeds"
- GUPTADOCNEEDS$ = "GutpaDocNeeds"
- EXTRACOSTS$ = "ExtraCosts"
-
- NOT_ENOUGH_SPACE = 0
- bInstallDBSforTutorial = 1
-
- FOR i% = 1 TO 26 STEP 1 '' For the maximum number of drives
- AddListItem EXTRACOSTS$, "0"
- NEXT i%
-
-
- '' Get Data Driver information from the .INF file
- AddListItem DBLISTIN$, "ODBC"
- AddListItem DBLISTOUT$, "ODBC"
- DBLISTOUT$ = GetSymbolValue("ListItemsOut")
- VBCVCTLADDSTATE$= "ON"
- NAMEOUT$ = ""
- ORGOUT$ = ""
- CONFIRMINFO$ = "ConfirmTextIn"
- INSTALLYES$ = "YES"
- INSTALLNO$ = ""
-
- AddListItem CONFIRMINFO$, DEST$ '' Directory Path
- AddListItem CONFIRMINFO$, DBLISTOUT$ '' Database Drivers
- AddListItem CONFIRMINFO$, GRPLISTOUT$ '' Program Group name
- AddListItem CONFIRMINFO$, NAMEOUT$ '' User name
- AddListItem CONFIRMINFO$, ORGOUT$ '' Org name
- AddListItem CONFIRMINFO$, VBDIR$ '' Visual Basic Path
- AddListItem CONFIRMINFO$, INSTALLYES$ '' Install Examples
- AddListItem CONFIRMINFO$, INSTALLYES$ '' Install tutorial
- AddListItem CONFIRMINFO$, INSTALLYES$ '' Install Gupta
- AddListItem CONFIRMINFO$, INSTALLYES$ '' Install Doc
- AddListItem CONFIRMINFO$, INSTALLYES$ '' Install AutoLoad update
-
- AddListItem AUTOEXECPATHDEFAULT$, "2"
- AddListItem AUTOEXECPATHGREYED$, "1"
- AddListItem AUTOEXECPATHCHECKED$, "2"
-
- '' SetSymbolValue "ListItemsOut", DBLISTOUT$
-
-
- RecalcPath
- SetDriveStatus
-
- '$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$)
- sz$ = UIStartDlg(CUIDLL$, WELCOME, "FWelcomeDlgProc", APPHELP, HELPPROC$)
- IF sz$ = "CONTINUE" THEN
- UIPop 1
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO WELCOME
- ELSE
- GOSUB ASKQUIT
- GOTO WELCOME
- END IF
-
- CUSTINST:
- sz$ = UIStartDlg(CUIDLL$, CUSTINST, "FCustInstDlgProc", APPHELP, HELPPROC$)
-
- IF sz$ = "CONTINUE" THEN
- ''Install only if it will fit.
- IF NOT_ENOUGH_SPACE >0 THEN
- GOSUB TOOBIG
- GOTO CUSTINST
- END IF
- UIPop 1
- GOTO GRPNAME
- ELSEIF sz$ = "PATH" THEN
- GOTO GETPATH
-
- ELSEIF sz$ = "CHK1" THEN
- RecalcOptFiles CHOREOFILES
- SetDriveStatus
- GOTO CUSTINST
- ELSEIF sz$ = "CHK2" THEN
- RecalcOptFiles DBFILES
- SetDriveStatus
- GOTO CUSTINST
- ELSEIF sz$ = "CHK3" THEN
- RecalcOptFiles HELPFILES
- SetDriveStatus
- GOTO CUSTINST
- ELSEIF sz$ = "CHK4" THEN
- bInstallDBSforTutorial = 1
- RecalcOptFiles EXAMPLEFILES
- RecalcOptFiles TUTORFILES
- SetDriveStatus
- GOTO CUSTINST
- ELSEIF sz$ = "CHK5" THEN
- RecalcOptFiles TUTORFILES
- SetDriveStatus
- GOTO CUSTINST
- ELSEIF sz$ = "CHK6" THEN
- RecalcOptFiles GUPTADBFILES
- SetDriveStatus
- GOTO CUSTINST
- ELSEIF sz$ = "CHK7" THEN
- RecalcOptFiles GUPTADOCFILES
- SetDriveStatus
- GOTO CUSTINST
-
- ELSEIF sz$ = "BTN2" THEN
- GOTO DBFILES
-
- ELSEIF sz$ = "REACTIVATE" THEN
- SetDriveStatus
- GOTO CUSTINST
-
- ELSE
- GOSUB ASKQUIT
- GOTO CUSTINST
- END IF
-
- GETPATH:
- SetSymbolValue "EditTextIn", DEST$
- SetSymbolValue "EditFocus", "ALL"
- olddest$ = DEST$
- 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
- DEST$ = olddest$
- 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$ = ""
- '' RecalcPath
- '' SetDriveStatus
- GOTO CUSTINST
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO GETPATHL1
- ELSEIF sz$ = "EXIT" THEN
- GOSUB ASKQUIT
- GOTO GETPATHL1
- ELSEIF sz$ = "BACK" THEN
- UIPop 1
- DEST$ = olddest$
- GOTO CUSTINST
- ELSE
- UIPop 1
- GOTO CUSTINST
- END IF
-
-
- DBFILES:
- ''ng% = DoMsgBox("DBFILES", "Debug Message", MB_OK)
- SetSymbolValue "ListItemsOut", DBLISTOUT$
- sz$ = UIStartDlg(CUIDLL$, MULT_DB_DRIVER, "FMultiDlgProc", APPHELP, HELPPROC$)
- DBLISTOUT$ = GetSymbolValue("ListItemsOut")
- GOTDBFILE$ = "YES"
-
- IF sz$ = "CONTINUE" THEN
- UIPop 1
- RecalcOptFiles DBFILES
- SetDriveStatus
- GOTO CUSTINST
- ELSEIF sz$ = "REACTIVATE" THEN
- SetDriveStatus
- GOTO DBFILES
- ELSEIF sz$ = "EXIT" THEN
- GOSUB ASKQUIT
- GOTO DBFILES
- ELSE
- UIPop 1
- GOTO CUSTINST
- END IF
-
-
- GRPNAME:
- ''ng% = DoMsgBox("GRPNAME", "Debug Message", MB_OK)
-
- SetSymbolValue "GroupListOut", GRPLISTOUT$
-
- sz$ = UIStartDlg(CUIDLL$, SING_PROG_GROUP, "FGroupListDlgProc", APPHELP, HELPPROC$)
- GRPLISTOUT$ = GetSymbolValue("GroupListOut")
-
- IF sz$ = "CONTINUE" THEN
- UIPop 1
- GOTO GETNAMEORG
- ELSEIF sz$ = "BACK" THEN
- UIPop 1
- GOTO CUSTINST
- ELSEIF sz$ = "EXIT" THEN
- GOSUB ASKQUIT
- GOTO GRPNAME
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO GRPNAME
- ELSE
- GOSUB ASKQUIT
- GOTO GRPNAME
- END IF
-
- GETNAMEORG:
- ''ng% = DoMsgBox("GETNAMEORG", "Debug Message", MB_OK)
-
- SetSymbolValue "NameOut", NAMEOUT$
- SetSymbolValue "OrgOut", ORGOUT$
- sz$ = UIStartDlg(CUIDLL$, CDGETNAMEORG, "FNameOrgDlgProc", APPHELP, HELPPROC$)
- NAMEOUT$ = GetSymbolValue("NameOut")
- ORGOUT$ = GetSymbolValue("OrgOut")
-
- IF sz$ = "CONTINUE" THEN
- UIPop 1
- GOTO VBPATH
- ELSEIF sz$ = "BACK" THEN
- UIPop 1
- GOTO GRPNAME
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO GETNAMEORG
- ELSEIF sz$ = "EXIT" THEN
- GOSUB ASKQUIT
- GOTO GETNAMEORG
- ELSE
- GOSUB ASKQUIT
- GOTO GETNAMEORG
- END IF
-
- VBPATH:
- ''ng% = DoMsgBox("VBPATH", "Debug Message", MB_OK)
-
- SetSymbolValue "VBPath", VBDIR$
- sz$ = UIStartDlg(CUIDLL$, VBPATHDLG, "VBPathDlgProc", APPHELP, HELPPROC$)
-
- IF sz$ = "CONTINUE" THEN
- VBDIR$ = GetSymbolValue("VBPath")
- UIPop 1
- GOTO VBCVCTLVBX
- ELSEIF sz$ = "BACK" THEN
- UIPop 1
- GOTO GETNAMEORG
- ELSEIF sz$ = "EXIT" THEN
- GOSUB ASKQUIT
- GOTO VBPATH
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO VBPATH
- ELSE
- GOSUB ASKQUIT
- GOTO VBPATH
- END IF
-
-
- VBCVCTLVBX:
- ''ng% = DoMsgBox("VBCVCTLVBX", "Debug Message", MB_OK)
-
- SetSymbolValue "ChoreoVBX", VBCVCTLADDSTATE$
- sz$ = UIStartDlg(CUIDLL$,VBCVCTLVBXDLG,"CVCtlAddDlgProc",APPHELP,HELPPROC$)
- VBCVCTLADDSTATE$ = GetSymbolValue("ChoreoVBX")
- IF sz$ = "CONTINUE" THEN
- UIPop 1
- GOTO INFOCONFIRM
- ELSEIF sz$ = "BACK" THEN
- UIPop 1
- GOTO VBPATH
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO VBCVCTLVBX
- '' ELSEIF sz$ = "EXIT" THEN
- '' GOSUB ASKQUIT
- '' GOTO VBCVCTLVBX
- ELSE
- GOSUB ASKQUIT
- GOTO VBCVCTLVBX
- END IF
-
-
- INFOCONFIRM:
- ''ng% = DoMsgBox("INFOCONFIRM", "Debug Message", MB_OK)
- ReplaceListItem CONFIRMINFO$, 1, DEST$
-
- IF GOTDBFILE$ = "NO" THEN
- DBLISTOUT$ = GetSymbolValue("ListItemsOut")
- END IF
-
- ReplaceListItem CONFIRMINFO$, 2, DBLISTOUT$
- ReplaceListItem CONFIRMINFO$, 3, GRPLISTOUT$
- ReplaceListItem CONFIRMINFO$, 4, NAMEOUT$
- ReplaceListItem CONFIRMINFO$, 5, ORGOUT$
- ReplaceListItem CONFIRMINFO$, 6, VBDIR$
-
- IF GetListItem(CHECKSTATES$, EXAMPLEFILES) = "ON" THEN
- ReplaceListItem CONFIRMINFO$, 7, INSTALLYES$
- ELSE
- ReplaceListItem CONFIRMINFO$, 7, INSTALLNO$
- END IF
-
- IF GetListItem(CHECKSTATES$, TUTORFILES) = "ON" THEN
- ReplaceListItem CONFIRMINFO$, 8, INSTALLYES$
- ELSE
- ReplaceListItem CONFIRMINFO$, 8, INSTALLNO$
- END IF
-
- IF GetListItem(CHECKSTATES$, GUPTADBFILES) = "ON" THEN
- ReplaceListItem CONFIRMINFO$, 9, INSTALLYES$
- ELSE
- ReplaceListItem CONFIRMINFO$, 9, INSTALLNO$
- END IF
-
- IF GetListItem(CHECKSTATES$, GUPTADOCFILES) = "ON" THEN
- ReplaceListItem CONFIRMINFO$, 10, INSTALLYES$
- ELSE
- ReplaceListItem CONFIRMINFO$, 10, INSTALLNO$
- END IF
-
- VBCVCTLADDSTATE$ =GetSymbolValue("ChoreoVBX")
- IF VBCVCTLADDSTATE$ = "ON" THEN
- ReplaceListItem CONFIRMINFO$, 11, INSTALLYES$
- ELSE
- ReplaceListItem CONFIRMINFO$, 11, INSTALLNO$
- END IF
-
- sz$ = UIStartDlg(CUIDLL$, CDCONFIRMINFO, "FConfirmDlgProc", APPHELP, HELPPROC$)
-
- IF sz$ = "CONTINUE" THEN
- UIPop 1
- GOTO INSTALL1
- ELSEIF sz$ = "BACK" THEN
- UIPop 1
- GOTO VBCVCTLVBX
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO INFOCONFIRM
- ELSEIF sz$ = "EXIT" THEN
- GOSUB ASKQUIT
- GOTO INFOCONFIRM
- ELSE
- GOSUB ASKQUIT
- GOTO INFOCONFIRM
- END IF
-
- INSTALL1:
- ''ng% = DoMsgBox("INSTALL1:", "Debug Message", MB_OK)
-
- VBCVCTLADDSTATE$ =GetSymbolValue("ChoreoVBX")
- IF VBCVCTLADDSTATE$ = "ON" THEN
- ' i% = DoMsgBox(VBDIR$, "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
- i% = WriteVBXToMakFile(VBDIR$,"CVCTL.VBX")
-
- END IF
-
- CursorSave% = ShowWaitCursor()
-
- '' ********************************************************
- '' Fill the copy List (after clearing it out first)
- '' ********************************************************
- ClearCopyList
- AddOptFilesToCopyList CHOREOFILES
- AddOptFilesToCopyList DBFILES
- AddOptFilesToCopyList HELPFILES
- '' AddOptFilesToCopyList EXAMPLEFILES
- AddOptFilesToCopyList TUTORFILES
- '' AddOptFilesToCopyList GUPTADBFILES
- '' AddOptFilesToCopyList GUPTADOCFILES
- '' ********************************************************
-
- CreateDir DEST$, cmoNone
-
- RestoreCursor CursorSave%
-
- SrcDir$ = GetSymbolValue("STF_SRCDIR")
-
- '' ********************** This is where the copy gets done! ***********************
-
- CopyFilesInCopyList
-
- '' ********************************************************************************
-
- '' ----------------------------------------------
- '' Create CHOREO.INI settings
- '' ----------------------------------------------
- ''ng% = DoMsgBox (WINSYSDIR$, "Debug", MB_OK)
- ini$ = MakePath(WINDOWSDIR$, "CHOREO.INI")
- CreateIniKeyValue ini$, "Messages", "message", MakePath(DEST$, "CHOREO.MSG"), cmoOverwrite
- CreateIniKeyValue ini$, "Assocs", "lib1", MakePath(DEST$, "VBASSOC.DLL"), cmoOverwrite
- CreateIniKeyValue ini$, "User Info", "UserName", NAMEOUT$, cmoOverwrite
- CreateIniKeyValue ini$, "User Info", "OrgName", ORGOUT$, cmoOverwrite
- CreateIniKeyValue ini$, "LinkMgr", "VBPath", VBDIR$, cmoOverwrite
-
- '' ----------------------------------------------------------------------
- '' 1.1 Choreo section
- CreateIniKeyValue ini$, "Choreo", "Path", DEST$, cmoOverwrite
-
- '' kludge moved other entries to the c file!
- i% = AddINIEntries
- ''
-
- '' ----------------------------------------------------------------------
- '' 1.1 additions to the LinkMgr section
-
- '' ----------------------------------------------------------------------
- '' 1.1 Tutorial
- CreateIniKeyValue ini$, "Tutorial", "TutorPath", MakePath(DEST$, "TUTOR.EXE"), cmoOverwrite
- CreateIniKeyValue ini$, "Tutorial", "MasterPath", MakePath(DEST$, "EXAMPLES\TMASTER"), cmoOverwrite
- CreateIniKeyValue ini$, "Tutorial", "Directory", MakePath(DEST$, "TUTORIAL"), cmoOverwrite
- '' Demo addition!
- CreateIniKeyValue ini$, "Demo", "Directory", MakePath(DEST$, "Demo"), cmoOverwrite
-
- '' ----------------------------------------------------------------------
- '' DataBase driver section
- IF GetListItem(CHECKSTATES$, DBFILES) = "ON" THEN
- CreateIniKeyValue ini$, "Databases", "ODBC", MakePath(DEST$, "DDODBC.DLL,ODBC"), cmoOverwrite
- ENDIF
-
-
- '' ----------------------------------------------
- '' Create the Reg Database group
- '' ----------------------------------------------
-
- CreateRegKeyValue ".DLF\shell\open\command", MakePath(DEST$,"linkmgr.exe %1")
- CreateRegKeyValue ".MDL\shell\open\command", MakePath(DEST$, "modelmgr.exe %1")
-
-
- '' ----------------------------------------------
- '' Create the Window Group
- '' ----------------------------------------------
- IF GRPLISTOUT$ = "Choreo for Visual Basic" THEN
- CreateProgmanGroup GRPLISTOUT$, "", cmoOverwrite
- END IF
- ShowProgmanGroup GRPLISTOUT$, 1, cmoNone
-
-
- CreateProgmanItem GRPLISTOUT$, "Choreo Demonstration Manager", MakePath(DEST$, "ChorDemo.exe"),"", cmoOverwrite
- CreateProgmanItem GRPLISTOUT$, "Extend Evaluation", MakePath(DEST$, "cemu.exe"),"", cmoOverwrite
-
-
-
- PATHPARAM:
- SetSymbolValue "RadioDefault", AUTOEXECPATHDEFAULT$
- SetSymbolValue "OptionsGreyed", AUTOEXECPATHGREYED$
- sz$ = UIStartDlg(CUIDLL$, AUTOEXEC_PATH, "FRadioDlgProc", APPHELP, HELPPROC$)
- IF sz$ = "CONTINUE" THEN
- UIPop 1
- AUTOEXECPATHCHECKED$ = GetSymbolValue("ButtonChecked")
- IF AUTOEXECPATHCHECKED$ = "1" then
- IF GetListItem(CHECKSTATES$, GUPTADBFILES) = "ON" THEN
- i% = UpdateAutoexec(DEST$, MakePath (DEST$, GUPTADIR$))
- ELSE
- i% = UpdateAutoexec(DEST$, "")
- END IF
- ELSE
- IF GetListItem(CHECKSTATES$, GUPTADBFILES) = "ON" THEN
- i% = CreateExampleAutoexec(DEST$, MakePath (DEST$, GUPTADIR$))
- ELSE
- i% = CreateExampleAutoexec(DEST$, "")
- END IF
- END IF
- ''GOTO QUIT
- GOTO GETSERIALNUMBER
- ELSEIF sz$ = "BACK" THEN
- UIPop 1
- GOTO INSTALL1
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO PATHPARAM
- ELSE
- GOSUB ASKQUIT
- GOTO PATHPARAM
- END IF
-
-
- GETSERIALNUMBER:
- GOTO QUIT ' we don't ask, they don't have one for the trial!
- sz$ = UIStartDlg(CUIDLL$, CDGETSERIALNUMBER, "FSerialNumberProc", APPHELP, HELPPROC$)
-
- IF sz$ = "CONTINUE" THEN
- UIPop 1
- GOTO QUIT
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO GETSERIALNUMBER
- ELSEIF sz$ = "BACK" THEN
- GOSUB SERIALNUMBERERROR
- GOTO GETSERIALNUMBER
- END IF
-
- SERIALNUMBERERROR:
- sz$ = UIStartDlg(CUIDLL$, CDSERIAL_ERROR, "FInfoDlgProc", 0, "")
-
- IF sz$ = "EXIT" THEN
- UIPopAll
- GOTO QUIT
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO SERIALNUMBERERROR
- ELSE
- UIPop 1
- END IF
- RETURN
-
- QUIT:
- ON ERROR GOTO ERRQUIT
- IF ERR = 0 THEN
- dlg% = EXITSUCCESS
- 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 415-266-7007!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
- END
-
-
- 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
-
-
- TOOBIG:
- sz$ = UIStartDlg(CUIDLL$, CDTOOBIG, "FInfo0DlgProc", 0, "")
- IF sz$ = "REACTIVATE" THEN
- RecalcPath
- SetDriveStatus
- GOTO TOOBIG
- END IF
- UIPop 1
- RETURN
-
- BADPATH:
- sz$ = UIStartDlg(CUIDLL$, CDBADPATH, "FInfo0DlgProc", 0, "")
- IF sz$ = "REACTIVATE" THEN
- RecalcPath
- SetDriveStatus
- GOTO BADPATH
- END IF
- UIPop 1
- RETURN
-
- '**
- '** Purpose:
- '** Adds the specified option files to the copy list.
- '** Arguments:
- '** ftype% - type of files to add, one of the following:
- '** CHOREOFILES, DBFILES, HELPFILES, EXAMPLEFILES
- '** TUTORFILES, GUPTADBFILES, GUPTADOCFILES
- '** Returns:
- '** none.
- '*************************************************************************
- SUB AddOptFilesToCopyList (ftype%) STATIC
-
- IF GetListItem(CHECKSTATES$, ftype%) = "ON" THEN
- SrcDir$ = GetSymbolValue("STF_SRCDIR")
-
- '' ---- Choreo
- IF ftype% = CHOREOFILES THEN
- AddSectionFilesToCopyList "CHOREOFILES", SrcDir$, DEST$
- AddSectionFilesToCopyList "VB_FILES",SrcDir$,VBDIR$
- AddSectionFilesToCopyList "WIN_SYS", SrcDir$, WINSYSDIR$
-
- '' ---- Database drivers
- ELSEIF ftype% = DBFILES THEN
- FOR i% = 1 TO GetListLength("ListItemsOut") STEP 1
- IF GetListItem("ListItemsOut", i%) = "Gupta SQLBase" THEN
- AddSectionKeyFileToCopyList "DBFILES", "SQLBASE", SrcDir$, DEST$
-
- '' MS SqlSvr 4.x uses the Sybase driver
- ELSEIF GetListItem("ListItemsOut", i%) = "Microsoft SQL Server 4.x" THEN
- AddSectionKeyFileToCopyList "DBFILES", "SYBASE", SrcDir$, DEST$
- ELSEIF GetListItem("ListItemsOut", i%) = "Microsoft SQL Server 6" THEN
- AddSectionKeyFileToCopyList "DBFILES", "SQLSRVR6", SrcDir$, DEST$
-
- ELSEIF GetListItem("ListItemsOut", i%) = "ODBC" THEN
- AddSectionKeyFileToCopyList "DBFILES", "ODBC", SrcDir$, DEST$
-
- '' these use the same driver:
- ELSEIF GetListItem("ListItemsOut", i%) = "Oracle6" THEN
- AddSectionKeyFileToCopyList "DBFILES", "ORACLE", SrcDir$, DEST$
- ELSEIF GetListItem("ListItemsOut", i%) = "Oracle7" THEN
- AddSectionKeyFileToCopyList "DBFILES", "ORACLE", SrcDir$, DEST$
-
- ELSEIF GetListItem("ListItemsOut", i%) = "Sybase SQL Server 4.x" THEN
- AddSectionKeyFileToCopyList "DBFILES", "SYBASE", SrcDir$, DEST$
- ELSEIF GetListItem("ListItemsOut", i%) = "Sybase System 10" THEN
- AddSectionKeyFileToCopyList "DBFILES", "SYBASE10", SrcDir$, DEST$
-
- END IF
- NEXT i%
- '' ---- Help files
- ELSEIF ftype% = HELPFILES THEN
- AddSectionFilesToCopyList "HELPFILES", SrcDir$, DEST$
-
- '' ---- Example files
- ELSEIF ftype% = EXAMPLEFILES THEN
- dirExample$ = MakePath(DEST$,EXAMPLEDIR$)
- '' ---- Books
- AddSectionFilesToCopyList "EXAMPLE_BOOKS", SrcDir$, MakePath(dirExample$, "Books")
-
- '' ---- DBS
- AddSectionFilesToCopyList "EXAMPLE_DBS", SrcDir$, MakePath(dirExample$, DBSDIR$)
- '' AddSectionFilesToCopyList "EXAMPLE_DBS_X", SrcDir$, MakePath(dirExample$, DBSDIR$)
- bInstallDBSforTutorial = 0
-
- '' ---- Access
- AddSectionFilesToCopyList "EXAMPLES_ACCESS", SrcDir$, MakePath(dirExample$, "Access")
-
- '' ---- SQL
- AddSectionFilesToCopyList "EXAMPLE_SQL", SrcDir$, MakePath(dirExample$, "sql")
-
- '' ---- Bound Control
- AddSectionFilesToCopyList "EXAMPLE_BNDCTRL", SrcDir$, makePath(dirExample$, BNDCTLDIR$)
- AddSectionFilesToCopyList "EXAMPLE_BNDCTRL_FP", SrcDir$, makePath(dirExample$, MakePath(BNDCTLDIR$, "fp_grid"))
- AddSectionFilesToCopyList "EXAMPLE_BNDCTRL_LS", SrcDir$, MakePath(dirExample$, MakePath(BNDCTLDIR$, "fp_list"))
- AddSectionFilesToCopyList "EXAMPLE_BNDCTRL_SS", SrcDir$, MakePath(dirExample$, MakePath(BNDCTLDIR$, "ss_grid"))
- AddSectionFilesToCopyList "EXAMPLE_BNDCTRL_TG", SrcDir$, MakePath(dirExample$, MakePath(BNDCTLDIR$, "truegrid"))
-
- '' ---- Direct SQL
- AddSectionFilesToCopyList "EXAMPLE_DIRSQL", SrcDir$, makePath (dirExample$, DIRSQLSUBDIR$)
- AddSectionFilesToCopyList "EXAMPLE_DIRSQL_AD", SrcDir$, makePath (dirExample$, makePath (DIRSQLSUBDIR$, "Adhoc"))
- AddSectionFilesToCopyList "EXAMPLE_DIRSQL_LT", SrcDir$, makePath (dirExample$, makePath (DIRSQLSUBDIR$, "sqllite"))
- AddSectionFilesToCopyList "EXAMPLE_DIRSQL_TS", SrcDir$, makePath (dirExample$, makePath (DIRSQLSUBDIR$, "sqltest"))
- AddSectionFilesToCopyList "EXAMPLE_DIRSQL_SSP", SrcDir$, makePath (dirExample$, makePath (DIRSQLSUBDIR$, "ssp"))
- AddSectionFilesToCopyList "EXAMPLE_DIRSQL_2Q", SrcDir$, makePath (dirExample$, makePath (DIRSQLSUBDIR$, "sybsp2q"))
-
- '' ---- Stored Proceedures
-
- '' ---- Tutorial Files
- ELSEIF ftype% = TUTORFILES THEN
- dirExample$ = MakePath(DEST$,EXAMPLEDIR$)
- dirTutor$ = MakePath(dirExample$, "tmaster")
- dirDemo$ = MakePath(DEST$, "Demo")
-
- '' ---- Add the tutorial files
- '' AddSectionFilesToCopyList "TUTORIAL_2", SrcDir$, makepath (dirTutor$, "lesson2")
- '' AddSectionFilesToCopyList "TUTORIAL_3", SrcDir$, makepath (dirTutor$, "lesson3")
- '' AddSectionFilesToCopyList "TUTORIAL_4", SrcDir$, makepath (dirTutor$, "lesson4")
- '' AddSectionFilesToCopyList "TUTORIAL_5", SrcDir$, makepath (dirTutor$, "lesson5")
- '' '' ---- And the tutor!
- '' AddSectionFilesToCopyList "TUTORIALFILES", SrcDir$, DEST$
- '' '' ---- ensure the DBS is installed as well!
- '' IF bInstallDBSforTutorial = 1 THEN
- '' AddSectionFilesToCopyList "EXAMPLE_DBS", SrcDir$, MakePath(dirExample$, DBSDIR$)
- '' ENDIF
-
- '' ---- Add the DEMO tutorial files
- AddSectionFilesToCopyList "TUTORIAL_2", SrcDir$, makepath (dirDemo$, "initial")
- AddSectionFilesToCopyList "TUTORIAL_3", SrcDir$, makepath (dirDemo$, "complete")
- '' ---- And the tutor!
- AddSectionFilesToCopyList "TUTORIALFILES", SrcDir$, DEST$
- '' ---- Access
- AddSectionFilesToCopyList "ACCESS", SrcDir$, MakePath(dirDemo$, "Access")
-
-
- '' ---- Gupta
- ELSEIF ftype% = GUPTADBFILES THEN
- AddSectionFilesToCopyList "GUPTA_SQLBASE", SrcDir$, MakePath(DEST$, GUPTADIR$)
- AddSectionFilesToCopyList "GUPTA_WININI", SrcDir$, MakePath(DEST$, GUPTADIR$)
- AddSectionFilesToCopyList "GUPTA_DBS", SrcDir$, MakePath(DEST$, makepath (GUPTADIR$, DBSDIR$))
- ''AddSectionFilesToCopyList "GUPTA_DBS_BOOKS", SrcDir$, MakePath(DEST$, makePath (GUPTADIR$, MakePath (DBSDIR$, "Books")))
- AddSectionFilesToCopyList "EXAMPLE_DBS", SrcDir$, MakePath(DEST$, makePath (GUPTADIR$, MakePath (DBSDIR$, "Books")))
- '' AddSectionFilesToCopyList "EXAMPLE_DBS_X", SrcDir$, MakePath(DEST$, makePath (GUPTADIR$, MakePath (DBSDIR$, "Books")))
- AddSectionFilesToCopyList "GUPTA_WINTALK", SrcDir$, MakePath(DEST$, GUPTADIR$) '' needds to be in the same directory as the DLL's!
-
- ELSEIF ftype% = GUPTADOCFILES THEN
- AddSectionFilesToCopyList "GUPTA_DOC", SrcDir$, MakePath(DEST$, Makepath(GUPTADIR$, DOCSUBDIR$))
-
- 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:
- '** CHOREOFILES, DBFILES, HELPFILES, EXAMPLEFILES
- '** Returns:
- '** none.
- '*************************************************************************
- SUB RecalcOptFiles (ftype%) STATIC
- CursorSave% = ShowWaitCursor()
- ClearCopyList
-
- AddOptFilesToCopyList ftype%
-
- DESTDRIVE$ = MID$(DEST$, 1, 1)
- fExtra% = 0
- IF ftype% = CHOREOFILES THEN
- ListSym$ = CHOREONEEDS$
- IF GetListItem(CHECKSTATES$, CHOREOFILES) = "ON" THEN
- ''Add extra cost to Windows drive for ini/progman, etc.
- ndrive% = ASC(ucase$(WINDRIVE$)) - ASC("A") + 1
- ReplaceListItem EXTRACOSTS$, ndrive%, "8192"
- fExtra% = 1
- END IF
- ELSEIF ftype% = DBFILES THEN
- ListSym$ = DBNEEDS$
-
- ELSEIF ftype% = HELPFILES THEN
- ListSym$ = HELPNEEDS$
-
- '' ELSEIF ftype% = EXAMPLEFILES THEN
- '' ListSym$ = EXAMPLENEEDS$
-
- ELSEIF ftype% = TUTORFILES THEN
- ListSym$ = TUTORNEEDS$
-
- '' ELSEIF ftype% = GUPTADBFILES THEN
- '' ListSym$ = GUPTADBNEEDS$
- '' NOTE: Gupta SQL.INI file now stored in the Gupta directory inside Choreo
-
- '' ELSEIF ftype% = GUPTADOCFILES THEN
- '' ListSym$ = GUPTADOCNEEDS$
-
- END IF
-
- StillNeed& = GetCopyListCost(EXTRACOSTS$, ListSym$, "")
- '' StillNeed& = GetCopyListCost("", ListSym$, "")
-
- cost& = 0
- FOR i% = 1 TO 26 STEP 1
- cost& = cost& + VAL(GetListItem(ListSym$, i%))
- NEXT i%
-
- ReplaceListItem STATUSTEXT$, ftype%, STR$(cost& / 1024) + " K"
-
- '' 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$ = ""
- 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 CHOREOFILES
- RecalcOptFiles DBFILES
- RecalcOptFiles HELPFILES
- '' RecalcOptFiles EXAMPLEFILES
- '' RecalcOptFiles TUTORFILES
- '' RecalcOptFiles GUPTADBFILES
- '' RecalcOptFiles GUPTADOCFILES
-
- 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& = 0
- cost& = VAL(GetListItem(CHOREONEEDS$, ndrive%)) + VAL(GetListItem(DBNEEDS$, ndrive%)) + VAL(GetListItem(HELPNEEDS$, ndrive%)) '' + VAL(GetListItem(TUTORNEEDS$, ndrive%))
- free& = GetFreeSpaceForDrive(drive$)
-
- IF cost& > free& THEN
- NOT_ENOUGH_SPACE = 1
- ELSE
- NOT_ENOUGH_SPACE = 0
- 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(CHOREONEEDS$, ndrive%)) + VAL(GetListItem(DBNEEDS$, ndrive%)) + VAL(GetListItem(HELPNEEDS$, ndrive%)) '' + VAL(GetListItem(TUTORNEEDS$, ndrive%))
- IF cost& = 0 THEN
- ReplaceListItem DRIVETEXT$, 4, ""
- ReplaceListItem DRIVETEXT$, 5, ""
- ReplaceListItem DRIVETEXT$, 6, ""
- ELSE
- free& = GetFreeSpaceForDrive(WINDRIVE$)
- ReplaceListItem DRIVETEXT$, 4, WINDRIVE$ + ":"
- ReplaceListItem DRIVETEXT$, 5, STR$(cost& / 1024) + " K"
- ReplaceListItem DRIVETEXT$, 6, STR$(free& / 1024) + " K"
- IF cost& > free& THEN
- NOT_ENOUGH_SPACE = NOT_ENOUGH_SPACE + 1
- END IF
- END IF
- END IF
- 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
-