home *** CD-ROM | disk | FTP | other *** search
Wrap
'' setupcc.mst -- MS Setup script to install Calendar Creator Windows, '' ** Instant Calendar version ** '' rev date: '' 12/07/93 df change all "Easy Working" to "Instant"; comment-out '' ini entries for DS printing; add this header '' 12/15/93 df remove filter_ver check; change check stock0 to stock1 '$INCLUDE 'setupapi.inc' '$INCLUDE 'msdetect.inc' CONST WELCOME=100 CONST ASKQUITD=200 CONST PROG_PATH=300 CONST ART_PATH=350 CONST FILTERS_PATH=375 CONST EXITFAILURE=400 CONST EXITQUIT=600 CONST EXITSUCCESS=700 CONST CUSTINST=6200 CONST TOOBIG=6300 CONST BADPATH=6400 CONST INI_ENTRIES=6505 CONST WARN_WIN30=6509 CONST WARN_OTHER_FM=6510 CONST GETINFO=7500 CONST STATUS=1 CONST SECTION=3 GLOBAL DEST$ GLOBAL DEST_ART$ GLOBAL DEST_FILTERS$ GLOBAL WINDRIVE$ GLOBAL PROGDRIVE$ GLOBAL ARTDRIVE$ GLOBAL FILTERSDRIVE$ GLOBAL WORKING_DEST$ GLOBAL EXE_PATH$ GLOBAL NAME_STR$ GLOBAL ORG_STR$ GLOBAL PROG_COST$ GLOBAL FILTERS_COST$ GLOBAL SEL_COST$ GLOBAL ART_COST$ GLOBAL nWinDrive% GLOBAL PREV_INSTALL$ GLOBAL CUIDLL$ GLOBAL CURRENT_DLG$ GLOBAL STR_REQ$ GLOBAL STR_AVAIL$ GLOBAL DIALOG_LIST$ GLOBAL CHK_PROG_FILES$ GLOBAL CHK_CLIP_ART$ GLOBAL STR_PROG_PATH$ GLOBAL STR_CLIP_ART_PATH$ GLOBAL STR_FILTERS_PATH$ GLOBAL STR_REQ_PROG$ GLOBAL STR_REQ_CLIP_ART$ GLOBAL STR_REQ_FILTERS$ GLOBAL STR_AVAIL_PROG$ GLOBAL STR_AVAIL_ART$ GLOBAL STR_AVAIL_FILTERS$ GLOBAL STR_REQ_PROG2$ GLOBAL STR_REQ_CLIP_ART2$ GLOBAL DIA_ART$ GLOBAL STR_REQ_ART_DLG$ GLOBAL STR_AVAIL_ART_DLG$ GLOBAL STR_REQ_GEN$ GLOBAL STR_AVAIL_GEN$ GLOBAL EXTRACOSTS$ GLOBAL COSTLIST$ GLOBAL NEEDLIST$ GLOBAL BIGLIST$ GLOBAL ini$ GLOBAL TotalSpcFree& GLOBAL OldCursor% GLOBAL FrameWindow% GLOBAL WinDir$ GLOBAL WinSysDir$ GLOBAL fc% GLOBAL _ON$ GLOBAL _NO$ GLOBAL _YES$ GLOBAL _SETUP_TITLE$ GLOBAL _CCW$ GLOBAL _CCPO$ GLOBAL _CPS$ GLOBAL _GRAPH_INI$ DECLARE FUNCTION ReleaseCP LIB "mscuistf.dll" AS INTEGER DECLARE FUNCTION MakeKbString LIB "mscuistf.dll" (szStr$) AS INTEGER DECLARE SUB HelpQuit LIB "mscuistf.dll" (hwnd%) DECLARE SUB DeleteOldIcons LIB "mscuistf.dll" DECLARE FUNCTION MakeKb (szStr$) AS STRING DECLARE SUB BuildCopyList DECLARE SUB GetFileCosts DECLARE SUB SetDriveStatus DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING DECLARE FUNCTION GetTotalSpcFree AS LONG DECLARE SUB OpenWaitMessage (Msg%) DECLARE SUB CloseWaitMessage DECLARE SUB InitDefaultPaths DECLARE SUB InitMainDialogSymbols DECLARE SUB InitArtDialogSymbols DECLARE SUB ReInitArtDialogSymbols DECLARE SUB DoIniStuff DECLARE SUB CheckWin30 DECLARE SUB AskQuit DECLARE SUB DoIconStuff DECLARE SUB GetUserInfo INIT: _ON$="ON" _NO$="NO" _YES$="YES" _SETUP_TITLE$="Instant Calendar Setup" _CCW$="Calendar Creator Windows" _CCPO$="Calendar Creator Print Options" _CPS$="Calendar Paper Stocks" _GRAPH_INI$="GRAPHICS FILTERS" CursorSave% = ShowWaitCursor () fc% = 0 WinDir$ = MakePath (MID$ (GetWindowsDir (), 1, LEN(GetWindowsDir ()) - 1), "") WinSysDir$ = MakePath (MID$ (GetWindowsSysDir (), 1, LEN(GetWindowsSysDir ()) - 1), "") FrameWindow% = HwndFrame () SetSymbolValue "FrameWindow", STR$ (FrameWindow%) CUIDLL$ = "mscuistf.dll" CURRENT_DLG$ = "CurrentDlg" COSTLIST$ = "CostList" NEEDLIST$ = "NeedList" BIGLIST$ = "TooBig" EXTRACOSTS$ = "ExtraCosts" ORG_STR$ = "OrgOut" NAME_STR$ = "NameOut" RestoreCursor CursorSave% SetAbout "", "" SetTitle _SETUP_TITLE$ SetBitmap CUIDLL$, 1 CursorSave% = ShowWaitCursor () '' 26 drives ( A-Z ) FOR i% = 1 TO 26 STEP 1 AddListItem BIGLIST$, "" NEXT i% FOR i% = 1 TO 26 STEP 1 AddListItem EXTRACOSTS$, "0" NEXT i% szInf$ = GetSymbolValue("STF_SRCINFPATH") IF szInf$ = "" THEN szInf$ = MakePath( GetSymbolValue("STF_CWDDIR"), "SETUPCC.INF" ) ENDIF ReadInfFile szInf$ RestoreCursor CursorSave% InitDefaultPaths InitMainDialogSymbols InitArtDialogSymbols RE_INIT: CursorSave% = ShowWaitCursor () InitDefaultPaths InitMainDialogSymbols ReInitArtDialogSymbols RestoreCursor CursorSave% WELCOME: sz$ = UIStartDlg(CUIDLL$, WELCOME, "FWelcomeDlgProc", 0, "") IF sz$ = "COMPLETE" THEN UIPop 1 BuildCopyList IF GetListItem (BIGLIST$, 1) = _YES$ THEN GOSUB TOOBIG GOTO REFRESH ENDIF GOTO INSTALL ELSEIF sz$ = "CUSTOM" THEN UIPop 1 GOTO REFRESH ELSEIF sz$ = "REACTIVATE" THEN GOTO WELCOME ELSE AskQuit GOTO WELCOME END IF REFRESH: GetFileCosts SetDriveStatus CUSTINST: sz$ = UIStartDlg(CUIDLL$, CUSTINST, "FCustInstDlgProc", 0, "") IF sz$ = "INSTALL" THEN ''Install only if it will fit. BuildCopyList IF GetListItem (BIGLIST$, 1) = _YES$ THEN GOSUB TOOBIG GOTO CUSTINST ENDIF UIPop 1 GOTO INSTALL ELSEIF sz$ = "BTN_PROG_PATH" THEN GOTO GETPATH ELSEIF sz$ = "BTN_ART_PATH" THEN GOTO GETPATH_ART ELSEIF sz$ = "BTN_FILTERS_PATH" THEN GOTO GETPATH_FILTERS ELSEIF sz$ = "UPDATE" THEN SetDriveStatus GOTO CUSTINST ELSEIF sz$ = "BTN_BACK" then UIPop 1 goto RE_INIT ELSEIF sz$ = "REINIT" THEN GOTO CUSTINST ELSEIF sz$ = "REACTIVATE" THEN SetDriveStatus GOTO CUSTINST ELSE AskQuit GOTO CUSTINST END IF GETPATH: WORKING_DEST$ = DEST$ iType% = PROG_PATH GOTO HANDLE_GETPATH GETPATH_ART: WORKING_DEST$ = DEST_ART$ iType% = ART_PATH GOTO HANDLE_GETPATH GETPATH_FILTERS: WORKING_DEST$ = DEST_FILTERS$ iType% = FILTERS_PATH GOTO HANDLE_GETPATH HANDLE_GETPATH: SetSymbolValue "EditTextIn", WORKING_DEST$ SetSymbolValue "EditFocus", "END" sz$ = UIStartDlg (CUIDLL$, iType%, "FEditDlgProc", 0, "") IF sz$ = "OK" THEN olddest$ = WORKING_DEST$ WORKING_DEST$ = MakePath (LCASE$ (GetSymbolValue("EditTextOut")), "") ''Validate new path. IF (IsDirWritable (WORKING_DEST$) = 0) OR (INSTR(1, WORKING_DEST$, ".") <> 0) THEN GOSUB BADPATH WORKING_DEST$ = olddest$ GOTO HANDLE_GETPATH END IF UIPop 1 IF iType% = PROG_PATH THEN DEST$ = LCASE$(WORKING_DEST$) SetSymbolValue EXE_PATH$, DEST$ SetSymbolValue STR_PROG_PATH$, DEST$ PROGDRIVE$ = MID$ (DEST$, 1, 1) ELSEIF iType% = ART_PATH THEN DEST_ART$ = LCASE$( WORKING_DEST$ ) SetSymbolValue STR_CLIP_ART_PATH$, DEST_ART$ ARTDRIVE$ = MID$ (DEST_ART$, 1, 1) ELSEIF iType% = FILTERS_PATH THEN DEST_FILTERS$ = LCASE$( WORKING_DEST$ ) SetSymbolValue STR_FILTERS_PATH$, DEST_FILTERS$ FILTERSDRIVE$ = MID$ (DEST_FILTERS$, 1, 1) ENDIF '' Recalc if path changed. IF (olddest$ <> WORKING_DEST$) AND (olddest$ <> WORKING_DEST$+"\") AND (olddest$+"\" <> WORKING_DEST$) THEN SetDriveStatus END IF olddest$ = "" GOTO CUSTINST ELSEIF sz$ = "REACTIVATE" THEN SetDriveStatus GOTO HANDLE_GETPATH ELSEIF sz$ = "EXIT" THEN AskQuit GOTO HANDLE_GETPATH ELSE UIPop 1 olddest$ = "" GOTO CUSTINST END IF TOOBIG: sz$ = UIStartDlg(CUIDLL$, TOOBIG, "FInfo1DlgProc", 0, "") IF sz$ = "REACTIVATE" THEN SetDriveStatus GOTO TOOBIG END IF UIPop 1 RETURN BADPATH: sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "") IF sz$ = "REACTIVATE" THEN GOTO BADPATH END IF UIPop 1 RETURN SUB AskQuit STATIC ASKLOOP: sz$ = UIStartDlg(CUIDLL$, ASKQUITD, "FQuitDlgProc", 0, "") IF sz$ = "OK" THEN UIPop 1 ELSEIF sz$ = "REACTIVATE" THEN GOTO ASKLOOP ELSE UIPopAll HelpQuit (FrameWindow%) szDelFile$ = MakePath( GetSymbolValue("STF_CWDDIR"), "chklist.ms" ) RemoveFile szDelFile$, cmoNone i% = ReleaseCP END END IF END SUB SUB BuildCopyList STATIC CursorSave% = ShowWaitCursor() ClearCopyList SrcDir$ = GetSymbolValue("STF_SRCDIR") '' Get the installation drives. PROGDRIVE$ = MID$ (DEST$, 1, 1) ARTDRIVE$ = MID$ (DEST_ART$, 1, 1) FILTERSDRIVE$ = MID$ (DEST_FILTERS$, 1, 1) '' Convert the drive letters into integers nProgDrive% = ASC(ucase$(PROGDRIVE$)) - ASC("A") + 1 nArtDrive% = ASC(ucase$(ARTDRIVE$)) - ASC("A") + 1 nFiltersDrive% = ASC(ucase$(FILTERSDRIVE$)) - ASC("A") + 1 IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN AddSectionFilesToCopyList "appFiles", SrcDir$, DEST$ AddSectionFilesToCopyList "fltFiles", SrcDir$, DEST_FILTERS$ AddSectionFilesToCopyList "ccstyleFile", SrcDir$, WinDir$ AddSectionFilesToCopyList "sel", SrcDir$, DEST$ szCommDlgFile$ = MakePath(WinSysDir$, "COMMDLG.DLL") if IsDirWritable(WinSysDir$) = 1 then AddSectionFilesToCopyList "commDlg", SrcDir$, WinSysDir$ AddSectionFilesToCopyList "ver", SrcDir$, WinSysDir$ endif szCommDlgFile$ = MakePath(WinDir$, "COMMDLG.DLL") if (DoesFileExist(szCommDlgFile$, femExists) = 1) and (IsDirWritable(WinDir$) = 1) then AddSectionFilesToCopyList "commDlg", SrcDir$, WinDir$ endif endif IF GetSymbolValue (CHK_CLIP_ART$) = _ON$ THEN AddSectionFilesToCopyList "artHolidays", SrcDir$, DEST_ART$ ENDIF '' CALCULATE THE DISK COSTS StillNeed& = GetCopyListCost (EXTRACOSTS$, COSTLIST$, NEEDLIST$) RestoreCursor CursorSave% SetSymbolValue "DRIVE_ERROR", "@" IF StillNeed& > 0 THEN ReplaceListItem BIGLIST$, 1, _YES$ FOR i% = 1 to 26 STEP 1 if VAL (GetListItem (NEEDLIST$, i%)) > 0 then SetSymbolValue "DRIVE_ERROR", CHR$ (ASC("A") - 1 + i%) + ":" goto ESCAPE endif NEXT i% ESCAPE: ELSE ReplaceListItem BIGLIST$, 1, _NO$ ENDIF END SUB SUB SetDriveStatus STATIC CursorSave% = ShowWaitCursor() '' Convert the drive letters into integers nProgDrive% = ASC(ucase$(PROGDRIVE$)) - ASC("A") + 1 nArtDrive% = ASC(ucase$(ARTDRIVE$)) - ASC("A") + 1 nFiltersDrive% = ASC(ucase$(FILTERSDRIVE$)) - ASC("A") + 1 '' Update the screen for when all of the drives are the same '' Hide the ART and FILTERS status string windows IF (nProgDrive% = nArtDrive%) AND (nProgDrive% = nFiltersDrive%) THEN SetSymbolValue STR_REQ_CLIP_ART$, "" SetSymbolValue STR_REQ_FILTERS$, "" SetSymbolValue STR_AVAIL_ART$, "" SetSymbolValue STR_AVAIL_FILTERS$,"" '' Update the Program Space Required string cost& = 0 IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN cost& = cost& + VAL (PROG_COST$) + VAL (FILTERS_COST$) + VAL (SEL_COST$) ENDIF IF GetSymbolValue (CHK_CLIP_ART$) = _ON$ THEN cost& = cost& + VAL (ART_COST$) ENDIF szTemp$ = PROGDRIVE$ + ": " + MakeKb (STR$ (cost&)) + " Kb" SetSymbolValue STR_REQ_PROG$, szTemp$ SetSymbolValue STR_REQ_ART_DLG$, szTemp$ '' Update the Space Available (program) string free& = GetFreeSpaceForDrive (PROGDRIVE$) szTemp$ = PROGDRIVE$ + ": " + MakeKb (STR$ (free&)) + " Kb" SetSymbolValue STR_AVAIL_PROG$, szTemp$ SetSymbolValue STR_AVAIL_ART_DLG$, szTemp$ '' Hide the ART status info ELSEIF ((nProgDrive% = nArtDrive%) AND (nArtDrive% <> nFiltersDrive%)) THEN '' Take care of REQUIRED STRINGS ProgCost& = 0 IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN ProgCost& = ProgCost& + VAL (PROG_COST$) + VAL (SEL_COST$) ENDIF IF GetSymbolValue (CHK_CLIP_ART$) = _ON$ THEN cost& = cost& + VAL (ART_COST$) ENDIF szTemp$ = PROGDRIVE$ + ": " + MakeKb (STR$ (ProgCost&)) + " Kb" SetSymbolValue STR_REQ_PROG$, szTemp$ SetSymbolValue STR_REQ_ART_DLG$, szTemp$ FiltersCost& = 0 IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN FiltersCost& = VAL (FILTERS_COST$) ENDIF SetSymbolValue STR_REQ_CLIP_ART$, "" SetSymbolValue STR_REQ_FILTERS$, FILTERSDRIVE$ + ": " + MakeKb (STR$ (FiltersCost&)) + " Kb" '' Take care of FREE strings ProgFree& = GetFreeSpaceForDrive (PROGDRIVE$) szTemp$ = PROGDRIVE$ + ": " + MakeKb (STR$ (ProgFree&)) + " Kb" SetSymbolValue STR_AVAIL_PROG$, szTemp$ SetSymbolValue STR_AVAIL_ART_DLG$ , szTemp$ SetSymbolValue STR_AVAIL_ART$, "" FiltersFree& = GetFreeSpaceForDrive (FILTERSDRIVE$) SetSymbolValue STR_AVAIL_FILTERS$, FILTERSDRIVE$ + ": " + MakeKb (STR$ (FiltersFree&)) + " Kb" '' Hide the FILTERS status info ELSEIF ((nProgDrive% <> nArtDrive%) AND (nArtDrive% = nFiltersDrive%)) OR ((nProgDrive% <> nFiltersDrive%) AND (nArtDrive% = nFiltersDrive%)) OR ((nProgDrive% = nFiltersDrive%) AND (nArtDrive% <> nFiltersDrive%)) THEN '' Take care of REQUIRED strings ProgCost& = 0 IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN ProgCost& = ProgCost& + VAL (PROG_COST$) + VAL (FILTERS_COST$) + VAL (SEL_COST$) ENDIF szTemp$ = PROGDRIVE$ + ": " + MakeKb (STR$ (ProgCost&)) + " Kb" SetSymbolValue STR_REQ_PROG$, szTemp$ ArtCost& = 0 IF GetSymbolValue (CHK_CLIP_ART$) = _ON$ THEN ArtCost& = ArtCost& + VAL (ART_COST$) ENDIF IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN ArtCost& = ArtCost& + VAL (FILTERS_COST$) ENDIF szTemp$ = ARTDRIVE$ + ": " + MakeKb (STR$ (ArtCost&)) + " Kb" SetSymbolValue STR_REQ_CLIP_ART$, szTemp$ SetSymbolValue STR_REQ_ART_DLG$, szTemp$ SetSymbolValue STR_REQ_FILTERS$, "" '' Handle the FREE strings ProgFree& = GetFreeSpaceForDrive (PROGDRIVE$) szTemp$ = PROGDRIVE$ + ": " + MakeKb (STR$ (ProgFree&)) + " Kb" SetSymbolValue STR_AVAIL_PROG$, szTemp$ ArtFree& = GetFreeSpaceForDrive(ARTDRIVE$) szTemp$ = ARTDRIVE$ + ": " + MakeKb (STR$ (ArtFree&)) + " Kb" SetSymbolValue STR_AVAIL_ART$, szTemp$ SetSymbolValue STR_AVAIL_ART_DLG$, szTemp$ SetSymbolValue STR_AVAIL_FILTERS$, "" '' Show EVERYTHING ELSEIF (nProgDrive% <> nFiltersDrive%) AND (nProgDrive% <> nArtDrive%) THEN '' Deal with REQUIRED strings ProgCost& = 0 IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN ProgCost& = ProgCost& + VAL (PROG_COST$) + VAL (SEL_COST$) ENDIF szTemp$ = PROGDRIVE$ + ": " + MakeKb (STR$ (ProgCost&)) + " Kb" SetSymbolValue STR_REQ_PROG$, szTemp$ ArtCost& = 0 IF GetSymbolValue (CHK_CLIP_ART$) = _ON$ THEN ArtCost& = ArtCost& + VAL (ART_COST$) ENDIF szTemp$ = ARTDRIVE$ + ": " + MakeKb (STR$ (ArtCost&)) + " Kb" SetSymbolValue STR_REQ_CLIP_ART$, szTemp$ SetSymbolValue STR_REQ_ART_DLG$, szTemp$ FiltersCost& = 0 IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN FiltersCost& = FiltersCost& + VAL (FILTERS_COST$) ENDIF SetSymbolValue STR_REQ_FILTERS$, FILTERSDRIVE$ + ": " + MakeKb (STR$ (FiltersCost&)) + " Kb" '' Deal with FREE strings ProgFree& = GetFreeSpaceForDrive(PROGDRIVE$) szTemp$ = PROGDRIVE$ + ": " + MakeKb (STR$ (ProgFree&)) + " Kb" SetSymbolValue STR_AVAIL_PROG$, szTemp$ ArtFree& = GetFreeSpaceForDrive (ARTDRIVE$) szTemp$ = ARTDRIVE$ + ": " + MakeKb (STR$ (ArtFree&)) + " Kb" SetSymbolValue STR_AVAIL_ART$, szTemp$ SetSymbolValue STR_AVAIL_ART_DLG$, szTemp$ FiltersFree& = GetFreeSpaceForDrive (FILTERSDRIVE$) SetSymbolValue STR_AVAIL_FILTERS$, FILTERSDRIVE$ + ": " + MakeKb (STR$ (FiltersFree&)) + " Kb" END IF '' The Lower status strings IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN SetSymbolValue STR_REQ_PROG2$, MakeKb (STR$ ((VAL (PROG_COST$) + VAL (FILTERS_COST$) + VAL (SEL_COST$)))) + " Kb" ELSE SetSymbolValue STR_REQ_PROG2$, "0 Kb" ENDIF IF GetSymbolValue (CHK_CLIP_ART$) = _ON$ THEN SetSymbolValue STR_REQ_CLIP_ART2$, MakeKb (STR$ (VAL (ART_COST$))) + " Kb" ELSE SetSymbolValue STR_REQ_CLIP_ART2$, "0 Kb" ENDIF RestoreCursor CursorSave% END SUB FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING IF szDir$ = "" THEN szTemp$ = szFile$ ELSEIF szFile$ = "" THEN szTemp$ = szDir$ ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN szTemp$ = szDir$ + szFile$ ELSE szTemp$ = szDir$ + "\" + szFile$ END IF if szTemp$ <> "" then if MID$( szTemp$, LEN( szTemp$ ), 1 ) = "\" then szTemp$ = MID$( szTemp$, 1, LEN( szTemp$ ) - 1 ) endif IF MID$(szTemp$, LEN(szTemp$), 1) = ":" THEN szTemp$ = szTemp$ + "\" ENDIF endif MakePath = szTemp$ END FUNCTION INSTALL: '' Create the necessary directories IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN CreateDir DEST$, cmoNone CreateDir DEST_FILTERS$, cmoNone ENDIF IF GetSymbolValue (CHK_CLIP_ART$) = _ON$ THEN CreateDir DEST_ART$, cmoNone ENDIF CopyFilesInCopyList '' PMGRPAPI.DLL DDE conflicts with MSSETUP'S. Make sure the PMGRPAPI.DLL '' begins a conversation before or after MSSETUP's '' DON'T delete PowerAlbum icon (Instant Calendar doesn't have PA) '' IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN '' CursorSave% = ShowWaitCursor () '' DeleteOldIcons '' call PMGRPAPI.DLL to delete PowerAlbum 1.02 icon '' RestoreCursor CursorSave% '' endif DoIniStuff DoIconStuff CheckWin30 GetUserInfo GOTO QUIT 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 HelpQuit (FrameWindow%) i% = ReleaseCP END ERRQUIT: i% = DoMsgBox("Setup sources were corrupted, you may have a faulty diskette.", _SETUP_TITLE$, MB_OK+B_TASKMODAL+MB_ICONHAND) HelpQuit (FrameWindow%) szDelFile$ = MakePath( GetSymbolValue("STF_CWDDIR"), "chklist.ms" ) RemoveFile szDelFile$, cmoNone i% = ReleaseCP END SUB GetFileCosts STATIC if fc% = 0 then fc% = 1 CursorSave% = ShowWaitCursor () SrcDir$ = GetSymbolValue("STF_SRCDIR") '' Get the cost of PROGRAM files ClearCopyList AddSectionFilesToCopyList "appFiles", SrcDir$, WinDir$ AddSectionFilesToCopyList "setup", SrcDir$, WinDir$ i% = GetCopyListCost (EXTRACOSTS$, COSTLIST$, NEEDLIST$) PROG_COST$ = GetListItem (COSTLIST$, nWinDrive%) '' Get the cost of the STANDARD EVENT LISTS ClearCopyList AddSectionFilesToCopyList "sel", SrcDir$, WinDir$ i% = GetCopyListCost (EXTRACOSTS$, COSTLIST$, NEEDLIST$) SEL_COST$ = GetListItem (COSTLIST$, nWinDrive%) '' Get the cost of FILTER files ClearCopyList AddSectionFilesToCopyList "fltFiles", SrcDir$, WinDir$ i% = GetCopyListCost (EXTRACOSTS$, COSTLIST$, NEEDLIST$) FILTERS_COST$ = GetListItem (COSTLIST$, nWinDrive%) '' Get the cost of ART files ClearCopyList AddSectionFilesToCopyList "artHolidays", SrcDir$, WinDir$ i% = GetCopyListCost (EXTRACOSTS$, COSTLIST$, NEEDLIST$) ART_COST$ = GetListItem (COSTLIST$, nWinDrive%) TotalSpcFree& = GetTotalSpcFree RestoreCursor CursorSave% endif END SUB FUNCTION MakeKb (szStr$) STATIC AS STRING i% = MakeKbString (szStr$) MakeKb = szStr$ END FUNCTION FUNCTION GetTotalSpcFree STATIC AS LONG GetTotalSpcFree = GetFreeSpaceForDrive (PROGDRIVE$) + GetFreeSpaceForDrive (ARTDRIVE$) + GetFreeSpaceForDrive (FILTERSDRIVE$) END FUNCTION SUB OpenWaitMessage (AMsg%) STATIC OldCursor% = ShowWaitCursor() sz$ = UIStartDlg (CUIDLL$, AMsg%, "FModelessDlgProc", 0, "") END SUB SUB CloseWaitMessage STATIC RestoreCursor OldCursor% UIPop 1 END SUB SUB CheckWin30 STATIC WinIni$ = MakePath(GetWindowsDir, "WIN.INI") szTrueTypeEnabled$ = GetIniKeyString (WinIni$, "TrueType", "TTEnable") if (GetWindowsMajorVersion () = 3) and (GetWindowsMinorVersion () = 0) or (szTrueTypeEnabled$ = "0") then LOOP_UP: sz$ = UIStartDlg(CUIDLL$, WARN_WIN30, "FRadioDlgProc", 0, "") if sz$ = "REACTIVATE" or sz$ = "Option1" or sz$ = "Option2" or sz$ = "Option3" or sz$ = "Option4" or sz$ = "Option5" then GOTO LOOP_UP endif UIPop 1 szResult$ = GetSymbolValue ("FontOption") if szResult$ = "Option1" then '' ATM CreateIniKeyValue ini$, "Aliases", "Roman", "TimesNewRomanPS", cmoNone CreateIniKeyValue ini$, "Aliases", "Modern", "Arial MT", cmoNone elseif szResult$ = "Option2" then '' FaceLift 2.0 CreateIniKeyValue ini$, "Aliases", "Roman", "Dutch801 Rm BT", cmoNone CreateIniKeyValue ini$, "Aliases", "Modern", "Swis721 BT", cmoNone elseif szResult$ = "Option3" then '' FaceLift 1.0 CreateIniKeyValue ini$, "Aliases", "Roman", "Dutch801 BT", cmoNone CreateIniKeyValue ini$, "Aliases", "Modern", "Swis721 BT", cmoNone elseif szResult$ = "Option4" then '' MoreFonts MfIni$ = MakePath(GetWindowsDir, "MF.INI") Pre$ = "A" Changer$ = "A" Post$ = "001AAA.WNW" MF_LOOP: Font$ = GetIniKeyString (MfIni$, "Fonts", Pre$+Changer$+Post$) if Font$ = "" then goto OH_WELL endif if (INSTR (Font$, "Geneva") > 0 ) AND (INSTR (Font$, "Scal") > 0) then CreateIniKeyValue ini$, "Aliases", "Roman", "Tiempo (WN/Scal)", cmoNone CreateIniKeyValue ini$, "Aliases", "Modern","Geneva (WN/Scal)", cmoNone goto END_MF elseif (INSTR (Font$, "Geneva") > 0 ) AND (INSTR (Font$, "(WN)") > 0) then CreateIniKeyValue ini$, "Aliases", "Roman", "Tiempo (WN)", cmoNone CreateIniKeyValue ini$, "Aliases", "Modern","Geneva (WN)", cmoNone goto END_MF else Changer$ = STR$ (VAL (Changer$) + 1) goto MF_LOOP endif OH_WELL: CreateIniKeyValue ini$, "Aliases", "Roman", "Tiempo (WN)", cmoNone CreateIniKeyValue ini$, "Aliases", "Modern","Geneva (WN)", cmoNone END_MF: else OTHER_FONT: sz$ = UIStartDlg(CUIDLL$, WARN_OTHER_FM, "FInfo0DlgProc", 0, "") IF sz$ = "REACTIVATE" THEN GOTO OTHER_FONT END IF UIPop 1 endif '' TrueType is enabled else CreateIniKeyValue ini$, "Aliases", "Roman", "Times New Roman", cmoNone CreateIniKeyValue ini$, "Aliases", "Modern", "Arial", cmoNone endif END SUB SUB DoIniStuff STATIC OpenWaitMessage (INI_ENTRIES) WinIniFile$ = MakePath(GetWindowsDir, "WIN.INI") IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN '' WIN.INI entry for POWERUP.INI location CreateIniKeyValue WinIniFile$, "PowerUp", "PowerUp", UCASE$ (ini$), cmoOverwrite '' WIN.INI entries for CCW files (.CCE and .CCW) CreateIniKeyValue WinIniFile$, "Extensions", "cce", UCASE$ (MakePath (DEST$, "ccwin.exe ^.cce")), cmoOverwrite CreateIniKeyValue WinIniFile$, "Extensions", "ccw", UCASE$ (MakePath (DEST$, "ccwin.exe ^.ccw")), cmoOverwrite CreateIniKeyValue ini$, _GRAPH_INI$, "Path", UCASE$ (DEST_FILTERS$), cmoOverwrite '' Handle Graphics Filters Entry -- this will affect TextAppeal '' create filter entries *unconditionally* for Instant Calendar 1.0 CreateIniKeyValue ini$, _GRAPH_INI$, "Filter1", "All graphics,*.BMP;*.CGM;*.DRW;*.EPI;*.PCX;*.TIF;*.WMF", cmoOverwrite CreateIniKeyValue ini$, _GRAPH_INI$, "Filter2", "Bitmap (*.bmp),*.BMP,IRBMP,BITMAP", cmoOverwrite CreateIniKeyValue ini$, _GRAPH_INI$, "Filter3", "CGM (*.cgm),*.CGM,IMCGM,METAFILE", cmoOverwrite CreateIniKeyValue ini$, _GRAPH_INI$, "Filter4", "Micrografx (*.drw),*.DRW,IMDRW,METAFILE", cmoOverwrite CreateIniKeyValue ini$, _GRAPH_INI$, "Filter5", "Text Effects (*.epi),*.EPI,IRTIF,BITMAP", cmoOverwrite CreateIniKeyValue ini$, _GRAPH_INI$, "Filter6", "PC Paint (*.pcx),*.PCX,IRPCX,BITMAP", cmoOverwrite CreateIniKeyValue ini$, _GRAPH_INI$, "Filter7", "TIFF (*.tif),*.TIF,IRTIF,BITMAP", cmoOverwrite CreateIniKeyValue ini$, _GRAPH_INI$, "Filter8", "Windows Metafile (*.wmf),*.WMF,IMWMF,METAFILE", cmoOverwrite CreateIniKeyValue ini$, _CCW$, "AutoSave", "0", cmoNone CreateIniKeyValue ini$, _CCW$, "AutoSaveSpan", "15", cmoNone CreateIniKeyValue ini$, _CCW$, "AutoUpdate", "0", cmoNone CreateIniKeyValue ini$, _CCW$, "ClipboardFormats", "2", cmoNone CreateIniKeyValue ini$, _CCW$, "ColumnWidthTestString", "NNNNNN", cmoNone CreateIniKeyValue ini$, _CCW$, "DefaultPriority", "*", cmoNone CreateIniKeyValue ini$, _CCW$, "DefaultStyle", "Normal", cmoNone CreateIniKeyValue ini$, _CCW$, "DefaultWorkspacePath", UCASE$ (WinDir$), cmoNone CreateIniKeyValue ini$, _CCW$, "DisplayUpdateDlg", "Y", cmoNone CreateIniKeyValue ini$, _CCW$, "EventListPath", UCASE$ (DEST$), cmoNone CreateIniKeyValue ini$, _CCW$, "EventMarginX", "1", cmoNone CreateIniKeyValue ini$, _CCW$, "EventMarginY", "1", cmoNone CreateIniKeyValue ini$, _CCW$, "EXPORT1", """CCPlus DOS 4.0 (.cal)"" CCNV-CAL.DLL *.cal", cmoOverwrite CreateIniKeyValue ini$, _CCW$, "EXPORT2", """CCPlus DOS 5.0 (.cal)"" CCNV-CAL.DLL *.cal", cmoOverwrite CreateIniKeyValue ini$, _CCW$, "EXPORT3" ,"""Comma Delimited (.csv)"" CCNV-CSV.DLL *.csv", cmoOverwrite CreateIniKeyValue ini$, _CCW$, "EXPORT4" ,"""DOS Comma Delimited (.csv)"" CCNV-CSV.DLL *.csv", cmoOverwrite CreateIniKeyValue ini$, _CCW$, "EXPORTNUM", "4", cmoOverwrite CreateIniKeyValue ini$, _CCW$, "GraphicsPath", UCASE$ (DEST_ART$), cmoOverwrite CreateIniKeyValue ini$, _CCW$, "HyphenZone", "30", cmoNone CreateIniKeyValue ini$, _CCW$, "IMPORT1", """CCPlus DOS (.cal)"" CCNV-CAL.DLL *.cal", cmoOverwrite CreateIniKeyValue ini$, _CCW$, "IMPORT2", """Lotus 1-2-3 (.wks,.wk1)"" CCNV-WKS.DLL *.wks;*.wk1", cmoOverwrite CreateIniKeyValue ini$, _CCW$, "IMPORT3", """dBase III, IV (.dbf)"" CCNV-DBF.DLL *.dbf", cmoOverwrite CreateIniKeyValue ini$, _CCW$, "IMPORT4", """Columnar ASCII (*.*)"" CCNV-COL.DLL *.*", cmoOverwrite CreateIniKeyValue ini$, _CCW$, "IMPORT5", """Comma Delimited (.csv)"" CCNV-CSV.DLL *.csv", cmoOverwrite CreateIniKeyValue ini$, _CCW$, "IMPORT6", """DOS Columnar ASCII (*.*) "" CCNV-COL.DLL *.*", cmoOverwrite CreateIniKeyValue ini$, _CCW$, "IMPORT7", """DOS Comma Delimited (.csv)"" CCNV-CSV.DLL *.csv", cmoOverwrite CreateIniKeyValue ini$, _CCW$, "IMPORTNUM", "7", cmoOverwrite CreateIniKeyValue ini$, _CCW$, "LastYear", "2000", cmoNone CreateIniKeyValue ini$, _CCW$, "MarkListsWithNotes", "1", cmoNone CreateIniKeyValue ini$, _CCW$, "MinWordLength", "7", cmoNone CreateIniKeyValue ini$, _CCW$, "PrintPreview", "0", cmoNone CreateIniKeyValue ini$, _CCW$, "ProgramPath", UCASE$ (DEST$), cmoOverwrite CreateIniKeyValue ini$, _CCW$, "ScreenRes", "0", cmoNone CreateIniKeyValue ini$, _CCW$, "SecondLineIndentPercent", "8", cmoNone CreateIniKeyValue ini$, _CCW$, "StylesPath", UCASE$ (WinDir$), cmoNone CreateIniKeyValue ini$, _CCW$, "UpdateSpan", "15", cmoNone CreateIniKeyValue ini$, _CCW$, "WorkspacePath", UCASE$ (DEST$), cmoNone '' CCW *creates* the critical Stock0 entry if none, so check for Stock1 if GetIniKeyString (ini$, _CPS$, "Stock1") = "" then CreateIniKeyValue ini$, _CPS$, "Stock0", "Letter - 8.5 x 11,C,P,0.00,0.00,11.00,8.50,1, 1,11.00,8.50,0.75,0.50,0.75,0.50,I", cmoOverwrite CreateIniKeyValue ini$, _CPS$, "Stock1", "Legal - 8.5 x 14,C,P,0.00,0.00,14.00,8.50,1, 1,14.00,8.50,0.50,0.50,0.75,0.50,I", cmoOverwrite CreateIniKeyValue ini$, _CPS$, "Stock2", "Wide - 14 x 11,T,P,0.00,0.00,11.00,14.00,1, 1,11.00,14.00,0.50,0.50,0.75,0.50,I", cmoOverwrite CreateIniKeyValue ini$, _CPS$, "Stock3", "Pocket - 3.75 x 6.75,C,P,0.00,0.00,6.75,3.75,1, 1,6.75,3.75,0.50,0.35,0.63,0.35,I", cmoOverwrite CreateIniKeyValue ini$, _CPS$, "Stock4", "Organizer - 5.5 x 8.5,C,P,0.00,0.00,8.50,5.50,1, 1,8.50,5.50,0.50,0.35,0.63,0.35,I", cmoOverwrite CreateIniKeyValue ini$, _CPS$, "Stock5", "Two/page - 8.5 x 5.5,C,P,0.00,0.00,5.50,8.50,1, 2,11.00,8.50,0.35,0.63,0.35,0.35,I", cmoOverwrite CreateIniKeyValue ini$, _CPS$, "Stock6", "Three/page - 6.75 x 3.66,C,P,0.00,0.00,3.66,6.75,1, 3,11.00,8.50,0.41,0.35,0.35,0.35,I", cmoOverwrite CreateIniKeyValue ini$, _CPS$, "Stock7", "Four/page - 4.25 x 5.5,C,P,0.00,0.00,5.50,4.25,2, 2,11.00,8.50,0.41,0.35,0.41,0.35,I", cmoOverwrite CreateIniKeyValue ini$, _CPS$, "Stock8", "InstaBook - 2/page,C,P,0.00,0.00,5.50,8.50,1, 2,11.00,8.50,0.35,0.63,0.35,0.35,I", cmoOverwrite CreateIniKeyValue ini$, _CPS$, "Stock9", "InstaBook - 4/page,C,P,0.00,0.00,5.50,4.25,2, 2,11.00,8.50,0.35,0.50,0.35,0.35,I", cmoOverwrite CreateIniKeyValue ini$, _CPS$, "Stock10", "InstaBook - 12/page,C,P,0.00,0.00,3.66,2.12,4, 3,11.00,8.50,0.35,0.40,0.35,0.35,I", cmoOverwrite CreateIniKeyValue ini$, _CPS$, "Stock11", "A3 - 29.7 x 42 cm,C,P,0.00,0.00,42.00,29.70,1, 1,42.00,29.70,1.20,1.20,1.60,1.20,M", cmoOverwrite CreateIniKeyValue ini$, _CPS$, "Stock12", "A4 - 21 x 29.7 cm,C,P,0.00,0.00,29.70,21.00,1, 1,29.70,21.00,1.20,1.20,1.60,1.20,M", cmoOverwrite CreateIniKeyValue ini$, _CPS$, "Stock13", "A5 - 14.8 x 21 cm,C,P,0.00,0.00,21.00,14.80,1, 1,21.00,14.80,1.20,1.20,1.60,1.20,M", cmoOverwrite CreateIniKeyValue ini$, _CPS$, "Stock14", "A4 InstaBook - 2/page,C,P,0.00,0.00,14.85,21.00,1, 2,29.70,21.00,0.75,1.00,0.75,0.75,M", cmoOverwrite CreateIniKeyValue ini$, _CPS$, "Stock15", "A4 InstaBook - 4/page,C,P,0.00,0.00,14.85,10.48,2, 2,29.70,21.00,0.75,1.00,0.75,0.75,M", cmoOverwrite CreateIniKeyValue ini$, _CPS$, "Stock16", "A4 InstaBook - 12/page,C,P,0.00,0.00,9.90,5.23,4, 3,29.70,21.00,0.75,1.00,0.75,0.75,M", cmoOverwrite CreateIniKeyValue ini$, _CPS$, "Stock17", "Power Up M0030 - 8.5 x 5.5,C,P,0.00,0.00,5.50,8.50,1, 2,11.00,8.50,0.35,0.35,0.35,0.35,I", cmoOverwrite CreateIniKeyValue ini$, _CPS$, "Stock18", "Power Up M0040 - 2.5 x 4.5,C,P,0.00,0.00,4.50,2.50,3, 2,11.00,8.50,0.35,0.35,0.35,0.35,I", cmoOverwrite CreateIniKeyValue ini$, _CPS$, "Stock19", "Power Up M0401 - 3.75 x 6.75,T,P,0.88,0.00,6.75,3.75,1, 1,8.50,3.75,0.50,0.35,0.56,0.35,I", cmoOverwrite CreateIniKeyValue ini$, _CPS$, "Stock20", "Power Up M0402 - 5.5 x 8.5,T,P,0.00,0.00,8.50,5.50,1, 1,8.50,5.50,0.50,0.35,0.66,0.35,I", cmoOverwrite CreateIniKeyValue ini$, _CPS$, "Stock21", "Power Up M0701 - 3.75 x 6.75,C,P,0.00,0.00,6.75,3.75,2, 1,11.00,8.50,0.50,0.35,0.56,0.35,I", cmoOverwrite CreateIniKeyValue ini$, _CPS$, "Stock22", "Power Up M0702 - 5.5 x 8.5,C,P,0.00,0.00,8.50,5.50,1, 1,11.00,8.50,0.50,0.35,0.66,0.35,I", cmoOverwrite CreateIniKeyValue ini$, _CPS$, "Stock23", "DiscoverSoft - 5.5 x 8.5,C,P,0.00,1.50,8.50,5.50,1, 1,11.00,8.50,0.50,0.35,0.63,0.35,I", cmoOverwrite endif ''CreateIniKeyValue ini$, _CCPO$, "Binding", "side", cmoNone ''CreateIniKeyValue ini$, _CCPO$, "BlanksAfter", "0", cmoNone ''CreateIniKeyValue ini$, _CCPO$, "BlanksBefore", "0", cmoNone ''CreateIniKeyValue ini$, _CCPO$, "ColumnOrder", _NO$, cmoNone CreateIniKeyValue ini$, _CCPO$, "Copies", "1", cmoNone ''CreateIniKeyValue ini$, _CCPO$, "Duplex", "Ordered", cmoNone CreateIniKeyValue ini$, _CCPO$, "FudgeX", "0", cmoNone CreateIniKeyValue ini$, _CCPO$, "FudgeY", "0", cmoNone ''CreateIniKeyValue ini$, _CCPO$, "InputTray", "up", cmoNone ''CreateIniKeyValue ini$, _CCPO$, "LandscapeRotate", "left", cmoNone ''CreateIniKeyValue ini$, _CCPO$, "ManualFeed", "side", cmoNone ''CreateIniKeyValue ini$, _CCPO$, "OutputTray", "down", cmoNone ''CreateIniKeyValue ini$, _CCPO$, "PaperHead", "in", cmoNone CreateIniKeyValue ini$, _CCPO$, "PrintBW", _YES$, cmoNone ''CreateIniKeyValue ini$, _CCPO$, "Type", "simplex", cmoNone CreateIniKeyValue ini$, _CCPO$, "Units", "1", cmoNone CreateIniKeyValue ini$, "SHOWPICT", "Path", UCASE$ (DEST$), cmoOverwrite CreateIniKeyValue ini$, "ART", "Path", UCASE$ (DEST_ART$), cmoOverwrite ENDIF CloseWaitMessage '' "Creating INI entries..." END SUB SUB DoIconStuff STATIC _POWERUP$ = "Power Up!" IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN CreateProgmanGroup _POWERUP$, "", cmoNone ShowProgmanGroup _POWERUP$, 1, cmoNone CreateProgmanItem _POWERUP$, "Instant Calendar", MakePath (DEST$,"ccwin.exe"), "", cmoOverwrite CreateProgmanItem _POWERUP$, "Read Me", MakePath (DEST$,"readme.txt"), "", cmoOverwrite ENDIF END SUB SUB GetUserInfo STATIC '' Get the PowerUp.ini entries if present szUserName$ = GetIniKeyString (ini$, "USER INFO", "UserName") szCompany$ = GetIniKeyString (ini$, "USER INFO", "CompanyName") if (szUserName$ <> "") and (szCompany$ <> "") then goto END_INFO endif if (szUserName$ <> "") and (szCompany$ <> "") then CreateIniKeyValue ini$, "USER INFO", "UserName", szUserName$, cmoOverwrite CreateIniKeyValue ini$, "USER INFO", "CompanyName", szCompany$, cmoOverwrite goto END_INFO endif SetSymbolValue NAME_STR$, szUserName$ SetSymbolValue ORG_STR$, szCompany$ GET_USER_INFO_LOOP: sz$ = UIStartDlg (CUIDLL$, GETINFO, "FNameOrgDlgProc", 0, "") IF sz$ = "REACTIVATE" THEN GOTO GET_USER_INFO_LOOP ELSEIF sz$ = "OK" THEN CreateIniKeyValue ini$, "USER INFO", "UserName", GetSymbolValue (NAME_STR$), cmoOverwrite CreateIniKeyValue ini$, "USER INFO", "CompanyName", GetSymbolValue (ORG_STR$), cmoOverwrite ENDIF UIPop 1 END_INFO: END SUB '$INCLUDE 'init.inc'