home *** CD-ROM | disk | FTP | other *** search
- '**************************************************************************
- '* MSSetup Toolkit ALL
- '**************************************************************************
-
- '$DEFINE DEBUG ''Define for script development/debugging
-
- '$INCLUDE 'setupapi.inc'
- '$INCLUDE 'msdetect.inc'
-
- ''Dialog ID's
- CONST WELCOME = 100
- CONST GETBUBDIR = 101
- CONST GETSPELLDIR = 102
- CONST GETLOCKDIR = 103
- CONST INSTALLED = 200
- CONST ASKQUIT = 300
- CONST DESTPATH = 400
- CONST EXITFAILURE = 500
- CONST EXITQUIT = 600
- CONST EXITSUCCESS = 700
- CONST OPTIONS = 800
- CONST APPHELP = 900
-
- ''Bitmap ID
- CONST LOGO = 1
-
- GLOBAL BUBEXEDEST$ ''Default destination directory.
- GLOBAL SPELLEXEDEST$ ''Default destination directory.
- GLOBAL LOCKEXEDEST$ ''Default destination directory.
- GLOBAL DLLDEST$ ''Default destination directory.
- GLOBAL WRIDEST$ ''Default destination directory.
- GLOBAL OPTCUR$ ''Option selection from option dialog.
-
- GLOBAL BUBOPT$
- GLOBAL SPELLOPT$
- GLOBAL LOCKOPT$
-
- DECLARE SUB InstallBubbleHelp
- DECLARE SUB InstallSpellWrite
- DECLARE SUB InstallFutureLock
-
- DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
-
-
- INIT:
- CUIDLL$ = "mscuistf.dll" ''Custom user interface dll
- HELPPROC$ = "FHelpDlgProc" ''Help dialog procedure
-
- SetBitmap CUIDLL$, LOGO
- SetTitle "Setup"
-
- szInf$ = GetSymbolValue("STF_SRCINFPATH")
- IF szInf$ = "" THEN
- szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
- END IF
- ReadInfFile szInf$
-
- OPTCUR$ = "1"
- BUBEXEDEST$ = GetWindowsDir() + "FUTURE\BUBBLE"
- SPELLEXEDEST$ = GetWindowsDir() + "FUTURE\SPELLWRI"
- LOCKEXEDEST$ = GetWindowsDir() + "FUTURE\LOCK"
- DLLDEST$ = GetWindowsSysDir()
- WRIDEST$ = GetWindowsDir()
-
- WELCOME:
- sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
-
- BUBOPT$ = GetSymbolValue("BubButtonChecked")
- SPELLOPT$ = GetSymbolValue("SpellButtonChecked")
- LOCKOPT$ = GetSymbolValue("LockButtonChecked")
-
- IF sz$ = "CONTINUE" THEN
- UIPop 1
- ELSE
- GOSUB ASKQUIT
- GOTO WELCOME
- ENDIF
-
- SrcDir$ = GetSymbolValue("STF_SRCDIR")
- AddSectionFilesToCopyList "CommonDLL", SrcDir$, DLLDEST$
- AddSectionFilesToCopyList "CommonWRI", SrcDir$, WRIDEST$
- CopyFilesInCopyList
- ResetCopyList
- CreateProgmanGroup "Future", "", cmoNone
- ShowProgmanGroup "Future", 1, cmoNone
- CreateProgmanItem "Future", "Registration Form", WRIDEST$ + "future.wri", "", cmoOverwrite
-
- IF BUBOPT$ = "YES" THEN
- GOSUB GETBUBDIR
- ENDIF
-
- IF SPELLOPT$ = "YES" THEN
- GOSUB GETSPELLDIR
- ENDIF
-
- IF LOCKOPT$ = "YES" THEN
- GOSUB GETLOCKDIR
- ENDIF
-
- QUIT:
- ON ERROR GOTO ERRQUIT
-
- IF ERR = 0 THEN
- dlg% = EXITSUCCESS
- ELSEIF ERR = STFQUIT THEN
- dlg% = EXITQUIT
- ELSE
- dlg% = EXITFAILURE
- END IF
- QUITL1:
-
- END
-
- ERRQUIT:
- i% = DoMsgBox("Setup sources were corrupted, call Technical Support on 091-4910500!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
- END
-
-
-
- ASKQUIT:
- sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", APPHELP, "")
-
- IF sz$ = "EXIT" THEN
- UIPopAll
- ERROR STFQUIT
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO ASKQUIT
- ELSE
- UIPop 1
- END IF
- RETURN
-
- GETBUBDIR:
-
- SetSymbolValue "EditTextIn", BUBEXEDEST$
- sz$ = UIStartDlg(CUIDLL$, GETBUBDIR, "BubbleHelpProc", APPHELP, HELPPROC$)
- BUBEXEDEST$ = GetSymbolValue("EditTextOut")
-
- IF sz$ = "CONTINUE" THEN
-
- UIPop 1
-
- drive$ = MID$(BUBEXEDEST$, 1, 1)
- free& = GetFreeSpaceForDrive(drive$)
-
- IF free& > 1100000 THEN
-
- InstallBubbleHelp
-
- ELSE
-
- i% = DoMsgBox("Insufficient disk space for installation, 1.1MB required.", "Warning", MB_OK+MB_TASKMODAL+MB_ICONHAND)
- GOTO QUITL1
-
- ENDIF
-
- ELSE
-
- GOSUB ASKQUIT
- GOTO GETBUBDIR
-
- ENDIF
-
- RETURN
-
- GETSPELLDIR:
-
- SetSymbolValue "EditTextIn", SPELLEXEDEST$
- sz$ = UIStartDlg(CUIDLL$, GETSPELLDIR, "SpellWriteProc", APPHELP, HELPPROC$)
- SPELLEXEDEST$ = GetSymbolValue("EditTextOut")
-
- IF sz$ = "CONTINUE" THEN
-
- UIPop 1
-
- drive$ = MID$(SPELLEXEDEST$, 1, 1)
- free& = GetFreeSpaceForDrive(drive$)
-
- IF free& > 1000000 THEN
-
- InstallSpellWrite
-
- ELSE
-
- i% = DoMsgBox("Insufficient disk space for installation, 1MB required.", "Warning", MB_OK+MB_TASKMODAL+MB_ICONHAND)
- GOTO QUITL1
-
- ENDIF
-
- ELSE
-
- GOSUB ASKQUIT
- GOTO GETSPELLDIR
-
- ENDIF
-
- RETURN
-
- GETLOCKDIR:
-
- SetSymbolValue "EditTextIn", LOCKEXEDEST$
- sz$ = UIStartDlg(CUIDLL$, GETLOCKDIR, "FutureLockProc", APPHELP, HELPPROC$)
- LOCKEXEDEST$ = GetSymbolValue("EditTextOut")
-
- IF sz$ = "CONTINUE" THEN
-
- UIPop 1
-
- drive$ = MID$(LOCKEXEDEST$, 1, 1)
- free& = GetFreeSpaceForDrive(drive$)
-
- IF free& > 500000 THEN
-
- InstallFutureLock
-
- ELSE
-
- i% = DoMsgBox("Insufficient disk space for installation, 500k required.", "Warning", MB_OK+MB_TASKMODAL+MB_ICONHAND)
- GOTO QUITL1
-
- ENDIF
-
- ELSE
-
- GOSUB ASKQUIT
- GOTO GETLOCKDIR
-
- ENDIF
-
- RETURN
-
- '**********************************
- '** **
- '** BUBBLEHELP INSTALLATION **
- '** **
- '**********************************
-
- SUB InstallBubbleHelp STATIC
-
- SrcDir$ = GetSymbolValue("STF_SRCDIR")
- CreateDir BUBEXEDEST$, cmoNone
- ResetCopyList
- AddSectionFilesToCopyList "BubbleEXE", SrcDir$ + "BUBBLE", BUBEXEDEST$
- AddSectionFilesToCopyList "BubbleDLL", SrcDir$ + "BUBBLE", DLLDEST$
- CopyFilesInCopyList
-
- ini$ = MakePath(GetWindowsDir(), "FUTURE.INI")
- CreateProgmanGroup "Future", "", cmoNone
- ShowProgmanGroup "Future", 1, cmoNone
- CreateProgmanItem "Future", "BubbleHelp", BUBEXEDEST$ + "\bubble.exe", "", cmoOverwrite
- CreateProgmanItem "Startup", "BubbleHelp", BUBEXEDEST$ + "\bubble.exe", "", cmoOverwrite
-
- ' Add bubble help files in ini
-
- CreateIniKeyValue ini$, "BubbleHelp", "ShowStartup", "0", cmoOverwrite
- CreateIniKeyValue ini$, "BubbleHelp", "path", BUBEXEDEST$, cmoOverwrite
-
- CreateIniKeyValue ini$, "BubbleHelp", "MSWRITE_MENU", BUBEXEDEST$ + "\WRITEBUB.HLP", cmoOverwrite
- CreateIniKeyValue ini$, "BubbleHelp", "pbParent", BUBEXEDEST$ + "\PBRUSBUB.HLP", cmoOverwrite
- CreateIniKeyValue ini$, "BubbleHelp", "Notepad", BUBEXEDEST$ + "\NOTEPBUB.HLP", cmoOverwrite
- CreateIniKeyValue ini$, "BubbleHelp", "Clock", BUBEXEDEST$ + "\CLOCKBUB.HLP", cmoOverwrite
- CreateIniKeyValue ini$, "BubbleHelp", "Progman", BUBEXEDEST$ + "\PROGMBUB.HLP", cmoOverwrite
- CreateIniKeyValue ini$, "BubbleHelp", "#32769", BUBEXEDEST$ + "\DESKTBUB.HLP", cmoOverwrite
- CreateIniKeyValue ini$, "BubbleHelp", "tty", BUBEXEDEST$ + "\DOSBUB.HLP", cmoOverwrite
- CreateIniKeyValue ini$, "BubbleHelp", "CalWndMain", BUBEXEDEST$ + "\CALENBUB.HLP", cmoOverwrite
- CreateIniKeyValue ini$, "BubbleHelp", "Cardfile", BUBEXEDEST$ + "\CARDFBUB.HLP", cmoOverwrite
- CreateIniKeyValue ini$, "BubbleHelp", "Recorder", BUBEXEDEST$ + "\RECORBUB.HLP", cmoOverwrite
- CreateIniKeyValue ini$, "BubbleHelp", "Terminal", BUBEXEDEST$ + "\TERMIBUB.HLP", cmoOverwrite
- CreateIniKeyValue ini$, "BubbleHelp", "AppClass", BUBEXEDEST$ + "\PACKABUB.HLP", cmoOverwrite
- CreateIniKeyValue ini$, "BubbleHelp", "MPlayer", BUBEXEDEST$ + "\MPLAYBUB.HLP", cmoOverwrite
- CreateIniKeyValue ini$, "BubbleHelp", "SoundRec", BUBEXEDEST$ + "\SOUNDBUB.HLP", cmoOverwrite
- CreateIniKeyValue ini$, "BubbleHelp", "SciCalc", BUBEXEDEST$ + "\CALCBUB.HLP", cmoOverwrite
- CreateIniKeyValue ini$, "BubbleHelp", "CtlPanelClass", BUBEXEDEST$ + "\CONTRBUB.HLP", cmoOverwrite
- CreateIniKeyValue ini$, "BubbleHelp", "Pif", BUBEXEDEST$ + "\PIFEDBUB.HLP", cmoOverwrite
- CreateIniKeyValue ini$, "BubbleHelp", "Solitaire", BUBEXEDEST$ + "\SOLBUB.HLP", cmoOverwrite
- CreateIniKeyValue ini$, "BubbleHelp", "Minesweeper", BUBEXEDEST$ + "\WINMIBUB.HLP", cmoOverwrite
- CreateIniKeyValue ini$, "BubbleHelp", "#32770", BUBEXEDEST$ + "\TASKMBUB.HLP", cmoOverwrite
- CreateIniKeyValue ini$, "BubbleHelp", "~FSDSpellWrite", BUBEXEDEST$ + "\SPELLBUB.HLP", cmoOverwrite
- CreateIniKeyValue ini$, "BubbleHelp", "MyDlgClass", BUBEXEDEST$ + "\CHARMBUB.HLP", cmoOverwrite
- CreateIniKeyValue ini$, "BubbleHelp", "~FSDBubbleHelp", BUBEXEDEST$ + "\BUBHEBUB.HLP", cmoOverwrite
- CreateIniKeyValue ini$, "BubbleHelp", "mydlg", BUBEXEDEST$ + "\WINSEBUB.HLP", cmoOverwrite
- CreateIniKeyValue ini$, "BubbleHelp", "ClipBookWClass", BUBEXEDEST$ + "\CLIPB311.HLP", cmoOverwrite
- CreateIniKeyValue ini$, "BubbleHelp", "Clipboard", BUBEXEDEST$ + "\CLIPBBUB.HLP", cmoOverwrite
- CreateIniKeyValue ini$, "BubbleHelp", "WFS_Frame", BUBEXEDEST$ + "\WINFIBUB.HLP", cmoOverwrite
- CreateIniKeyValue ini$, "BubbleHelp", "PrintManager", BUBEXEDEST$ + "\PRINTBUB.HLP", cmoOverwrite
-
- ' Take out SpellWrite bubbles
-
- CreateIniKeyValue ini$, "SpellWrite", "Bubble", "0", cmoNone
-
- ' Call startup proc
-
- CUIDLL$ = "mscuistf.dll" ''Custom user interface dll
- sz$ = UIStartDlg(CUIDLL$, INSTALLED, "BubInstalledProc", APPHELP, HELPPROC$)
-
- UIPop 1
-
- i% = DoMsgBox("BubbleHelp is now installed on your computer", "Setup", MB_OK+MB_TASKMODAL+MB_ICONINFORMATION)
-
- END SUB
-
- '**********************************
- '** **
- '** SPELLWRITE INSTALLATION **
- '** **
- '**********************************
-
- SUB InstallSpellWrite STATIC
-
- SrcDir$ = GetSymbolValue("STF_SRCDIR")
- CreateDir SPELLEXEDEST$, cmoNone
- ResetCopyList
- AddSectionFilesToCopyList "SpellWriteEXE", SrcDir$ + "SPELLWRI", SPELLEXEDEST$
- AddSectionFilesToCopyList "SpellWriteDLL", SrcDir$ + "SPELLWRI", DLLDEST$
- CopyFilesInCopyList
-
- ini$ = MakePath(GetWindowsDir(), "FUTURE.INI")
-
- CreateProgmanGroup "Future", "", cmoNone
- ShowProgmanGroup "Future", 1, cmoNone
- CreateProgmanItem "Startup", "SpellWrite", SPELLEXEDEST$ + "\spellwri.exe", "", cmoOverwrite
- CreateProgmanItem "Future", "SpellWrite", SPELLEXEDEST$ + "\spellwri.exe", "", cmoOverwrite
- CreateIniKeyValue "WIN.INI", "sounds", "SpellWrite_Correct", ",Spelling correct", cmoNone
- CreateIniKeyValue "WIN.INI", "sounds", "SpellWrite_Mistake", ",Spelling incorrect", cmoNone
-
- CreateIniKeyValue ini$, "SpellWrite", "path", SPELLEXEDEST$, cmoOverwrite
- CreateIniKeyValue ini$, "SpellWrite", "Custom", SPELLEXEDEST$ + "\FSD_CUST.DCT", cmoOverwrite
- CreateIniKeyValue ini$, "SpellWrite", "OnlyAddToCustomDict", "0", cmoOverwrite
- CreateIniKeyValue ini$, "SpellWrite", "LoadWrite", "0", cmoOverwrite
- CreateIniKeyValue ini$, "BubbleHelp", "MSWRITE_MENU", SPELLEXEDEST$ + "\WRITEBUB.HLP", cmoOverwrite
- CreateIniKeyValue ini$, "BubbleHelp", "~FSDSpellWrite", SPELLEXEDEST$ + "\SPELLBUB.HLP", cmoOverwrite
- CUIDLL$ = "mscuistf.dll" ''Custom user interface dll
- sz$ = UIStartDlg(CUIDLL$, INSTALLED, "SpellInstalledProc", APPHELP, INSTALLEDPROC$)
-
- UIPop 1
-
- i% = DoMsgBox("SpellWrite is now installed on your computer", "Setup", MB_OK+MB_TASKMODAL+MB_ICONINFORMATION)
-
- END SUB
-
- '**********************************
- '** **
- '** FUTURELOCK INSTALLATION **
- '** **
- '**********************************
-
- SUB InstallFutureLock STATIC
-
- SrcDir$ = GetSymbolValue("STF_SRCDIR")
- CreateDir LOCKEXEDEST$, cmoNone
- ResetCopyList
- AddSectionFilesToCopyList "FutureLockEXE", SrcDir$ + "FUTLOCK", LOCKEXEDEST$
- AddSectionFilesToCopyList "FutureLockDLL", SrcDir$ + "FUTLOCK", DLLDEST$
- CopyFilesInCopyList
-
- iniFut$ = MakePath(GetWindowsDir(), "FUTURE.INI")
- ini$ = MakePath(GetWindowsDir(), "FUTLOCK.INI")
- iniSys$ = MakePath(GetWindowsDir(), "SYSTEM.INI")
-
- CreateProgmanGroup "Future", "", cmoNone
- ShowProgmanGroup "Future", 1, cmoNone
- CreateProgmanItem "Future", "FutureLock", LOCKEXEDEST$ + "\futlock.exe", "", cmoOverwrite
- CreateProgmanItem "Future", "FutureLock Uninstall", LOCKEXEDEST$ + "\uninstal.exe", "", cmoOverwrite
-
- CreateIniKeyValue ini$, "FutureLock", "path", LOCKEXEDEST$, cmoOverwrite
- CreateIniKeyValue iniFut$, "BubbleHelp", "~FSDFutureLockSetup", LOCKEXEDEST$ + "\FSDLKBUB.HLP", cmoOverwrite
- CreateIniKeyValue iniFut$, "BubbleHelp", "~FSDFutureLockShell", LOCKEXEDEST$ + "\FSDLKBUB.HLP", cmoOverwrite
- CreateIniKeyValue iniFut$, "BubbleHelp", "~FSDFutureLockUninstall", LOCKEXEDEST$ + "\FSDLKBUB.HLP", cmoOverwrite
-
- szShellIniLine$ = GetIniKeyString(iniSys$, "boot", "shell")
-
- IF szShellIniLine$ <> "" THEN
- CreateIniKeyValue ini$, "FutureLock", "shell", szShellIniLine$, cmoOverwrite
- ELSE
- CreateIniKeyValue ini$, "FutureLock", "shell", LOCKEXEDEST$ + "\futshell.exe", cmoOverwrite
- END IF
-
- CreateIniKeyValue iniSys$, "boot", "shell", LOCKEXEDEST$ + "\futshell.exe", cmoOverwrite
- CUIDLL$ = "mscuistf.dll" ''Custom user interface dll
- sz$ = UIStartDlg(CUIDLL$, INSTALLED, "LockInstalledProc", APPHELP, INSTALLEDPROC$)
-
- 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
-