home *** CD-ROM | disk | FTP | other *** search
/ HomeWare 14 / HOMEWARE14.bin / windows / editprog / chinwar1.arj / CHINESEL.MST < prev    next >
Text File  |  1993-12-03  |  5KB  |  214 lines

  1. '**************************************************************************
  2. '*
  3. '*      ChineseWare Setup Script
  4. '*
  5. '**************************************************************************
  6.  
  7. '$INCLUDE 'setupapi.inc'
  8. '$INCLUDE 'msdetect.inc'
  9.  
  10. ''Dialog ID's
  11. CONST WELCOME       = 100
  12. CONST ASKQUIT       = 200
  13. CONST DESTPATH      = 300
  14. CONST EXITFAILURE   = 400
  15. CONST EXITQUIT      = 600
  16. CONST EXITSUCCESS   = 700
  17. CONST APPHELP       = 900
  18. CONST BADPATH       = 6400
  19. CONST UPDATEAUTOEXEC    = 7900
  20.  
  21. ''Bitmap ID
  22. CONST LOGO = 1
  23.  
  24. GLOBAL DEST$        ''Default destination directory.
  25. GLOBAL ValidInt%
  26.  
  27. DECLARE SUB Install
  28. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  29. DECLARE FUNCTION FCheckSnumrec LIB "mscuistf.dll" AS INTEGER
  30. DECLARE FUNCTION FCreateSnumrec LIB "mscuistf.dll" AS INTEGER
  31.  
  32. INIT:
  33.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  34.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  35.  
  36.     SetBitmap CUIDLL$, LOGO
  37.     SetTitle "ChineseWare Setup"
  38.  
  39.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  40.     IF szInf$ = "" THEN
  41.     szInf$ = GetSymbolValue("STF_CWDDIR") + "CHINESEL.INF"
  42.     END IF
  43.     ReadInfFile szInf$
  44.  
  45.     DEST$ = GetWindowsDir
  46.     DEST$ = MID$(DEST$, 1, 3) + "CHINESE"
  47.  
  48. WELCOME:
  49.        
  50.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  51.     IF sz$ = "CONTINUE" THEN
  52.     UIPop 1
  53.     ELSE
  54.     GOSUB ASKQUIT
  55.     GOTO WELCOME
  56.     END IF
  57.  
  58.  
  59. OPTION:
  60.  
  61.  
  62. GETPATH:
  63.     SetSymbolValue "EditTextIn", DEST$
  64.     SetSymbolValue "EditFocus", "END"
  65.  
  66. GETPATHL1:
  67.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  68.     DEST$ = GetSymbolValue("EditTextOut")
  69.  
  70.     IF sz$ = "CONTINUE" THEN
  71.     IF IsDirWritable(DEST$) = 0 THEN
  72.         GOSUB BADPATH
  73.         GOTO GETPATHL1
  74.     END IF
  75.     UIPop 1
  76.     ELSEIF sz$ = "REACTIVATE" THEN
  77.     GOTO GETPATHL1
  78.     ELSEIF sz$ = "BACK" THEN
  79.     UIPop 1
  80.     GOTO OPTION
  81.     ELSE
  82.     GOSUB ASKQUIT
  83.     GOTO GETPATH
  84.     END IF
  85.  
  86.     SetSymbolValue "EditTextIn", DEST$
  87.  
  88.     drive$ = MID$(DEST$, 1, 1)
  89.     free& = GetFreeSpaceForDrive(drive$)
  90.     IF free& < 5000000 THEN
  91.       myInt% = DoMsgBox("You need at least 5 MB free space to install ChineseWare basic version, delete some files and try setup again.", "Insufficient Disk Space!", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  92.       GOTO ERRQUIT
  93.     END IF
  94.  
  95.     ValidInt% = FCheckSnumrec()
  96.       
  97.     Install
  98.  
  99.     IF ValidInt% = 1 THEN
  100.     IF FCreateSnumrec() = -1 THEN
  101.       myInt% = DoMsgBox("Can not install ChineseWare", "Error: Can not Create Files", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  102.       GOTO ERRQUIT
  103.     END IF  
  104.     END IF
  105.  
  106.  
  107.     IF GetWindowsDir <> (DEST$+"\")  THEN
  108.  
  109.     sz$ = GetWindowsDir
  110. '''    sz$ = MID$(sz$, 1, LEN(sz$)-1)
  111.     sz$ = MakePath(sz$, "CWIN.INI")
  112.     szz$ = MakePath(DEST$, "CWIN.INI")
  113.     CopyFile szz$, sz$, cmoOverwrite, 0
  114.  
  115.     sz$ = UIStartDlg(CUIDLL$, UPDATEAUTOEXEC, "FUpdateAutoexecDlgProc", 0, "")
  116.     UIPop 1
  117.  
  118.     END IF
  119.  
  120.     CreateProgmanGroup "ChineseWare", "", cmoNone
  121.     CreateProgmanItem "ChineseWare", "ChineseWare", MakePath(DEST$,"CWIN.EXE"), "", cmoOverwrite
  122.     CreateProgmanItem "ChineseWare", "Readme.wri", MakePath(DEST$,"readmech.wri"), "", cmoOverwrite
  123.     CreateProgmanItem "ChineseWare", "Manual.wri", MakePath(DEST$,"manualch.wri"), "", cmoOverwrite
  124.  
  125. ''' utilities for std and adv version:
  126.     CreateProgmanItem "ChineseWare", "CC==>Pic", MakePath(DEST$,"cc2pic.exe"), "", cmoOverwrite
  127.     CreateProgmanItem "ChineseWare", "Gb<==>Big5", MakePath(DEST$,"gb2big5.exe"), "", cmoOverwrite
  128.     
  129.  
  130. ''' need to get out of Windows and restart computer
  131.     IF GetWindowsDir <> (DEST$+"\")  THEN
  132.       myInt% = DoMsgBox("Because of the new PATH added to Autoexec.bat, you need to restart the computer to run ChineseWare properly.", "Restart your computer to run ChineseWare", MB_OK+MB_TASKMODAL)
  133.     END IF
  134.  
  135.     ShowProgmanGroup  "ChineseWare", 1, cmoNone
  136.  
  137.  
  138.     END
  139.  
  140.  
  141. QUIT:
  142.     ON ERROR GOTO ERRQUIT
  143.  
  144.     IF ERR = 0 THEN
  145.     dlg% = EXITSUCCESS
  146.     ELSEIF ERR = STFQUIT THEN
  147.     dlg% = EXITQUIT
  148.     ELSE
  149.     dlg% = EXITFAILURE
  150.     END IF
  151. QUITL1:
  152.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  153.     IF sz$ = "REACTIVATE" THEN
  154.     GOTO QUITL1
  155.     END IF
  156.     UIPop 1
  157.  
  158.     END
  159.  
  160. ERRQUIT:
  161. ''    i% = DoMsgBox("Setup sources were corrupted, please contact Daytron Inc.", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  162.     END
  163.  
  164.  
  165.  
  166. BADPATH:
  167.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  168.     IF sz$ = "REACTIVATE" THEN
  169.     GOTO BADPATH
  170.     END IF
  171.     UIPop 1
  172.     RETURN
  173.  
  174.  
  175.  
  176. ASKQUIT:
  177.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  178.  
  179.     IF sz$ = "EXIT" THEN
  180.     UIPopAll
  181.     ERROR STFQUIT
  182.     ELSEIF sz$ = "REACTIVATE" THEN
  183.     GOTO ASKQUIT
  184.     ELSE
  185.     UIPop 1
  186.     END IF
  187.     RETURN
  188.  
  189.  
  190.  
  191. SUB Install STATIC
  192.  
  193.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  194.     CreateDir DEST$, cmoNone
  195.  
  196.     AddSectionFilesToCopyList "SysFiles", SrcDir$, DEST$
  197.     CopyFilesInCopyList
  198.  
  199. END SUB
  200.  
  201.  
  202.  
  203. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  204.     IF szDir$ = "" THEN
  205.     MakePath = szFile$
  206.     ELSEIF szFile$ = "" THEN
  207.     MakePath = szDir$
  208.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  209.     MakePath = szDir$ + szFile$
  210.     ELSE
  211.     MakePath = szDir$ + "\" + szFile$
  212.     END IF
  213. END FUNCTION
  214.