home *** CD-ROM | disk | FTP | other *** search
- ''$DEFINE DEBUG ''Define for script development/debugging
-
- '$INCLUDE 'setupapi.inc'
- '$INCLUDE 'msdetect.inc'
-
- ''Dialog ID's
- CONST WELCOME = 100
- CONST ASKQUIT = 200
- CONST DESTPATH = 300
- CONST EXITFAILURE = 400
- CONST EXITQUIT = 600
- CONST EXITSUCCESS = 700
- CONST OPTIONS = 800
- CONST APPHELP = 900
- CONST TEMPPATH = 1000
- CONST NOSPACE = 1300
- CONST GHOST = 3000
- CONST BADPATH = 6400
- CONST SPACENEED = 3200000
-
- ''Bitmap ID
- CONST LOGO = 1
-
- GLOBAL DEST$ ''Default destination directory.
- GLOBAL WINSYS$
- GLOBAL TWAIN$
- GLOBAL MIITWAIN$
- GLOBAL INIPATH$ ''windows directory
- GLOBAL RebootMsg%
-
- DECLARE SUB Install
- DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
-
- DECLARE FUNCTION PostMessage LIB "user" (hwnd%, msg%, wparam%, lparam&) AS INTEGER
- DECLARE FUNCTION RegisterWindowMessage LIB "user" (szRebootMessage$) AS INTEGER
-
- INIT:
- CUIDLL$ = "mscuistf.dll" ''Custom user interface dll
- HELPPROC$ = "FHelpDlgProc" ''Help dialog procedure
-
- SetBitmap CUIDLL$, LOGO
- SetTitle "PageWiz Software Installation"
-
- szInf$ = GetSymbolValue("STF_SRCINFPATH")
- IF szInf$ = "" THEN
- szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
- END IF
- ReadInfFile szInf$
-
- DEST$ = "C:\PAGEWIZ"
-
- '***************************************************************
- '** Here we go registering the message so we can communicate
- '** with NSETUP.EXE.
- '***************************************************************
- RebootMsg% = RegisterWindowMessage ("NSetup")
-
- '$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$)
- IF sz$ = "CONTINUE" THEN
- UIPop 1
- ELSE
- GOSUB ASKQUIT
- GOTO WELCOME
- END IF
-
-
- GETPATH:
- SetSymbolValue "EditTextIn", DEST$
- SetSymbolValue "EditFocus", "END"
- GETPATHL1:
- sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
- 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
- ELSEIF sz$ = "BACK" THEN
- UIPop 1
- GOTO WELCOME
- ELSE
- GOSUB ASKQUIT
- GOTO GETPATH
- END IF
-
- CHECKSPACE:
- drive$ = MID$(DEST$, 1, 1)
- free& = GetFreeSpaceForDrive(drive$)
- IF free& < SPACENEED THEN
- GOSUB NOSPACE
- GOTO GETPATH
- ENDIF
-
- Install
-
- SetSymbolValue "EditTextIn", DEST$
- INSTALLSAMPLE:
- '' sz$ = UIStartDlg(CUIDLL$, GHOST, "ChkAlbum", APPHELP, HELPPROC$)
- ' IF sz$ = "CONTINUE" THEN
- '' UIPop 1
- ' ELSE
- ' GOSUB ASKQUIT
- ' GOTO INSTALLSAMPLE
- ' END IF
-
-
- QUIT:
- ON ERROR GOTO ERRQUIT
-
- IF ERR = 0 THEN
- sz$ = UIStartDlg(CUIDLL$, EXITSUCCESS, "SuccessDlgProc", 0, "")
- ELSE
- sz$ = UIStartDlg(CUIDLL$, EXITQUIT, "ExitDlgProc", 0, "")
- END IF
-
- QUITL1:
- IF sz$ = "REACTIVATE" THEN
- GOTO QUITL1
- ELSEIF sz$ = "REBOOT" THEN
- j% = PostMessage (65535, RebootMsg%, 0, 0)
- END IF
- UIPop 1
-
- END
-
- ERRQUIT:
- i% = DoMsgBox("Setup sources were corrupted, call Microtek Customer Service Department.", "FILE ERROR", MB_OK+MB_TASKMODAL+MB_ICONHAND)
- END
-
-
-
- BADPATH:
- sz$ = UIStartDlg(CUIDLL$, BADPATH, "ExitDlgProc", 0, "")
- IF sz$ = "REACTIVATE" THEN
- GOTO BADPATH
- END IF
- UIPop 1
- RETURN
-
-
- NOSPACE:
- sz$ = UIStartDlg(CUIDLL$, NOSPACE, "ExitDlgProc", 0, "")
- IF sz$ = "REACTIVATE" THEN
- GOTO NOSPACE
- ENDIF
- UIPop 1
- RETURN
-
-
- 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
-
-
-
- '**
- '** Purpose:
- '** Builds the copy list and performs all installation operations.
- '** Arguments:
- '** none.
- '** Returns:
- '** none.
- '*************************************************************************
- SUB Install STATIC
-
- INIPATH$ = GetWindowsDir()
- WINSYS$ = MakePath(INIPATH$, "system")
- MIITWAIN$ = MakePath(INIPATH$, "TWAIN\PAGEWIZ")
- MIIQP$ = MakePath(INIPATH$, "TWAIN\MICROTEK")
- SrcDir$ = GetSymbolValue("STF_SRCDIR")
-
- AddSectionFilesToCopyList "TWAIN", SrcDir$, INIPATH$
- ' AddSectionFilesToCopyList "WIN", SrcDir$, INIPATH$
- AddSectionFilesToCopyList "MIITW", SrcDir$, MIITWAIN$
- AddSectionFilesToCopyList "SYSTEM", SrcDir$, WINSYS$
- AddSectionFilesToCopyList "QP", SrcDir$, MIIQP$
- AddSectionFilesToCopyList "MII", SrcDir$, MIIQP$
- AddSectionFilesToCopyList "MII", SrcDir$, DEST$
- AddSectionFilesToCopyList "FILES", SrcDir$, DEST$
-
- CopyFilesInCopyList
-
- CreateDir MakePath(DEST$, "data"), cmoNone
- '**Set autoloading the ctrl.exe***
- szAutoLoad$ = GetIniKeyString( "WIN.INI", "windows", "load")
- szCtler$ = MakePath(MIITWAIN$, "ctler.exe")
- Count% = 1
- Find% = 0
- CHECKCTRL:
- szField$ = GetNthStringFromIniString( szAutoLoad$, " ", Count%)
- IF szField$ = szCtler$ THEN
- Find% = 1
- ELSEIF szField$ <> "" THEN
- Count% = Count% + 1
- GOTO CHECKCTRL
- END IF
- IF Find% = 0 THEN
- szAutoLoad$ = szCtler$ + " " + szAutoLoad$
- END IF
- RemoveIniKey "WIN.INI", "windows", "load", cmoOverwrite
- CreateIniKeyValue "WIN.INI", "windows", "load", szAutoLoad$, cmoOverwrite
-
- '**Add *.mii association application
- CreateIniKeyValue "WIN.INI", "Extensions", "mii", MakePath(DEST$, "dp.exe ^.mii"), cmoOverwrite
-
- '**Change Default Source to PAGEWIZ.DS**
- RemoveIniKey "WIN.INI", "TWAIN", "Default Source", cmoOverwrite
- CreateIniKeyValue "WIN.INI", "TWAIN", "Default Source", MakePath(MIITWAIN$, "pagewiz.ds"), cmoOverwrite
-
- RemoveIniKey "WIN.INI", "PageWiz", "Program", cmoOverwrite
- CreateIniKeyValue "WIN.INI", "PageWiz", "Program", MakePath(DEST$, "pagesuit.exe"), cmoOverwrite
-
- RemoveFile MakePath(INIPATH$,"PAGESUIT.INI"), cmoForce
- CreateIniKeyValue MakePath(INIPATH$,"PAGESUIT.INI"), "Path", "WorkPath", DEST$, cmoOverwrite
- CreateIniKeyValue MakePath(INIPATH$,"PAGESUIT.INI"), "Path", "DataPath", MakePath(DEST$, "data"), cOverwrite
- CreateIniKeyValue MakePath(INIPATH$,"PAGESUIT.INI"), "Preference", "General", "2", cOverwrite
-
-
- CreateProgmanGroup "Microtek PageWiz", "", cmoNone
- ShowProgmanGroup "Microtek PageWiz", 1, cmoNone
- CreateProgmanItem "Microtek PageWiz", "Technical Support", MakePath(DEST$,"tech.txt"), "", cmoOverwrite
- CreateProgmanItem "Microtek PageWiz", "General Troubleshooting", MakePath(DEST$,"trouble.txt"), "", cmoOverwrite
- CreateProgmanItem "Microtek PageWiz", "OCR/FAX Troubleshooting", MakePath(DEST$,"ocr_fax.txt"), "", cmoOverwrite
- CreateProgmanItem "Microtek PageWiz", "Printer Troubleshooting", MakePath(DEST$,"printers.txt"), "", cmoOverwrite
- CreateProgmanItem "Microtek PageWiz", "Microtek PageSuite", MakePath(DEST$,"pagesuit.exe"), "", cmoOverwrite
- CreateProgmanItem "Microtek PageWiz", "Microtek QuickPanel", MakePath(MIIQP$,"qp.exe"), "", cmoOverwrite
- CreateProgmanItem "Microtek PageWiz", "Microtek PageWiz Uninstall", MakePath(DEST$,"uninstal.exe"), "", cmoOverwrite
-
- 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
-
-
-