home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DOS/V Power Report 1998 December
/
VPR9812B.BIN
/
DRIVER
/
EPSON
/
FS9811A
/
DISK1
/
ESTWAIN.MS_
/
ESTWAIN.MS
Wrap
Text File
|
1996-11-25
|
11KB
|
363 lines
'* *************************************************************************
'* EPSON FS-1200 TWAIN Driver Setup Script
'* *************************************************************************
'$INCLUDE 'setupapi.inc'
'$INCLUDE 'msdetect.inc'
CONST WS_VISIBLE=&H10000000
CONST WS_BORDER =&H00800000
CONST WS_CLIPCHILDREN =&H02000000
CONST GWL_STYLE =-16
CONST SW_SHOWMAXIMIZED=3
''Dialog ID's
CONST WelcomeDlg = 100
CONST AskQuitDlg = 200
CONST WindowPathDlg = 300
CONST ExitFailDlg = 400
''CONST WinPathHelp = 500
CONST UtyPathDlg = 600
CONST SetupComplete = 700
CONST BadPathDlg = 800
''CONST SetupHelp = 900
''CONST AspiInst = 901
''Bitmap ID
CONST LOGO = 1
GLOBAL DESTWIN$ ''Default destination directory.
'GLOBAL DESTUTY$ ''Default EPSON Scan! II directory.
GLOBAL DESTTWN$ ''Default twain directory.
GLOBAL DESTTWN16$ ''Default twain16 directory on 32-bit Windows.
GLOBAL DESTCAL$ ''Default calibrat files directory.
GLOBAL DESTMSVC$ ''Default directory for MSVCRT20.DLL. ''MSVCRT20.DLL
GLOBAL MAJORVERSION% ''Windows Major version number
GLOBAL MINORVERSION% ''Windows Minor version number
DECLARE SUB Install
DECLARE SUB Install32
DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
DECLARE SUB RunSetup LIB "mscuistf.dll" (Path$)
DECLARE FUNCTION IsWindowsNT LIB "mscuistf.dll" AS INTEGER
DECLARE FUNCTION ShowWindow LIB "user.exe" (hWnd%,iShow%) AS INTEGER
DECLARE FUNCTION SetWindowLong LIB "user.exe" (hWnd%, offset%, style&) AS LONG
INIT:
CUIDLL$ = "mscuistf.dll" ''Custom user interface dll
HELPPROC$ = "FHelpDlgProc" ''Help dialog procedure
hWnd%=HwndFrame()
SWLxx&=SetWindowLong(hWnd%,GWL_STYLE,WS_VISIBLE+WS_BORDER+WS_CLIPCHILDREN)
SWyy%=ShowWindow(hWnd%,SW_SHOWMAXIMIZED)
SetBitmap CUIDLL$, LOGO
SetTitle "EPSON TWAIN セットアッププログラム"
SetAbout "EPSON TWAIN セットアッププログラム", "Copyright (C) SEIKO EPSON CORP.1996"
MAJORVERSION% = GetWindowsMajorVersion()
MINORVERSION% = GetWindowsMinorVersion()
IF MAJORVERSION% < 3 OR (MAJORVERSION% = 3 AND MINORVERSION% < 10) THEN
i% = DoMsgBox("It needs Windows 3.1 or later", "Setup Message", MB_OK+MB_ICONHAND)
ERR% = STFQUIT '' Need windows 3.1 or later.
GOTO QUIT
END IF
szInf$ = GetSymbolValue ("STF_SRCINFPATH")
IF szInf$ = "" THEN
szInf$ = GetSymbolValue ("STF_CWDDIR") + "ESTWAIN.INF"
END IF
ReadInfFile szInf$
WinLocation$ = GetWindowsDir
DESTWIN$ = WinLocation$
'*
'* WELCOME DIALOG.
'*
WELCOME:
sz$ = UIStartDlg (CUIDLL$, WelcomeDlg, "InfoDlgProc", 0, "")
IF sz$ = "OK" THEN
UIPop 1
ELSE
GOSUB ASKQUIT
GOTO WELCOME
END IF
'*
'* Get Windows Path
'*
GETPATH:
SetSymbolValue "EditTextIn", DESTWIN$
SetSymbolValue "EditFocus", "END"
GETPATHL1:
sz$ = UIStartDlg (CUIDLL$, WindowPathDlg, "EditDlgProc", 0, "")
DESTWIN$ = GetSymbolValue ("EditTextOut")
IF sz$ = "CONTINUE" THEN
IF IsDirWritable(DESTWIN$) = 0 THEN
GOSUB BADPATH
GOTO GETPATHL1
END IF
UIPop 1
ELSEIF sz$ = "REACTIVATE" THEN
GOTO GETPATHL1
ELSE
GOSUB ASKQUIT
GOTO GETPATH
END IF
IF IsWindowsNT THEN
Install32
ELSEIF (MAJORVERSION%>3 OR (MAJORVERSION%=3 AND MINORVERSION%>10)) THEN
Install32
ELSE
Install
END IF
'*
'* Intallation is complete or a serious error has occurred. Display the
'* appropriate dialog box.
'*
QUIT:
ON ERROR GOTO ERRQUIT
IF ERR = 0 THEN
goto SuccessfulExit
ELSEIF ERR = STFQUIT THEN
END
END IF
QUITL1:
sz$ = UIStartDlg (CUIDLL$, ExitFailDlg, "FInfo0DlgProc", 0, "")
IF sz$ = "REACTIVATE" THEN
GOTO QUITL1
END IF
UIPop 1
END
ERRQUIT:
i% = DoMsgBox("Setup sources were corrupted, call Customer Service!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
END
RETURN
'*
'* Intallation is successful.
'*
SuccessfulExit:
QUITL2:
'* sz$ = UIStartDlg (CUIDLL$, SetupComplete, "Info0DlgProc", 0, "")
'*
'* IF sz$ = "REACTIVATE" THEN
'* GOTO QUITL2
'* END IF
'* IF sz$ = "SETUP" THEN
'* RunSetup (DESTTWN$)
'* GOTO QUITL2
'* END IF
'*
'* UIPop 1
'* IF IsWindowsNT THEN
RunSetup (DESTTWN$)
'* ELSEIF (MAJORVERSION%>3 OR (MAJORVERSION%=3 AND MINORVERSION%>10)) THEN
'* RunSetup (DESTTWN$)
'* ELSEIF aspi$ = "OFF" THEN
'* RunSetup (DESTTWN$)
'* END IF
END
'*
'* Error handling code.
'*
BADPATH:
sz$ = UIStartDlg (CUIDLL$, BadPathDlg, "FInfo0DlgProc", 0, "")
IF sz$ = "REACTIVATE" THEN
GOTO BADPATH
END IF
UIPop 1
RETURN
ASKQUIT:
sz$ = UIStartDlg (CUIDLL$, AskQuitDlg, "FQuitDlgProc", 0, "")
IF sz$ = "EXIT" THEN
UIPopAll
ERROR STFQUIT
ELSEIF sz$ = "REACTIVATE" THEN
GOTO ASKQUIT
ELSE
UIPop 1
END IF
RETURN
'*
'* Build the copy list and perform all installation operations for 32-bit version.
'*
SUB Install32 STATIC
SrcDir$ = GetSymbolValue("STF_SRCDIR")
DESTTWN$ = DESTWIN$+"TWAIN_32\EPSON\"
DESTTWN16$ = DESTWIN$+"TWAIN\"
DESTCAL$ = DESTWIN$+"TWAIN\CALIBRAT\"
DESTMSVC$ = DESTWIN$+"SYSTEM32\" ''MSVCRT20.DLL
CreateDir DESTWIN$, cmoNone
CreateDir DESTTWN$, cmoNone
CreateDir DESTTWN16$, cmoNone
CreateDir DESTCAL$, cmoNone
' CreateDir DESTUTY$, cmoNone
'* szNewVer$ = GetVersionOfFile( SrcDir$ + "TWAIN_32.DLL" )
'* TwainFileExist% = DoesFileExist( DESTWIN$ + "TWAIN_32.DLL", femExists )
'* InstallTwainFile% = 1
'* IF TwainFileExist% = 1 THEN
'* szOldVer$ = GetVersionOfFile( DESTWIN$ + "TWAIN_32.DLL" )
'* IF (szOldVer$ > szNewVer$) OR (szOldVer$ = szNewVer$) THEN
'* InstallTwainFile% = 0
'* END IF
'* ENDIF
'*
'* IF InstallTwainFile% = 1 THEN
AddSectionFilesToCopyList "WINFILES", SrcDir$, DESTWIN$
'* END IF
' AddSectionFilesToCopyList "UTYFILES", SrcDir$, DESTUTY$
' AddSectionFilesToCopyList "HELPFILE", SrcDir$, DESTUTY$
AddSectionFilesToCopyList "TWNFILES", SrcDir$, DESTTWN$
AddSectionFilesToCopyList "TWNFILES16", SrcDir$, DESTTWN16$
AddSectionFilesToCopyList "PMDDFILE", SrcDir$, DESTTWN16$
AddSectionFilesToCopyList "CALFILES", SrcDir$, DESTCAL$
AddSectionFilesToCopyList "CALUTYFILES", SrcDir$, DESTCAL$ ''Add calibration utilities to COPYLIST
AddSectionFilesToCopyList "CTL3DW31", SrcDir$, DESTWIN$+"SYSTEM\"
IF IsWindowsNT THEN
AddSectionFilesToCopyList "MSVCRTNT", SrcDir$, DESTMSVC$ ''MSVCRT20.DLL
AddSectionFilesToCopyList "CTL3DNT", SrcDir$, DESTWIN$+"SYSTEM32\"
ELSE
'* AddSectionFilesToCopyList "PMDDFILE", SrcDir$, DESTTWN$
IF (MAJORVERSION%>3 OR (MAJORVERSION%=3 AND MINORVERSION%>10)) THEN
'* windows 4.0
AddSectionFilesToCopyList "W40CFILE", SrcDir$, DESTTWN$
AddSectionFilesToCopyList "CTL3DW40", SrcDir$, DESTWIN$+"SYSTEM\"
'* ELSE
'* windows 32s
'* AddSectionFilesToCopyList "W32SFILE", SrcDir$, DESTTWN$
END IF
END IF
CopyFilesInCopyList
'* IF IsWindowsNT THEN
CreateIniKeyValue DestWin$+"CONTROL.INI", "MMCPL", "scanner", DestTwn$+"pmdd32f.dll",cmoOverwrite
'* ELSE
'* CreateIniKeyValue DestWin$+"CONTROL.INI", "MMCPL", "scanner", DestTwn$+"pmdd16.dll", cmoOverwrite
'* END IF
'*
'* Build the copy list and perform all installation operations.
'*
' RemoveIniSection "WIN.INI", "EPSNDRV", cmoNone
CreateIniKeyValue "WIN.INI", "TWAIN", "Default Source", DestTwn$+"ESTWN32.DS",cmoOverwrite
CreateProgmanGroup "EPSON スキャナ", "", cmoNone
ShowProgmanGroup "EPSON スキャナ", 1, cmoNone
' CreateProgmanItem "EPSON スキャナ", "Release Notes", MakePath(DESTUTY$,"RELEASE.TXT"), "", cmoOverwrite
CreateProgmanItem "EPSON スキャナ", "EPSON Screen Calibration", MakePath(DESTCAL$,"EPSCNCAL.EXE"), "", cmoOverwrite
END SUB
'*
'* Build the copy list and perform all installation operations for 16-bit version.
'*
SUB Install STATIC
SrcDir$ = GetSymbolValue("STF_SRCDIR")
DESTTWN$ = DESTWIN$+"TWAIN\"
DESTCAL$ = DESTWIN$+"TWAIN\CALIBRAT"
' CreateDir DESTUTY$, cmoNone
CreateDir DESTWIN$, cmoNone
CreateDir DESTTWN$, cmoNone
CreateDir DESTCAL$, cmoNone
VERSION% = GetWindowsMinorVersion()
IF (VERSION% < 10) THEN
IF (EXISTS (DESTWIN$+"VER.DLL")) THEN
ELSE
CopyFile SrcDir$+"VER.DLL", DESTWIN$+"VER.DLL", cmoOverwrite, 0
END IF
IF (EXISTS (DESTWIN$+"MSCUISTF.DLL")) THEN
ELSE
CopyFile SrcDir$+"MSCUISTF.DLL", DESTWIN$+"MSCUISTF.DLL", cmoOverwrite, 0
END IF
END IF
'*************************
' AddSectionFilesToCopyList "UTYFILES16", SrcDir$, DESTUTY$
' AddSectionFilesToCopyList "HELPFILE", SrcDir$, DESTUTY$
AddSectionFilesToCopyList "CALFILES", SrcDir$, DESTCAL$
'*************************
AddSectionFilesToCopyList "WINFILES16", SrcDir$, DESTWIN$
AddSectionFilesToCopyList "TWNFILES16", SrcDir$, DESTTWN$
AddSectionFilesToCopyList "PMDDFILE", SrcDir$, DESTTWN$
AddSectionFilesToCopyList "CALUTYFILES", SrcDir$, DESTCAL$ ''Add calibration utilities to COPYLIST
AddSectionFilesToCopyList "CTL3DW31", SrcDir$, DESTWIN$+"SYSTEM\"
CopyFilesInCopyList
'*IF IsWindowsNT THEN
'*ELSE
'*END IF
IF IsWindowsNT THEN
CreateIniKeyValue DestWin$+"CONTROL.INI", "MMCPL", "scanner", DestTwn$+"pmdd32.dll",cmoNone
CreateIniKeyValue "WIN.INI", "PMDDSETUPPATH", "PMDDPATH", DestTwn$+"runsetup.exe", cmoNone
ELSE
CreateIniKeyValue DestWin$+"CONTROL.INI", "MMCPL", "scanner", DestTwn$+"pmdd.dll", cmoNone
END IF
' RemoveIniSection "WIN.INI", "EPSNDRV", cmoNone
CreateProgmanGroup "EPSON スキャナ", "", cmoNone
ShowProgmanGroup "EPSON スキャナ", 1, cmoNone
' CreateProgmanItem "EPSON スキャナ", "READ ME", MakePath(DESTTWN$,"README.TXT"), "", cmoOverwrite
'*************************
CreateProgmanItem "EPSON スキャナ", "EPSON Screen Calibration", MakePath(DESTCAL$,"EPSCNCAL.EXE"), "", cmoOverwrite
'*************************
END SUB
'*
'* Appends a file name to the end of a directory path, inserting a backslash character as needed.
'* szDir$ - full directory path (with optional ending "\")
'* szFile$ - filename to append to directory
'* Return 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