home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1996 July / VPR9607B.BIN / driver / epson / es9813 / epscan32.ms_ / epscan32.ms
Text File  |  1995-10-12  |  23KB  |  589 lines

  1. '* *************************************************************************
  2. '*                      EPSON Scan! II32 Setup Script
  3. '* *************************************************************************
  4.  
  5. '$INCLUDE 'setupapi.inc'
  6. '$INCLUDE 'msdetect.inc'
  7.  
  8. CONST WS_VISIBLE=&H10000000
  9. CONST WS_BORDER =&H00800000
  10. CONST WS_CLIPCHILDREN =&H02000000
  11. CONST GWL_STYLE =-16
  12. CONST SW_SHOWMAXIMIZED=3
  13.  
  14. ''Dialog ID's
  15.  
  16. CONST WelcomeDlg    = 100
  17. CONST AskQuitDlg    = 200
  18. CONST WindowPathDlg = 300
  19. CONST ExitFailDlg   = 400
  20. ''CONST WinPathHelp   = 500
  21. CONST UtyPathDlg    = 600
  22. CONST SetupComplete = 700
  23. CONST BadPathDlg    = 800
  24. ''CONST SetupHelp     = 900
  25. ''CONST AspiInst     = 901
  26.  
  27. ''Bitmap ID
  28. CONST LOGO = 1
  29.  
  30. GLOBAL DESTWIN$        ''Default destination directory.
  31. GLOBAL DESTUTY$        ''Default EPSON Scan! II directory.
  32. GLOBAL DESTTWN$        ''Default twain directory.
  33. GLOBAL DESTTWN16$      ''Default twain16 directory on 32-bit Windows.
  34. GLOBAL DESTCAL$        ''Default calibrat files directory.
  35. GLOBAL DESTMSVC$       ''Default directory for MSVCRT20.DLL.    ''MSVCRT20.DLL
  36. GLOBAL MAJORVERSION%   ''Windows Major version number
  37. GLOBAL MINORVERSION%   ''Windows Minor version number    
  38.  
  39. DECLARE SUB Install
  40. DECLARE SUB Install32
  41. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  42. DECLARE SUB RunSetup LIB "mscuistf.dll" (Path$)
  43. DECLARE FUNCTION IsWindowsNT LIB "mscuistf.dll" AS INTEGER
  44. DECLARE FUNCTION ShowWindow  LIB "user.exe" (hWnd%,iShow%) AS INTEGER
  45. DECLARE FUNCTION SetWindowLong LIB "user.exe" (hWnd%, offset%, style&) AS LONG
  46.  
  47. INIT:
  48.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  49.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  50.  
  51.     hWnd%=HwndFrame()
  52.     SWLxx&=SetWindowLong(hWnd%,GWL_STYLE,WS_VISIBLE+WS_BORDER+WS_CLIPCHILDREN)
  53.     SWyy%=ShowWindow(hWnd%,SW_SHOWMAXIMIZED)
  54.  
  55.     SetBitmap CUIDLL$, LOGO
  56.     SetTitle "EPSON Scan! II セットアッププログラム"
  57.     SetAbout "EPSON Scan! II セットアッププログラム", "Copyright (C) SEIKO EPSON CORP.1994"
  58.  
  59.     MAJORVERSION% = GetWindowsMajorVersion()
  60.     MINORVERSION% = GetWindowsMinorVersion()
  61.  
  62.     IF  MAJORVERSION% < 3 OR (MAJORVERSION% = 3 AND MINORVERSION% < 10) THEN
  63.         i% = DoMsgBox("It needs Windows 3.1 or later", "Setup Message", MB_OK+MB_ICONHAND)
  64.         ERR% = STFQUIT  '' Need windows 3.1 or later.
  65.         GOTO QUIT
  66.     END IF
  67.  
  68.     szInf$ = GetSymbolValue ("STF_SRCINFPATH")
  69.     IF szInf$ = "" THEN
  70.         szInf$ = GetSymbolValue ("STF_CWDDIR") + "EPSCAN32.INF"
  71.     END IF
  72.     ReadInfFile szInf$
  73.  
  74.     WinLocation$ = GetWindowsDir
  75.     DESTWIN$ = WinLocation$
  76.  
  77.  
  78.  
  79. '*
  80. '* WELCOME DIALOG.
  81. '*
  82.  
  83. WELCOME:
  84.     sz$ = UIStartDlg (CUIDLL$, WelcomeDlg, "InfoDlgProc", 0, "")
  85.  
  86.     IF sz$ = "OK" THEN
  87.         UIPop 1
  88.     ELSE
  89.         GOSUB ASKQUIT
  90.         GOTO WELCOME
  91.     END IF
  92.  
  93. '*
  94. '* Get Utility Path
  95. '*
  96.  
  97. GETUTYPATH:
  98.     IF IsWindowsNT THEN
  99.         DESTUTY$ = "A:\EPSCAN32\"
  100.     ELSEIF (MAJORVERSION%>3 OR (MAJORVERSION%=3 AND MINORVERSION%>10)) THEN
  101.         DESTUTY$ = "A:\EPSCAN32\"
  102.     ELSE
  103.         DESTUTY$ = "A:\EPSCAN2\"
  104.     END IF
  105.     SetSymbolValue "EditTextIn", DESTUTY$
  106.     SetSymbolValue "EditFocus", "END"
  107. GETUTYPATHL1:
  108.     sz$ = UIStartDlg (CUIDLL$, UtyPathDlg, "EditDlgProc", 0, "")
  109.     DESTUTY$ = GetSymbolValue ("EditTextOut")
  110.     IF sz$ = "CONTINUE" THEN
  111.         IF IsDirWritable(DESTWIN$) = 0 THEN
  112.             GOSUB BADPATH
  113.             GOTO GETUTYPATHL1
  114.         END IF
  115.         UIPop 1
  116.     ELSEIF sz$ = "REACTIVATE" THEN
  117.         GOTO GETUTYPATHL1
  118.     ELSE
  119.         GOSUB ASKQUIT
  120.         GOTO GETUTYPATH
  121.     END IF
  122.  
  123. '*
  124. '* Get Windows Path
  125. '*
  126.  
  127. GETPATH:
  128.     SetSymbolValue "EditTextIn", DESTWIN$
  129.     SetSymbolValue "EditFocus", "END"
  130. GETPATHL1:
  131.     sz$ = UIStartDlg (CUIDLL$, WindowPathDlg, "EditDlgProc", 0, "")
  132.     DESTWIN$ = GetSymbolValue ("EditTextOut")
  133.  
  134.     IF sz$ = "CONTINUE" THEN
  135.         IF IsDirWritable(DESTWIN$) = 0 THEN
  136.             GOSUB BADPATH
  137.             GOTO GETPATHL1
  138.         END IF
  139.         UIPop 1
  140.     ELSEIF sz$ = "REACTIVATE" THEN
  141.         GOTO GETPATHL1
  142.     ELSE
  143.         GOSUB ASKQUIT
  144.         GOTO GETPATH
  145.     END IF
  146.  
  147. '************************************************************************
  148. '    IF IsWindowsNT THEN
  149. '        GOTO INST
  150. '    END IF
  151. '    IF (MAJORVERSION%>3 OR (MAJORVERSION%=3 AND MINORVERSION%>10)) THEN
  152. '        GOTO INST
  153. '    END IF
  154. 'INSTASPI:
  155. '    SetSymbolValue "CheckItemsIn",""
  156. '    AddListItem "CheckItemsIn","ON"
  157. 'INSTASPIL1:
  158. '    sz$ = UIStartDlg (CUIDLL$, AspiInst, "FCheckDlgProc", 0, "")
  159. '    IF sz$ = "CONTINUE" THEN
  160. '        UIPop 1
  161. '    ELSE
  162. '        GOSUB ASKQUIT
  163. '        GOTO INSTASPIL1
  164. '    END IF
  165. '    aspi$ = GetListItem("CheckItemsOut",1) 
  166. '    IF aspi$ = "ON" THEN
  167. '       GOSUB ASPIINST
  168. '    END IF
  169. 'INST:
  170. '************************************************************************
  171.  
  172.  
  173.     IF IsWindowsNT THEN
  174.         Install32
  175.     ELSEIF (MAJORVERSION%>3 OR (MAJORVERSION%=3 AND MINORVERSION%>10)) THEN
  176.         Install32
  177.     ELSE
  178.         Install
  179.     END IF
  180.  
  181.  
  182.  
  183. '*
  184. '* Intallation is complete or a serious error has occurred. Display the
  185. '* appropriate dialog box.
  186. '*
  187.  
  188. QUIT:
  189.     ON ERROR GOTO ERRQUIT
  190.  
  191.     IF ERR = 0 THEN
  192.         goto SuccessfulExit
  193.     ELSEIF ERR = STFQUIT THEN
  194.         END
  195.     END IF
  196.  
  197. QUITL1:
  198.  
  199.     sz$ = UIStartDlg (CUIDLL$, ExitFailDlg, "FInfo0DlgProc", 0, "")
  200.  
  201.     IF sz$ = "REACTIVATE" THEN
  202.         GOTO QUITL1
  203.     END IF
  204.     UIPop 1
  205. END
  206.  
  207. ERRQUIT:
  208.     i% = DoMsgBox("Setup sources were corrupted, call Customer Service!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  209.     END
  210.     RETURN
  211.  
  212.  
  213.  
  214. '*
  215. '* Intallation is successful.
  216. '*
  217.  
  218. SuccessfulExit:
  219. QUITL2:
  220.  
  221. '*    sz$ = UIStartDlg (CUIDLL$, SetupComplete, "Info0DlgProc", 0, "")
  222. '*
  223. '*    IF sz$ = "REACTIVATE" THEN
  224. '*        GOTO QUITL2
  225. '*    END IF
  226. '*    IF sz$ = "SETUP" THEN
  227. '*        RunSetup (DESTTWN$)
  228. '*        GOTO QUITL2
  229. '*    END IF
  230. '*
  231. '*    UIPop 1
  232.  
  233. '*    IF IsWindowsNT THEN
  234.          RunSetup (DESTTWN$)
  235. '*    ELSEIF (MAJORVERSION%>3 OR (MAJORVERSION%=3 AND MINORVERSION%>10)) THEN
  236. '*         RunSetup (DESTTWN$)
  237. '*    ELSEIF aspi$ = "OFF" THEN
  238. '*         RunSetup (DESTTWN$)
  239. '*    END IF
  240. END
  241.  
  242.  
  243.  
  244. '*
  245. '* Error handling code.
  246. '*
  247.  
  248. BADPATH:
  249.     sz$ = UIStartDlg (CUIDLL$, BadPathDlg, "FInfo0DlgProc", 0, "")
  250.     IF sz$ = "REACTIVATE" THEN
  251.         GOTO BADPATH
  252.     END IF
  253.     UIPop 1
  254.     RETURN
  255.  
  256. ASKQUIT:
  257.     sz$ = UIStartDlg (CUIDLL$, AskQuitDlg, "FQuitDlgProc", 0, "")
  258.  
  259.     IF sz$ = "EXIT" THEN
  260.         UIPopAll
  261.         ERROR STFQUIT
  262.     ELSEIF sz$ = "REACTIVATE" THEN
  263.         GOTO ASKQUIT
  264.     ELSE
  265.         UIPop 1
  266.     END IF
  267.     RETURN
  268.  
  269.  
  270.  
  271. '*
  272. '* Build the copy list and perform all installation operations for 32-bit version.
  273. '*
  274.  
  275. SUB Install32 STATIC
  276.  
  277.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  278.     DESTTWN$ = DESTWIN$+"TWAIN_32\EPSON\"
  279.     DESTTWN16$ = DESTWIN$+"TWAIN\"
  280.     DESTCAL$ = DESTWIN$+"TWAIN\CALIBRAT\"
  281.     DESTMSVC$ = DESTWIN$+"SYSTEM32\"    ''MSVCRT20.DLL
  282.     CreateDir DESTWIN$, cmoNone
  283.     CreateDir DESTTWN$, cmoNone
  284.     CreateDir DESTTWN16$, cmoNone
  285.     CreateDir DESTCAL$, cmoNone
  286.     CreateDir DESTUTY$, cmoNone
  287.  
  288. '*    szNewVer$ = GetVersionOfFile( SrcDir$ + "TWAIN_32.DLL" )
  289. '*    TwainFileExist% = DoesFileExist( DESTWIN$ + "TWAIN_32.DLL", femExists )
  290. '*    InstallTwainFile% = 1
  291. '*    IF TwainFileExist% = 1 THEN
  292. '*        szOldVer$ = GetVersionOfFile( DESTWIN$ + "TWAIN_32.DLL" )
  293. '*        IF (szOldVer$ > szNewVer$) OR (szOldVer$ = szNewVer$) THEN
  294. '*            InstallTwainFile% = 0
  295. '*        END IF
  296. '*    ENDIF
  297. '*
  298. '*    IF InstallTwainFile% = 1 THEN
  299.         AddSectionFilesToCopyList "WINFILES", SrcDir$, DESTWIN$
  300. '*    END IF
  301.  
  302.     AddSectionFilesToCopyList "UTYFILES", SrcDir$, DESTUTY$
  303.     AddSectionFilesToCopyList "HELPFILE", SrcDir$, DESTUTY$
  304.     AddSectionFilesToCopyList "README", SrcDir$, DESTUTY$
  305.     AddSectionFilesToCopyList "TWNFILES", SrcDir$, DESTTWN$
  306.      AddSectionFilesToCopyList "TWNFILES16", SrcDir$, DESTTWN16$
  307.      AddSectionFilesToCopyList "PMDDFILE", SrcDir$, DESTTWN16$
  308.     AddSectionFilesToCopyList "CALFILES", SrcDir$, DESTCAL$ 
  309.     IF IsWindowsNT THEN
  310.            AddSectionFilesToCopyList "MSVCRTNT", SrcDir$, DESTMSVC$    ''MSVCRT20.DLL    
  311.     ELSE 
  312. '*            AddSectionFilesToCopyList "PMDDFILE", SrcDir$, DESTTWN$
  313.             IF (MAJORVERSION%>3 OR (MAJORVERSION%=3 AND MINORVERSION%>10)) THEN
  314.              '* windows 4.0
  315.                 AddSectionFilesToCopyList "W40CFILE", SrcDir$, DESTTWN$
  316.         '* ELSE
  317.             '* windows 32s
  318.                 '* AddSectionFilesToCopyList "W32SFILE", SrcDir$, DESTTWN$
  319.         END IF
  320.         END IF
  321.  
  322.     CopyFilesInCopyList
  323.  
  324. '*     IF IsWindowsNT THEN
  325.         CreateIniKeyValue DestWin$+"CONTROL.INI", "MMCPL", "scanner", DestTwn$+"pmdd32f.dll",cmoOverwrite
  326. '*     ELSE
  327. '*         CreateIniKeyValue DestWin$+"CONTROL.INI", "MMCPL", "scanner", DestTwn$+"pmdd.dll", cmoOverwrite
  328. '*     END IF
  329.  
  330. '*
  331. '* Build the copy list and perform all installation operations.
  332. '*
  333.  
  334. thisVer$ = "2.20J"
  335. calDir$ = "\TWAIN\CALIBRAT"
  336. twnDir$ = "\TWAIN_32\EPSON"
  337. dsName$ = "\ESTWN32.DS"
  338. IF (EXISTS (DESTWIN$ + "ESTWN32.INI")) THEN
  339.     twnIni$ = DESTWIN$ + "ESTWN32.INI"
  340.     currentVer$ = GetIniKeyString(twnIni$,"ESTWAINds","Version")
  341.     IF (thisVer$ > currentVer$) THEN
  342.  
  343.         CreateIniKeyValue twnIni$,"ESTWAINds","Calibration",calDir$,cmoOverwrite
  344.         CreateIniKeyValue twnIni$,"ESTWAINds","Estwain",twnDir$,cmoOverwrite
  345.         CreateIniKeyValue twnIni$,"ESTWAINds","DataSource",dsName$,cmoOverwrite
  346.         CreateIniKeyValue twnIni$,"ESTWAINds","Version",thisVer$,cmoOverwrite
  347.         CreateIniKeyValue twnIni$,"ESTWAINds","Dialog","1",cmoOverwrite
  348.  
  349.         CreateIniKeyValue twnIni$,"IMAGE TYPES","NUMBER OF SCAN MODES","8",cmoOverwrite
  350.         CreateIniKeyValue twnIni$,"IMAGE TYPES","SCAN MODE0","カラー写真,5,0,0,1,0",cmoOverwrite
  351.         CreateIniKeyValue twnIni$,"IMAGE TYPES","SCAN MODE1","256色カラー,4,0,0,1,0",cmoOverwrite
  352.         CreateIniKeyValue twnIni$,"IMAGE TYPES","SCAN MODE2","白黒写真,2,0,0,1,0",cmoOverwrite
  353.         CreateIniKeyValue twnIni$,"IMAGE TYPES","SCAN MODE3","カラーハーフトーン,3,1,0,0,0",cmoOverwrite
  354.         CreateIniKeyValue twnIni$,"IMAGE TYPES","SCAN MODE4","カラーチャート,3,0,0,0,0",cmoOverwrite
  355.         CreateIniKeyValue twnIni$,"IMAGE TYPES","SCAN MODE5","白黒ハーフトーン,0,1,0,0,0",cmoOverwrite
  356.         CreateIniKeyValue twnIni$,"IMAGE TYPES","SCAN MODE6","線画,0,0,0,0,0",cmoOverwrite
  357.         CreateIniKeyValue twnIni$,"IMAGE TYPES","SCAN MODE7","OCR,0,0,0,0,2",cmoOverwrite
  358.  
  359.         CreateIniKeyValue twnIni$,"DESTINATION","NUMBER OF TARGET MODES","15",cmoOverwrite
  360.         CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE0","一般設定,0,300,72,一般設定",cmoOverwrite
  361.         CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE1","スクリーン,1,72,72,スクリーン",cmoOverwrite
  362.         CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE2","インパクトプリンタ,2,360,120,インパクトプリンタ",cmoOverwrite
  363.         CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE3","熱転写プリンタ,3,360,120,熱転写プリンタ",cmoOverwrite
  364.         CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE4","インクジェットプリンタ,4,360,120,インクジェットプリンタ",cmoOverwrite
  365.         CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE5","レーザープリンタ,5,300,100,レーザープリンタ",cmoOverwrite
  366.         CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE6","Fax,3,200,200,インクジェットプリンタ",cmoOverwrite
  367.         CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE7","OCR,0,400,400,一般設定",cmoOverwrite
  368.         CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE8","レーザー 600dpi,5,600,200,レーザープリンタ 600",cmoOverwrite
  369.         CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE9","MJ-700V2C,0,800,240,MJ-700V2C",cmoOverwrite
  370.         CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE10","MJ-5000C,0,800,240,MJ-5000C",cmoOverwrite
  371.         CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE11","MJ-900C,0,800,240,MJ-900C",cmoOverwrite
  372.         CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE12","MJ-800C,0,800,240,MJ-800C",cmoOverwrite
  373.         CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE13","MJ-500C,0,800,240,MJ-500C",cmoOverwrite
  374.         CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE14","キャリブレーション特性,0,180,180,一般設定",cmoOverwrite
  375.     END IF
  376. END IF
  377. '***********************************************************
  378.  
  379. '##### Update the exsisting .INI file for EPSON TWAIN #####
  380.  thisVer$ = "2.20J"
  381.  calDir$ = "\TWAIN\CALIBRAT"
  382.  twnDir$ = "\TWAIN"
  383.  dsName$ = "\ESTWAIN.DS"
  384.  IF (EXISTS (DESTWIN$ + "ESTWAIN.INI")) THEN
  385.      twnIni$ = DESTWIN$ + "ESTWAIN.INI"
  386.      currentVer$ = GetIniKeyString(twnIni$,"ESTWAINds","Version")
  387.      IF (thisVer$ > currentVer$) THEN
  388. '*************** Update ESTWAINds section *****************
  389.          CreateIniKeyValue twnIni$,"ESTWAINds","Calibration",calDir$,cmoOverwrite
  390.          CreateIniKeyValue twnIni$,"ESTWAINds","Estwain",twnDir$,cmoOverwrite
  391.          CreateIniKeyValue twnIni$,"ESTWAINds","DataSource",dsName$,cmoOverwrite
  392.          CreateIniKeyValue twnIni$,"ESTWAINds","Version",thisVer$,cmoOverwrite
  393.          CreateIniKeyValue twnIni$,"ESTWAINds","Dialog","1",cmoOverwrite
  394. '************* Update IMAGE TYPES section *****************
  395.          CreateIniKeyValue twnIni$,"IMAGE TYPES","NUMBER OF SCAN MODES","8",cmoOverwrite
  396.          CreateIniKeyValue twnIni$,"IMAGE TYPES","SCAN MODE0","カラー写真,5,0,0,1,0",cmoOverwrite
  397.          CreateIniKeyValue twnIni$,"IMAGE TYPES","SCAN MODE1","256色カラー,4,0,0,1,0",cmoOverwrite
  398.          CreateIniKeyValue twnIni$,"IMAGE TYPES","SCAN MODE2","白黒写真,2,0,0,1,0",cmoOverwrite
  399.          CreateIniKeyValue twnIni$,"IMAGE TYPES","SCAN MODE3","カラーハーフトーン,3,1,0,0,0",cmoOverwrite
  400.          CreateIniKeyValue twnIni$,"IMAGE TYPES","SCAN MODE4","カラーチャート,3,0,0,0,0",cmoOverwrite
  401.          CreateIniKeyValue twnIni$,"IMAGE TYPES","SCAN MODE5","白黒ハーフトーン,0,1,0,0,0",cmoOverwrite
  402.          CreateIniKeyValue twnIni$,"IMAGE TYPES","SCAN MODE6","線画,0,0,0,0,0",cmoOverwrite
  403.          CreateIniKeyValue twnIni$,"IMAGE TYPES","SCAN MODE7","OCR,0,0,0,0,2",cmoOverwrite
  404. '************* Update DESTINATION section *****************
  405.          CreateIniKeyValue twnIni$,"DESTINATION","NUMBER OF TARGET MODES","15",cmoOverwrite
  406.          CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE0","一般設定,0,300,72,一般設定",cmoOverwrite
  407.          CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE1","スクリーン,1,72,72,スクリーン",cmoOverwrite
  408.          CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE2","インパクトプリンタ,2,360,120,インパクトプリンタ",cmoOverwrite
  409.          CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE3","熱転写プリンタ,3,360,120,熱転写プリンタ",cmoOverwrite
  410.          CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE4","インクジェットプリンタ,4,360,120,インクジェットプリンタ",cmoOverwrite
  411.          CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE5","レーザープリンタ,5,300,100,レーザープリンタ",cmoOverwrite
  412.          CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE6","Fax,3,200,200,インクジェットプリンタ",cmoOverwrite
  413.          CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE7","OCR,0,400,400,一般設定",cmoOverwrite
  414.          CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE8","レーザー 600dpi,5,600,200,レーザープリンタ 600",cmoOverwrite
  415.          CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE9","MJ-700V2C,0,800,240,MJ-700V2C",cmoOverwrite
  416.          CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE10","MJ-5000C,0,800,240,MJ-5000C",cmoOverwrite
  417.          CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE11","MJ-900C,0,800,240,MJ-900C",cmoOverwrite
  418.          CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE12","MJ-800C,0,800,240,MJ-800C",cmoOverwrite
  419.          CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE13","MJ-500C,0,800,240,MJ-500C",cmoOverwrite
  420.          CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE14","キャリブレーション特性,0,180,180,一般設定",cmoOverwrite
  421.      END IF
  422.  END IF
  423. '***********************************************************
  424.  
  425. '    RemoveIniSection "WIN.INI", "EPSNDRV", cmoNone
  426.     CreateIniKeyValue "WIN.INI", "TWAIN", "Default Source", DestTwn$+"ESTWN32.DS",cmoOverwrite
  427.  
  428.     CreateProgmanGroup "EPSON スキャナ", "", cmoNone
  429.     ShowProgmanGroup  "EPSON スキャナ", 1, cmoNone
  430.     CreateProgmanItem "EPSON スキャナ", "始めにお読みください", MakePath(DESTUTY$,"README.TXT"), "", cmoOverwrite
  431.     CreateProgmanItem "EPSON スキャナ", "EPSON Scan! II32", MakePath(DESTUTY$,"EPSCAN.EXE"), "", cmoOverwrite
  432. END SUB
  433.  
  434.  
  435. '*
  436. '* Build the copy list and perform all installation operations for 16-bit version.
  437. '*
  438.  
  439. SUB Install STATIC
  440.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  441.     DESTTWN$ = DESTWIN$+"TWAIN\"
  442.     DESTCAL$ = DESTWIN$+"TWAIN\CALIBRAT"
  443.     CreateDir DESTUTY$, cmoNone
  444.     CreateDir DESTWIN$, cmoNone
  445.     CreateDir DESTTWN$, cmoNone
  446.     CreateDir DESTCAL$, cmoNone
  447.     VERSION% = GetWindowsMinorVersion()
  448.     IF (VERSION% < 10) THEN
  449.         IF (EXISTS (DESTWIN$+"VER.DLL")) THEN
  450.         ELSE
  451.             CopyFile SrcDir$+"VER.DLL", DESTWIN$+"VER.DLL", cmoOverwrite, 0
  452.         END IF
  453.         IF (EXISTS (DESTWIN$+"MSCUISTF.DLL")) THEN
  454.         ELSE
  455.             CopyFile SrcDir$+"MSCUISTF.DLL", DESTWIN$+"MSCUISTF.DLL", cmoOverwrite, 0
  456.         END IF
  457.     END IF
  458. '*************************
  459.     AddSectionFilesToCopyList "UTYFILES16", SrcDir$, DESTUTY$
  460.     AddSectionFilesToCopyList "HELPFILE", SrcDir$, DESTUTY$
  461.     AddSectionFilesToCopyList "README", SrcDir$, DESTUTY$
  462.     AddSectionFilesToCopyList "CALFILES", SrcDir$, DESTCAL$
  463. '*************************
  464.     AddSectionFilesToCopyList "WINFILES16", SrcDir$, DESTWIN$
  465.     AddSectionFilesToCopyList "TWNFILES16", SrcDir$, DESTTWN$
  466.     AddSectionFilesToCopyList "PMDDFILE", SrcDir$, DESTTWN$
  467.     CopyFilesInCopyList
  468.     '*IF IsWindowsNT THEN
  469.     '*ELSE
  470.     '*END IF
  471.     IF IsWindowsNT THEN
  472.         CreateIniKeyValue DestWin$+"CONTROL.INI", "MMCPL", "scanner", DestTwn$+"pmdd32.dll",cmoNone
  473.         CreateIniKeyValue "WIN.INI", "PMDDSETUPPATH", "PMDDPATH", DestTwn$+"runsetup.exe", cmoNone
  474.     ELSE
  475.         CreateIniKeyValue DestWin$+"CONTROL.INI", "MMCPL", "scanner", DestTwn$+"pmdd.dll", cmoNone
  476.     END IF
  477. '##### Update the exsisting .INI file for EPSON TWAIN #####
  478. thisVer$ = "2.20J"
  479. calDir$ = "\TWAIN\CALIBRAT"
  480. twnDir$ = "\TWAIN"
  481. dsName$ = "\ESTWAIN.DS"
  482. IF (EXISTS (DESTWIN$ + "ESTWAIN.INI")) THEN
  483.     twnIni$ = DESTWIN$ + "ESTWAIN.INI"
  484.     currentVer$ = GetIniKeyString(twnIni$,"ESTWAINds","Version")
  485.     IF (thisVer$ > currentVer$) THEN
  486. '*************** Update ESTWAINds section *****************
  487.         CreateIniKeyValue twnIni$,"ESTWAINds","Calibration",calDir$,cmoOverwrite
  488.         CreateIniKeyValue twnIni$,"ESTWAINds","Estwain",twnDir$,cmoOverwrite
  489.         CreateIniKeyValue twnIni$,"ESTWAINds","DataSource",dsName$,cmoOverwrite
  490.         CreateIniKeyValue twnIni$,"ESTWAINds","Version",thisVer$,cmoOverwrite
  491.         CreateIniKeyValue twnIni$,"ESTWAINds","Dialog","1",cmoOverwrite
  492. '************* Update IMAGE TYPES section *****************
  493.         CreateIniKeyValue twnIni$,"IMAGE TYPES","NUMBER OF SCAN MODES","8",cmoOverwrite
  494.         CreateIniKeyValue twnIni$,"IMAGE TYPES","SCAN MODE0","カラー写真,5,0,0,1,0",cmoOverwrite
  495.         CreateIniKeyValue twnIni$,"IMAGE TYPES","SCAN MODE1","256色カラー,4,0,0,1,0",cmoOverwrite
  496.         CreateIniKeyValue twnIni$,"IMAGE TYPES","SCAN MODE2","白黒写真,2,0,0,1,0",cmoOverwrite
  497.         CreateIniKeyValue twnIni$,"IMAGE TYPES","SCAN MODE3","カラーハーフトーン,3,1,0,0,0",cmoOverwrite
  498.         CreateIniKeyValue twnIni$,"IMAGE TYPES","SCAN MODE4","カラーチャート,3,0,0,0,0",cmoOverwrite
  499.         CreateIniKeyValue twnIni$,"IMAGE TYPES","SCAN MODE5","白黒ハーフトーン,0,1,0,0,0",cmoOverwrite
  500.         CreateIniKeyValue twnIni$,"IMAGE TYPES","SCAN MODE6","線画,0,0,0,0,0",cmoOverwrite
  501.         CreateIniKeyValue twnIni$,"IMAGE TYPES","SCAN MODE7","OCR,0,0,0,0,2",cmoOverwrite
  502. '************* Update DESTINATION section *****************
  503.         CreateIniKeyValue twnIni$,"DESTINATION","NUMBER OF TARGET MODES","15",cmoOverwrite
  504.         CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE0","一般設定,0,300,72,一般設定",cmoOverwrite
  505.         CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE1","スクリーン,1,72,72,スクリーン",cmoOverwrite
  506.         CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE2","インパクトプリンタ,2,360,120,インパクトプリンタ",cmoOverwrite
  507.         CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE3","熱転写プリンタ,3,360,120,熱転写プリンタ",cmoOverwrite
  508.         CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE4","インクジェットプリンタ,4,360,120,インクジェットプリンタ",cmoOverwrite
  509.         CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE5","レーザープリンタ,5,300,100,レーザープリンタ",cmoOverwrite
  510.         CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE6","Fax,3,200,200,インクジェットプリンタ",cmoOverwrite
  511.         CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE7","OCR,0,400,400,一般設定",cmoOverwrite
  512.         CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE8","レーザー 600dpi,5,600,200,レーザープリンタ 600",cmoOverwrite
  513.         CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE9","MJ-700V2C,0,800,240,MJ-700V2C",cmoOverwrite
  514.         CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE10","MJ-5000C,0,800,240,MJ-5000C",cmoOverwrite
  515.         CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE11","MJ-900C,0,800,240,MJ-900C",cmoOverwrite
  516.         CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE12","MJ-800C,0,800,240,MJ-800C",cmoOverwrite
  517.         CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE13","MJ-500C,0,800,240,MJ-500C",cmoOverwrite
  518.         CreateIniKeyValue twnIni$,"DESTINATION","TARGET MODE14","キャリブレーション特性,0,180,180,一般設定",cmoOverwrite
  519.     END IF
  520. END IF
  521. '***********************************************************
  522. '    RemoveIniSection "WIN.INI", "EPSNDRV", cmoNone
  523.     CreateProgmanGroup "EPSON スキャナ", "", cmoNone
  524.     ShowProgmanGroup  "EPSON スキャナ", 1, cmoNone
  525.     CreateProgmanItem "EPSON スキャナ", "始めにお読みください", MakePath(DESTUTY$,"README.TXT"), "", cmoOverwrite
  526. '*************************
  527.     CreateProgmanItem "EPSON スキャナ", "EPSON Scan! II", MakePath(DESTUTY$,"EPSCAN.EXE"), "", cmoOverwrite
  528. '*************************
  529. END SUB
  530.  
  531. '*
  532. '* Appends a file name to the end of a directory path, inserting a backslash character as needed.
  533. '* szDir$  - full directory path (with optional ending "\")
  534. '* szFile$ - filename to append to directory
  535. '* Return fully qualified path name.
  536. '*
  537.  
  538. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  539.     IF szDir$ = "" THEN
  540.         MakePath = szFile$
  541.     ELSEIF szFile$ = "" THEN
  542.         MakePath = szDir$
  543.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  544.         MakePath = szDir$ + szFile$
  545.     ELSE
  546.         MakePath = szDir$ + "\" + szFile$
  547.     END IF
  548. END FUNCTION
  549.  
  550. '*********** modified by I.N. 7/3/95 **************
  551. '* ASPIINST:
  552. '*        SrcDir$ = GetSymbolValue("STF_SRCDIR")
  553. '*        DESTWASPI$ = DESTWIN$+"SYSTEM\"
  554. '*        CreateDir DESTWASPI$, cmoNone
  555. '*        CreateDir DESTUTY$, cmoNone
  556. '*        AddSectionFilesToCopyList "ASPFILES", SrcDir$, DESTWASPI$
  557. '*        AddSectionFilesToCopyList "SYSFILES", SrcDir$, DESTUTY$
  558. '*        CopyFilesInCopyList
  559. '*    CHDIR "C:\"
  560. '*    IF (EXISTS ("CONFIG.SYS")) THEN
  561. '*        IF (EXISTS ("CONFIG.BAK")) THEN
  562. '*            KILL "CONFIG.BAK"
  563. '*        END IF
  564. '*        NAME "CONFIG.SYS" AS "CONFIG.BAK"
  565. '*    ELSE
  566. '*        IF (EXISTS ("CONFIG.BAK")) THEN
  567. '*            KILL "CONFIG.BAK"
  568. '*        END IF
  569. '*        OPEN "CONFIG.BAK" FOR APPEND AS #2
  570. '*        PRINT #2, "REM This line Added by EPSON Scan! II SETUP DUE TO NON-EXISTENT CONFIG.SYS"
  571. '*        CLOSE #2
  572. '*    END IF
  573. '*    OPEN "C:\CONFIG.BAK" FOR INPUT AS #1
  574. '*    OPEN "C:\CONFIG.SYS" FOR APPEND AS #2
  575. '*    WHILE EOF(1)=FALSE
  576. '*        LINE INPUT #1, CONFIG_LINE$
  577. '*        CONFIG_LINE$=UCASE$(CONFIG_LINE$)
  578. '*        IF INSTR(CONFIG_LINE$,"ASPI2PNP.SYS") THEN
  579. '*            CONFIG_LINE$=""
  580. '*        ELSE
  581. '*            PRINT #2, CONFIG_LINE$
  582. '*        END IF
  583. '*    WEND
  584. '*       CONFIG_LINE$ = "DEVICE=" + DESTUTY$ + "ASPI2PNP.SYS " + " /D"
  585. '*    PRINT #2, CONFIG_LINE$
  586. '*    CLOSE #1,#2
  587. '* RETURN
  588. '**************************************************
  589.