home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1996 July / VPR9607B.BIN / driver / canopus / win95 / dosv / t64vm_95 / t64vm_95.lzh / SETUP.MS_ / SETUP.MS
Text File  |  1996-04-15  |  26KB  |  736 lines

  1. '**************************************************************************
  2. '*    -- setup.mst --
  3. '*
  4. '*    Power Window T64V Application Setup script
  5. '*
  6. '*    Copyright (C) 1996 CANOPUS Co.,Ltd. All rights reserved.
  7. '**************************************************************************
  8.  
  9. '$INCLUDE 'setupapi.inc'
  10. '$INCLUDE 'msdetect.inc' 
  11. '$INCLUDE 'msregdb.inc'
  12.  
  13. ''Dialog ID's
  14. CONST    WELCOMEV        =200
  15. CONST    WELCOMEVUS        =201
  16. CONST    ASKQUITV        =400
  17. CONST    ASKQUITVUS        =401
  18. CONST    OPTIONSV        =600
  19. CONST    OPTIONSVUS        =601
  20. CONST    OPTIONSVM        =602
  21. CONST    OPTIONSVMUS        =603
  22. CONST    PWBOARD            =700
  23. CONST    PWBOARDUS        =701
  24. CONST    DESTPATHW95        =1001
  25. CONST    DESTPATHUSW95    =1003
  26. CONST    EXITSUCCESSW95    =1101
  27. CONST    EXITSUCCESSUSW95=1103
  28. CONST    EXITQUIT        =1200
  29. CONST    EXITQUITUS        =1201
  30. CONST    EXITFAILURE        =1300
  31. CONST    EXITFAILUREUS    =1301
  32. CONST    EXITCHECK        =1400
  33. CONST    EXITCHECKUS        =1401
  34. CONST    DESTINSTALL        =1500
  35. CONST    DESTINSTALLUS    =1501
  36. CONST    BADPATHW95        =2001
  37. CONST    BADPATHUSW95    =2003
  38. CONST    POWERERROR        =2100
  39. CONST    POWERERRORUS    =2101
  40. CONST    DISKERROR        =2200
  41. CONST    DISKERRORUS        =2201
  42.  
  43. ''Defalut Setting
  44. CONST    LOGO     =1
  45. CONST    SHOWMAX    =3
  46. CONST    TRUE    =1
  47. CONST    FALSE    =0
  48.  
  49. ''CustInst list
  50. CONST     TOTALKBOX    =5
  51. CONST     CHECKBOX1    =1
  52. CONST     CHECKBOX2    =2
  53. CONST     CHECKBOX3    =3
  54. CONST     CHECKBOX4    =4
  55. CONST     CHECKBOX5    =5
  56.  
  57. '' Users Area
  58. GLOBAL    DEST$                '' Default Dir
  59. GLOBAL    WINDRIVE$            '' Windows Dir
  60. GLOBAL    GROUP$                '' Group Name
  61. GLOBAL    CUIDLL$                '' User DLL File Name
  62. GLOBAL    CHECKSTATES$        '' Check Box Data
  63. GLOBAL    JPMODE AS INTEGER     '' Japanese / English Mode
  64. GLOBAL    WINMODE AS INTEGER     '' Windows Version
  65. GLOBAL    OPBOARD AS INTEGER     '' Option Board
  66. GLOBAL    MPEGFLG AS INTEGER     '' MPEG Board  TRUE:HARD MPEG FALSE:SOFT MPEG
  67. GLOBAL    VIDEOFLG AS INTEGER '' Video Board TRUE:YES       FALSE:NO
  68. GLOBAL    PWFLG AS INTEGER    '' FALSE:Power Window T64V,MPEG Option Board  TRUE:Power Windows T64VMP
  69.  
  70. ''CustInst list symbol names
  71. DECLARE SUB         Install
  72. DECLARE FUNCTION    MakePath (szDir$, szFile$) AS STRING
  73. DECLARE    SUB         IniSetAndBakup (szFile$, szSec$, szKey$, szVal$, szSecOp$)
  74. DECLARE    SUB         IniSetAndStandBakup (szFile$, szSec$, szKey$, szVal$, szSecOp$)
  75. DECLARE FUNCTION    CheckPowerWindow LIB "mscuistf.dll" () AS INTEGER
  76. DECLARE FUNCTION    GetPowerWindowDir LIB "mscuistf.dll" () AS INTEGER
  77. DECLARE FUNCTION    GetWindowsVer LIB "mscuistf.dll" () AS INTEGER
  78. DECLARE FUNCTION    ExitWindowsExec  LIB "User" (Exec$, Param$) AS INTEGER
  79. DECLARE FUNCTION    GetMetrics LIB "mscuistf.dll" () AS INTEGER
  80.  
  81.  
  82. '
  83. ' #[ INIT ]
  84. '
  85. INIT:
  86.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  87.  
  88.     WINMODE = GetWindowsVer()
  89.     JPMODE = GetMetrics()
  90.  
  91.     SetWindowSize SHOWMAX
  92.     SetBitmap CUIDLL$, LOGO
  93.     SetTitle "Power Window T64V Application Setup"
  94.  
  95.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  96.     IF szInf$ = "" THEN
  97.         szInf$ = GetSymbolValue("STF_CWDDIR") + "setup.inf"
  98.     END IF
  99.     ReadInfFile szInf$
  100.  
  101. '    PWFLG = FALSE        '' PWT64V,MPEG VIDEO Board
  102.     PWFLG = TRUE        '' PWT64VMP
  103.  
  104.     IF WINMODE = FALSE THEN
  105.         IF JPMODE <> 0 THEN
  106.             i% = DoMsgBox("Windows 95 専用のアプリケーションのため、この環境にはインストールできません。", "Power Window T64V Application Setup", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  107.         ELSE
  108.             i% = DoMsgBox("Please install Windows 95 before installing Power Window T64V Application.", "Power Window T64V Application Setup", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  109.         END IF
  110.         END
  111.     END IF
  112.  
  113.     DEST$ = ""
  114.     WINDRIVE$ = GetWindowsDir()
  115.     i% = GetPowerWindowDir()
  116.     IF i% = TRUE THEN
  117.         DEST$ = GetSymbolValue("PwDirOut")
  118.     END IF
  119.     IF DEST$ = "" THEN
  120.         DEST$ = MID$(WINDRIVE$, 1, 1) + ":\PWAPP"
  121.     END IF
  122.     
  123.     i% = CheckPowerWindow()
  124.     IF i% = FALSE THEN 
  125.         IF JPMODE <> 0 THEN
  126.             dlg% = POWERERROR
  127.         ELSE
  128.             dlg% = POWERERRORUS
  129.         END IF
  130.         sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfoDlgProc", 0, "")
  131.         END
  132.     END IF
  133.  
  134. WELCOME:
  135.     IF JPMODE <> 0 THEN
  136.         dlg% = WELCOMEV
  137.     ELSE
  138.         dlg% = WELCOMEVUS
  139.     END IF
  140.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfoDlgProc", 0, "")
  141.     IF sz$ = "CONTINUE" THEN
  142.         UIPop 1
  143.     ELSE
  144.            GOSUB ASKQUITJMP
  145.         GOTO WELCOME
  146.     END IF
  147.  
  148. BOARDCHECKSTART:
  149.     IF PWFLG = TRUE THEN
  150.         MPEGFLG=TRUE        '' Hard MPEG Driver
  151.         VIDEOFLG%=FALSE        '' Video Chip NO
  152.         GOTO CHECKCUTSTART
  153.     END IF        
  154.     RemoveSymbol "CheckTool"
  155.     AddListItem "CheckTool", "OFF"
  156.  
  157. BOARDCHECKLOOP:
  158.     IF JPMODE <> 0 THEN
  159.         dlg% = PWBOARD
  160.     ELSE
  161.         dlg% = PWBOARDUS
  162.     END IF
  163.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FCheck0DlgProc", 0, "")
  164.     IF sz$ = "CONTINUE" THEN
  165.         IF GetListItem("CheckTool", 1) = "OFF" THEN
  166.             MPEGFLG=FALSE        '' Soft MPEG Driver
  167.             VIDEOFLG%=FALSE        '' Video Chip NO
  168.         ELSE
  169.             MPEGFLG=TRUE        '' Hard MPEG Driver
  170.             VIDEOFLG%=TRUE        '' Video Chip OK
  171.         END IF
  172.         UIPop 1
  173.         GOTO CHECKCUTSTART
  174.     ELSE
  175.         GOSUB ASKQUITJMP
  176.         GOTO BOARDCHECKLOOP
  177.     END IF
  178.  
  179. CHECKCUTSTART:
  180.     CHECKSTATES$ = "CheckItemsIn"
  181.     RemoveSymbol CHECKSTATES$
  182.     RemoveSymbol "OptionsGreyed"
  183.     IF JPMODE <> 0 THEN
  184.         AddListItem CHECKSTATES$, "ON"        '' Release Note
  185.     ELSE
  186.         AddListItem CHECKSTATES$, "OFF"
  187.         AddListItem "OptionsGreyed", "1"
  188.     END IF
  189.  
  190.     AddListItem CHECKSTATES$, "ON"            '' Power Cinema
  191.     IF MPEGFLG% = TRUE THEN
  192.         AddListItem CHECKSTATES$, "ON"        '' MPEG Driver
  193.     ELSE
  194.         AddListItem CHECKSTATES$, "ON"
  195.     END IF
  196.     IF VIDEOFLG% = TRUE THEN
  197.         AddListItem CHECKSTATES$, "ON"        '' Video Viewer
  198.         AddListItem CHECKSTATES$, "ON"        '' TV Tuner
  199.     ELSE
  200.         AddListItem CHECKSTATES$, "OFF"
  201.         AddListItem "OptionsGreyed", "4"
  202.         AddListItem CHECKSTATES$, "OFF"
  203.         AddListItem "OptionsGreyed", "5"
  204.     END IF
  205.  
  206. CHECKCUTLOOP:
  207.     IF PWFLG = FALSE THEN        '' PWT64V,MPEG VIDEO Baord
  208.         IF JPMODE <> 0 THEN
  209.             dlg% = OPTIONSV
  210.         ELSE
  211.             dlg% = OPTIONSVUS
  212.         END IF
  213.     ELSE
  214.         IF JPMODE <> 0 THEN
  215.             dlg% = OPTIONSVM
  216.         ELSE
  217.             dlg% = OPTIONSVMUS
  218.         END IF
  219.     END IF
  220.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FCheckDlgProc", 0, "")
  221.     IF sz$ = "CONTINUE" THEN
  222.         push% = 0
  223.         CHECKSTATES$ = "CheckItemsOut"
  224.         FOR i% = 1 TO TOTALKBOX STEP 1
  225.             IF GetListItem(CHECKSTATES$, i%) = "ON" THEN
  226.                 push% = 1
  227.             END IF
  228.         NEXT i%
  229.         IF push% = 0 THEN
  230.             IF JPMODE <> 0 THEN
  231.                 dlg% = EXITCHECK
  232.             ELSE
  233.                 dlg% = EXITCHECKUS
  234.             END IF
  235.             sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfoDlgProc", 0, "")
  236.             UIPop 1
  237.             GOTO CHECKCUTLOOP
  238.         END IF
  239.         UIPop 1
  240.         GOTO GETPATH
  241.     ELSEIF sz$ = "BACK" THEN
  242.         UIPop 1
  243.         IF PWFLG = FALSE THEN
  244.             GOTO BOARDCHECKLOOP
  245.         ELSE
  246.             GOTO WELCOME
  247.         END IF
  248.     ELSE
  249.         GOSUB ASKQUITJMP
  250.         GOTO CHECKCUTLOOP
  251.     END IF
  252.  
  253. GETPATH:
  254.     SetSymbolValue "EditTextIn", DEST$
  255.     SetSymbolValue "EditFocus", "END"
  256. GETPATHL1:
  257.     IF JPMODE <> 0 THEN
  258.         dlg% = DESTPATHW95
  259.     ELSE
  260.         dlg% = DESTPATHUSW95
  261.     END IF
  262.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FEditDlgProc", 0, "")
  263.     DEST$ = GetSymbolValue("EditTextOut")
  264.     IF sz$ = "CONTINUE" THEN
  265.         IF IsDirWritable(DEST$) = 0 THEN
  266.             GOSUB INPUTPATH
  267.             GOTO GETPATHL1
  268.         END IF
  269.         UIPop 1
  270.     ELSEIF sz$ = "REACTIVATE" THEN
  271.         GOTO GETPATHL1
  272.     ELSEIF sz$ = "BACK" THEN
  273.         UIPop 1
  274.         GOTO CHECKCUTLOOP
  275.     ELSE
  276.         GOSUB ASKQUITJMP
  277.         GOTO GETPATHL1
  278.     END IF
  279.  
  280. INST:
  281.     IF JPMODE <> 0 THEN
  282.         dlg% = DESTINSTALL
  283.     ELSE
  284.         dlg% = DESTINSTALLUS
  285.     END IF
  286.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfoDlgProc", 0, "")
  287.     IF sz$ = "CONTINUE" THEN
  288.         UIPop 1
  289.     ELSEIF sz$ = "BACK" THEN
  290.         UIPop 1
  291.         GOTO GETPATH
  292.     ELSE
  293.         GOSUB ASKQUITJMP
  294.         GOTO INST
  295.     END IF
  296.  
  297.     Install
  298.  
  299. QUIT:
  300.     ON ERROR GOTO ERRQUIT
  301.  
  302.     IF ERR = 0 THEN
  303.         IF JPMODE <> 0 THEN
  304.             dlg% = EXITSUCCESSW95
  305.         ELSE
  306.             dlg% = EXITSUCCESSUSW95
  307.         END IF
  308.     ELSEIF ERR = STFQUIT THEN
  309.         IF JPMODE <> 0 THEN
  310.             dlg% = EXITQUIT
  311.         ELSE
  312.             dlg% = EXITQUITUS
  313.         END IF
  314.     ELSE
  315.         IF JPMODE <> 0 THEN
  316.             dlg% = EXITFAILURE
  317.         ELSE
  318.             dlg% = EXITFAILUREUS
  319.         END IF
  320.     END IF
  321. QUITL1:
  322.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfoDlgProc", 0, "")
  323.     IF sz$ = "CONTINUE" THEN
  324.         UIPop 1
  325.         END
  326.     END IF
  327.  
  328. RESET:
  329.     new% = ExitExecRestart()
  330.     Exe$ = WINDRIVE$ + "\_msrstrt.exe"
  331.     Empty$ = ""
  332. RESTART1:
  333.     IF new% = 0 THEN
  334.         IF JPMODE <> 0 THEN
  335.             i% = DoMsgBox("Windows を再起動できません。他のアプリケーション(MS-DOSプロンプト等)を終了してください。", "セットアップ エラー", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  336.         ELSE
  337.             i% = DoMsgBox("The Setup program cannot restart Windows. Please terminate all other applications and MS-DOS Prompt.", "Setup Error", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  338.         END IF
  339.     END IF
  340.     I% = ExitWindowsExec (Exe$, Empty$)
  341.     IF I% = 0 THEN
  342.         GOTO RESET
  343.     ELSE
  344.         END
  345.     END IF
  346.     END
  347.  
  348. ERRQUIT:
  349.     IF JPMODE <> 0 THEN
  350.         i% = DoMsgBox("セットアップディスクの内容が壊れています。テクニカルサポートまで連絡してください。", "セットアップ エラー", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  351.     ELSE
  352.         i% = DoMsgBox("This Setup disk is destroyed. Please contact our Technical Support.", "Setup Error", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  353.     END IF
  354.     END
  355.  
  356. INPUTPATH:
  357.     IF JPMODE <> 0 THEN
  358.         dlg% = BADPATHW95
  359.     ELSE
  360.         dlg% = BADPATHUSW95
  361.     END IF
  362.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  363.     IF sz$ = "REACTIVATE" THEN
  364.         GOTO INPUTPATH
  365.     END IF
  366.     UIPop 1
  367.     RETURN
  368.  
  369. ASKQUITJMP:
  370.     IF JPMODE <> 0 THEN
  371.         dlg% = ASKQUITV
  372.     ELSE
  373.         dlg% = ASKQUITVUS
  374.     END IF
  375.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FQuitDlgProc", 0, "")
  376.     IF sz$ = "EXIT" THEN
  377.         UIPopAll
  378.         ERROR STFQUIT
  379.     ELSEIF sz$ = "REACTIVATE" THEN
  380.         GOTO ASKQUITJMP
  381.     ELSE
  382.         UIPop 1
  383.     END IF
  384.     RETURN
  385.  
  386. '*****************************************************
  387. '** 内容:
  388. '**         インストールの作業
  389. '** 引き数:
  390. '**         なし
  391. '** 戻り値:
  392. '**         なし
  393. '*****************************************************
  394. SUB Install STATIC
  395.  
  396.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  397.  
  398.     '' a:\english\setup.exeから起動した場合、ソースディレクトリを1階層上げる
  399.     '' チェック手段として、SETUP.INF の有無で判定
  400.     l& = GetSizeOfFile(SrcDir$ + "SETUP.INF")
  401.     IF l& = 0 THEN
  402.         ist% = 1
  403.         istold% = 1
  404.         istop% = 1
  405.         WHILE ( istop% )
  406.             ied% = INSTR(ist%, SrcDir$, "\")
  407.             IF ied% = 0 THEN
  408.                 istop% = 0
  409.             ELSE
  410.                 istold% = ist%
  411.                 ist% = ied% + 1
  412.             END IF
  413.         WEND
  414.         IF istold% <> 1 THEN
  415.             SrcDir$ = Mid$(SrcDir$, 1, (istold% - 1))
  416.         END IF
  417.     END IF
  418.  
  419.     WinSysDir$ = GetWindowsSysDir()
  420.     CreateDir DEST$, cmoNone
  421.     CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "DIR", DEST$, cmoOverwrite
  422.     CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "InstallApplication", "SECTION", "PowerWindowApp", cmoOverwrite
  423.  
  424. ''ファイルコピーリストの登録
  425.     CHECKSTATES$ = "CheckItemsOut"
  426.     IF GetListItem(CHECKSTATES$, 1) = "ON" THEN
  427.         AddSectionFilesToCopyList "OPTION1", SrcDir$, DEST$
  428.         CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "FILE0", MakePath(DEST$,"README.TXT"), cmoOverwrite
  429.     END IF
  430.  
  431.     IF GetListItem(CHECKSTATES$, 2) = "ON" THEN
  432.         AddSectionFilesToCopyList "OPTION2", SrcDir$, DEST$
  433.         AddSectionFilesToCopyList "OPTSYS2", SrcDir$, WinSysDir$
  434.  
  435.         CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "FILE1", MakePath(DEST$,"PWCINE95.EXE"), cmoOverwrite
  436.         CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "FILE2", MakePath(DEST$,"PWCINE95.DOC"), cmoOverwrite
  437.         CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "FILE3", MakePath(DEST$,"VCDMCI95.DLL"), cmoOverwrite
  438.         CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "FILE4", MakePath(DEST$,"CINEMA95.DLL"), cmoOverwrite
  439.         CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "FILE5", MakePath(WinSysDir$,"PWCSETUP.DLL"), cmoOverwrite
  440.         CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "FILE6", MakePath(WinSysDir$,"PWJPEG.DRV"), cmoOverwrite
  441.     END IF
  442.  
  443.     IF GetListItem(CHECKSTATES$, 3) = "ON" THEN
  444.         IF MPEGFLG = FALSE THEN        '' Soft MPEG Driver
  445.             AddSectionFilesToCopyList "OPTSYS3", SrcDir$, WinSysDir$
  446.             AddSectionFilesToCopyList "OPTWIN3", SrcDir$, WINDRIVE$
  447.             CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "FILE9", MakePath(WINDRIVE$,"SOFTPEG.INI"), cmoOverwrite
  448.             CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "FILE10", MakePath(WinSysDir$,"SOFTPEGC.DLL"), cmoOverwrite
  449.             CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "FILE11", MakePath(WinSysDir$,"CCMPEGW.DLL"), cmoOverwrite
  450.             CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "FILE12", MakePath(WinSysDir$,"CCMPEG.DLL"), cmoOverwrite
  451.             CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "FILE13", MakePath(WinSysDir$,"SOFTPEG.DRV"), cmoOverwrite
  452.             CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "FILE14", MakePath(WinSysDir$,"SOFTPEG3.DLL"), cmoOverwrite
  453.             CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "FILE15", MakePath(WinSysDir$,"SOFTPEGC.DLL"), cmoOverwrite
  454.             CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "FILE16", MakePath(WinSysDir$,"CD16.DRV"), cmoOverwrite
  455.         ELSE                            '' Hard MPEG Driver
  456.             AddSectionFilesToCopyList "OPTION3", SrcDir$, DEST$
  457.             AddSectionFilesToCopyList "OPTSYS3", SrcDir$, WinSysDir$
  458.             AddSectionFilesToCopyList "OPTSYS30", SrcDir$, WinSysDir$
  459.             AddSectionFilesToCopyList "OPTSYS31", SrcDir$, WinSysDir$
  460.             AddSectionFilesToCopyList "OPTWIN3", SrcDir$, WINDRIVE$
  461.             CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "FILE7", MakePath(DEST$,"CDALLOC.EXE"), cmoOverwrite
  462.             CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "FILE8", MakePath(DEST$,"MPEGC.EXE"), cmoOverwrite
  463.             CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "FILE9", MakePath(WINDRIVE$,"SOFTPEG.INI"), cmoOverwrite
  464.             CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "FILE10", MakePath(WinSysDir$,"SOFTPEGC.DLL"), cmoOverwrite
  465.             CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "FILE11", MakePath(WinSysDir$,"CCMPEGW.DLL"), cmoOverwrite
  466.             CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "FILE12", MakePath(WinSysDir$,"CCMPEG.DLL"), cmoOverwrite
  467.             CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "FILE13", MakePath(WinSysDir$,"SOFTPEG.DRV"), cmoOverwrite
  468.             CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "FILE14", MakePath(WinSysDir$,"SOFTPEG3.DLL"), cmoOverwrite
  469.             CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "FILE15", MakePath(WinSysDir$,"SOFTPEGC.DLL"), cmoOverwrite
  470.             CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "FILE16", MakePath(WinSysDir$,"CD16.DRV"), cmoOverwrite
  471.             CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "FILE17", MakePath(WinSysDir$,"PWTVMPEG.DRV"), cmoOverwrite
  472.             CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "FILE18", MakePath(WinSysDir$,"PWMPG.DLL"), cmoOverwrite
  473.             CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "FILE19", MakePath(WinSysDir$,"PWVDE.DLL"), cmoOverwrite
  474.             CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "FILE20", MakePath(WinSysDir$,"PWADE.DLL"), cmoOverwrite
  475.             CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "FILE21", MakePath(WinSysDir$,"PWMX2.DLL"), cmoOverwrite
  476.             CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "FILE22", MakePath(WinSysDir$,"PWMX16.DLL"), cmoOverwrite
  477.             CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "FILE23", MakePath(WinSysDir$,"PWMX32.DLL"), cmoOverwrite
  478.         END IF
  479.     END IF
  480.  
  481.     IF GetListItem(CHECKSTATES$, 4) = "ON" THEN
  482.         AddSectionFilesToCopyList "OPTSYS4", SrcDir$, WinSysDir$
  483.         AddSectionFilesToCopyList "OPTSYS31", SrcDir$, WinSysDir$
  484.         AddSectionFilesToCopyList "OPTION4", SrcDir$, DEST$
  485.         CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "FILE24", MakePath(DEST$,"PWVVIEW.EXE"), cmoOverwrite
  486.         CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "FILE25", MakePath(DEST$,"PWVVIEW.HLP"), cmoOverwrite
  487.         CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "FILE26", MakePath(WinSysDir$,"PWTVCAP.DRV"), cmoOverwrite
  488.         CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "FILE27", MakePath(WinSysDir$,"PWDIALOG.DLL"), cmoOverwrite
  489.         CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "FILE28", MakePath(WinSysDir$,"PWMX16.DLL"), cmoOverwrite
  490.         CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "FILE29", MakePath(WinSysDir$,"PWMX32.DLL"), cmoOverwrite
  491.     END IF
  492.  
  493.     IF GetListItem(CHECKSTATES$, 5) = "ON" THEN
  494.         AddSectionFilesToCopyList "OPTSYS5", SrcDir$, WinSysDir$
  495.         AddSectionFilesToCopyList "OPTION5", SrcDir$, DEST$
  496.         CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "FILE30", MakePath(DEST$,"PWTVTUN.EXE"), cmoOverwrite
  497.         CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "FILE31", MakePath(WinSysDir$,"PWTVTUN.DLL"), cmoOverwrite
  498.     END IF
  499.  
  500.     AddSectionFilesToCopyList "OPTIONA", SrcDir$, DEST$
  501.     CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "FILE32", MakePath(DEST$,"PWAPUIST.EXE"), cmoOverwrite
  502.  
  503. ''ファイルコピー
  504.     SizeReq& = GetCopyListCost ("","", "")
  505.     IF SizeReq& <> 0 THEN
  506.         IF JPMODE <> 0 THEN
  507.             dlg% = DISKERROR
  508.         ELSE
  509.             dlg% = DISKERRORUS
  510.         END IF
  511.         sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfoDlgProc", 0, "")
  512.         END
  513.     END IF
  514.     SetRestartDir WINDRIVE$
  515.     CopyFilesInCopyList
  516.  
  517. ''INIファイルの登録
  518.     IF GetListItem(CHECKSTATES$, 2) = "ON" THEN
  519.         RemoveInisection WINDRIVE$ + "CANOPUS.INI", "Power Cinema 95" , cmoVital
  520.         IniSetAndBakup WINDRIVE$ + "SYSTEM.INI", "DRIVERS", "VIDC.MJPG", "PWJPEG.DRV", "SYS"
  521.         CreateIniKeyValue WINDRIVE$ + "CANOPUS.INI", "SETUP"  , "SETUPDLL" , "PWCSETUP.DLL", cmoOverwrite
  522.         CreateIniKeyValue WINDRIVE$ + "CONTROL.INI", "DRIVERS.DESC", "PWJPEG.DRV", "CANOPUS Power Window Motion JPEG Decompressor", cmoOverwrite
  523.     END IF
  524.  
  525.     IF GetListItem(CHECKSTATES$, 3) = "ON" THEN
  526.         IF MPEGFLG = FALSE THEN        '' Soft MPEG Driver
  527.             IniSetAndBakup WINDRIVE$ + "SYSTEM.INI", "MCI", "MPEGVIDEO", "SOFTPEG.DRV", "SYS"
  528.             IniSetAndBakup WINDRIVE$ + "SYSTEM.INI", "MCI", "MPEGVIDEOCD", "SOFTPEG.DRV CDI", "SYS"
  529.             CreateIniKeyValue WINDRIVE$ + "CONTROL.INI", "DRIVERS.DESC", "SOFTPEG.DRV", "[MCI] CompCore SoftPEG (TM) MPEG Driver", cmoOverwrite
  530.         ELSE                            '' Hard MPEG Driver
  531.             szLoad$ = GetIniKeyString(INDRIVE$ + "Win.ini", "WINDOWS", "LOAD")
  532.             szWrite$ = ""
  533.             ist% = 1
  534.             istop% = 1
  535.             WHILE ( istop% )
  536.                 ied% = INSTR(ist%, szLoad$, " ")
  537.                 IF ied% = 0 THEN
  538.                     istop% = 0
  539.                     ied% = LEN(szLoad$) + 1
  540.                 END IF
  541.                 szBuff$ = Mid$(szLoad$, ist%, (ied% - ist%))
  542.                 ret% = InStr(szBuff$, "CDALLOC.EXE")
  543.                 IF ret% = 0 THEN
  544.                     szWrite$ = szWrite$ + szBuff$ + " "
  545.                 END IF
  546.                 ist% = ied% + 1
  547.             WEND
  548.             szWrite$ = szWrite$ + MakePath(DEST$,"CDALLOC.EXE")
  549.             CreateIniKeyValue WINDRIVE$ + "WIN.INI", "WINDOWS", "LOAD", szWrite$, cmoOverwrite
  550.  
  551.             IniSetAndBakup WINDRIVE$ + "SYSTEM.INI", "MCI", "MPEGCDI", "PWTVMPEG.DRV", "SYS"
  552.             IniSetAndBakup WINDRIVE$ + "SYSTEM.INI", "MCI", "MPEGVIDEO", "PWTVMPEG.DRV", "SYS"
  553.             IniSetAndBakup WINDRIVE$ + "SYSTEM.INI", "MCI", "MPEGVIDEOCD", "SOFTPEG.DRV CDI", "SYS"
  554.             CreateIniKeyValue WINDRIVE$ + "CONTROL.INI", "DRIVERS.DESC", "PWTVMPEG.DRV", "[MCI] CANOPUS Power Window MPEG Driver", cmoOverwrite
  555.             CreateIniKeyValue WINDRIVE$ + "CONTROL.INI", "DRIVERS.DESC", "SOFTPEG.DRV", "[MCI] CompCore SoftPEG (TM) MPEG Driver", cmoOverwrite
  556.         END IF
  557.  
  558.         CreateIniKeyValue WINDRIVE$ + "WIN.INI", "MCI EXTENSIONS", "MPG", "MPEGVIDEO", cmoOverwrite
  559.         CreateIniKeyValue WINDRIVE$ + "WIN.INI", "MCI EXTENSIONS", "VID", "MPEGVIDEO", cmoOverwrite
  560.         CreateIniKeyValue WINDRIVE$ + "WIN.INI", "MCI EXTENSIONS", "DAT", "MPEGVIDEO", cmoOverwrite
  561.         CreateIniKeyValue WINDRIVE$ + "WIN.INI", "MCI EXTENSIONS", "MPA", "MPEGVIDEO", cmoOverwrite
  562.         CreateIniKeyValue WINDRIVE$ + "WIN.INI", "MCI EXTENSIONS", "MPV", "MPEGVIDEO", cmoOverwrite
  563.  
  564.         RemoveIniKey  WINDRIVE$ + "SYSTEM.INI", "MCI", "CCMPEG"        , cmoNone
  565.         RemoveIniKey  WINDRIVE$ + "SYSTEM.INI", "MCI", "CCMPEGCDI"    , cmoNone
  566.         RemoveIniKey  WINDRIVE$ + "MPLAYER.INI", "DEVICES", "CCMPEG", cmoNone
  567.         RemoveIniKey  WINDRIVE$ + "MPLAYER.INI", "DEVICES", "CCMPEGCDI"    , cmoNone
  568.         RemoveIniKey  WINDRIVE$ + "MPLAYER.INI", "OPTIONS", "CCMPEG"    , cmoNone
  569.         RemoveIniKey  WINDRIVE$ + "MPLAYER.INI", "OPTIONS", "CCMPEGCDI"    , cmoNone
  570.  
  571.         CreateRegKeyValue ".mpg", "mplayer"
  572.     END IF
  573.  
  574.     IF GetListItem(CHECKSTATES$, 4) = "ON" THEN
  575.         RemoveInisection WINDRIVE$ + "CANOPUS.INI", "Video Viewer" , cmoVital
  576.         RemoveInisection WINDRIVE$ + "CANOPUS.INI", "T64VCapture" , cmoVital
  577.         IniSetAndStandBakup WINDRIVE$ + "SYSTEM.INI", "DRIVERS", "MSVideo", "PWTVCAP.DRV", "SYS"
  578.         CreateIniKeyValue WINDRIVE$ + "CONTROL.INI", "DRIVERS.DESC", "PWTVCAP.DRV", "Power Window T64V Video Capture Driver", cmoOverwrite
  579.     END IF
  580.  
  581. ''グループ登録
  582.     IF JPMODE <> 0 THEN
  583.         GROUP$ = "PowerWindow アプリケーション"
  584.     ELSE
  585.         GROUP$ = "PowerWindow Application"
  586.     END IF
  587.     CreateProgmanGroup GROUP$, "", cmoNone
  588.     ShowProgmanGroup   GROUP$,  1, cmoNone
  589.     CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "GROUP", GROUP$, cmoOverwrite
  590.  
  591.     IF GetListItem(CHECKSTATES$, 1) = "ON" THEN
  592.         IF JPMODE <> 0 THEN
  593.             szIcon$ = "リリースノート"
  594.         ELSE
  595.             szIcon$ = "Release Note"
  596.         END IF
  597.         CreateProgmanItem  GROUP$, szIcon$ , "NOTEPAD.EXE "+MakePath(DEST$,"README.TXT") , "", cmoOverwrite
  598.         CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "ICON0", szIcon$, cmoOverwrite
  599.     END IF
  600.  
  601.     IF GetListItem(CHECKSTATES$, 2) = "ON" THEN
  602.         CreateProgmanItem GROUP$, "PowerCinema 95", MakePath(DEST$,"PWCINE95.EXE") , "", cmoOverwrite
  603.         CreateProgmanItem GROUP$, "PowerCinema 95 Manual", MakePath(DEST$,"PWCINE95.DOC")  , "", cmoOverwrite
  604.         CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "ICON1", "PowerCinema 95", cmoOverwrite
  605.         CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "ICON2", "PowerCinema 95 Manual", cmoOverwrite
  606.     END IF
  607.  
  608.     IF GetListItem(CHECKSTATES$, 3) = "ON" THEN
  609.         IF MPEGFLG = TRUE THEN        '' Hard MPEG Driver
  610.             CreateProgmanItem  GROUP$, "MPEG Mapper" , MakePath(DEST$,"MPEGC.EXE"), "", cmoOverwrite
  611.             CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "ICON3", "MPEG Mapper", cmoOverwrite
  612.         END IF
  613.     END IF
  614.  
  615.     IF GetListItem(CHECKSTATES$, 4) = "ON" THEN
  616.         CreateProgmanItem  GROUP$, "Video Viewer" , MakePath(DEST$,"PWVVIEW.EXE"), "", cmoOverwrite
  617.         CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "ICON4", "Video Viewer", cmoOverwrite
  618.     END IF
  619.  
  620.     IF GetListItem(CHECKSTATES$, 5) = "ON" THEN
  621.         CreateProgmanItem  GROUP$, "TV Tuner" , MakePath(DEST$,"PWTVTUN.EXE"), "", cmoOverwrite
  622.         CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "ICON5", "TV Tuner", cmoOverwrite
  623.     END IF
  624.  
  625.     IF JPMODE <> 0 THEN
  626.         szIcon$ = "アンインストーラ"
  627.     ELSE
  628.         szIcon$ = "Uninstaller"
  629.     END IF
  630.     CreateProgmanItem  GROUP$, szIcon$ , MakePath(DEST$,"PWAPUIST.EXE"), "", cmoOverwrite
  631.     CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", "ICON6", szIcon$, cmoOverwrite
  632. END SUB
  633.  
  634.  
  635. '*****************************************************
  636. '** 内容:
  637. '**         フルパスの構造体に変換
  638. '** 引き数:
  639. '**         szDir$  - フルパスディレクトリ名
  640. '**         szFile$ - ファイル名またはディレクトリ名
  641. '** 戻り値:    
  642. '**        パス名
  643. '*****************************************************
  644. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  645.     IF szDir$ = "" THEN
  646.         MakePath = szFile$
  647.     ELSEIF szFile$ = "" THEN
  648.         MakePath = szDir$
  649.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  650.         MakePath = szDir$ + szFile$
  651.     ELSE
  652.         MakePath = szDir$ + "\" + szFile$
  653.     END IF
  654. END FUNCTION
  655.  
  656.  
  657. '***************************************************************
  658. '** 内容:
  659. '**         Ini内容保管
  660. '**         登録あれば、何もしない。
  661. '** 引き数:
  662. '**         szFile$ - フルパスファイル
  663. '**         szSec$  - セクション
  664. '**         szKey$  - キー
  665. '**         szVal$  - 値
  666. '**         szSecOp$- ディレクトリ
  667. '** 戻り値:    
  668. '**        パス名
  669. '***************************************************************
  670. SUB IniSetAndBakup (szFile$, szSec$, szKey$, szVal$, szSecOp$) STATIC
  671.  
  672.     szLoad$ = ""
  673.     szLoadBak$ = ""
  674.  
  675.     szLoadBak$ = GetIniKeyString(szFile$, szSec$, szKey$)
  676.  
  677.     szLoad$ = GetIniKeyString(WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", szSecOp$ + szKey$)
  678.     IF (szLoad$ = "") OR (szLoad$ <> szLoadBak$) THEN 
  679.         IF (szLoadBak$ <> szVal$) THEN
  680.             CreateIniKeyValue WINDRIVE$ + "UNPWCINE.INI", "PowerWindowApp", szSecOp$ + szKey$, szLoadBak$, cmoOverwrite
  681.         END IF
  682.     END IF
  683.     CreateIniKeyValue szFile$, szSec$, szKey$, szVal$, cmoOverwrite
  684.  
  685. END SUB
  686.  
  687.  
  688. '***************************************************************
  689. '** 内容:
  690. '**         Ini内容保管
  691. '**         登録あれば、キー内容に未登録番号(1~9)を追加して保管する
  692. '** 引き数:
  693. '**         szFile$ - フルパスファイル
  694. '**         szSec$  - セクション
  695. '**         szKey$  - キー
  696. '**         szVal$  - 値
  697. '**         szSecOp$- ディレクトリ
  698. '** 戻り値:    
  699. '**        パス名
  700. '***************************************************************
  701. SUB IniSetAndStandBakup (szFile$, szSec$, szKey$, szVal$, szSecOp$) STATIC
  702.  
  703.     szLoad$ = ""
  704.     szLoadBak$ = ""
  705.     szLoadBak$ = GetIniKeyString(szFile$, szSec$, szKey$)
  706.  
  707.     IF szLoadBak$ = szVal$ THEN 
  708.         EXIT SUB
  709.     END IF
  710.  
  711.     FOR i% = 1 TO 9 STEP 1
  712.         Number$ = MID$(STR$(i%), 2, 1)
  713.         szLoad$ = GetIniKeyString(szFile$, szSec$, szKey$+Number$)
  714.         IF (szLoad$ = szLoadBak$) OR (szLoad$ = szVal$) THEN
  715.             RemoveIniKey  szFile$, szSec$, szKey$+Number$, cmoNone
  716.         END IF
  717.     NEXT i%
  718.  
  719.     n% = 1
  720.     FOR i% = 1 TO 9 STEP 1
  721.         Number$ = MID$(STR$(i%), 2, 1)
  722.         szLoad$ = GetIniKeyString(szFile$, szSec$, szKey$+Number$)
  723.         IF (szLoad$ <> "") OR (szLoadBak$ <> "") THEN 
  724.             Number$ = MID$(STR$(n%), 2, 1)
  725.             IF szLoadBak$ <> "" THEN
  726.                 CreateIniKeyValue szFile$, szSec$, szKey$+Number$, szLoadBak$, cmoOverwrite
  727.                 n% = n% + 1
  728.             END IF
  729.             szLoadBak$ = szLoad$
  730.         END IF
  731.     NEXT i%
  732.     
  733.     CreateIniKeyValue szFile$, szSec$, szKey$, szVal$, cmoOverwrite
  734.  
  735. END SUB
  736.