home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgLangD.iso / Bonus / MULTIMED / VCPLAYER / POWERVCD.MS_ / POWERVCD.MS
Text File  |  1997-03-11  |  29KB  |  1,064 lines

  1. ''#######################################
  2. ''
  3. ''            VCD PowerPlayer
  4. ''
  5. ''      Install *.DRV *.DLL *.EXE
  6. ''
  7. ''#######################################
  8.  
  9. ''  yaya  02/20
  10. ''      Copy ReadMe and Manual files according to sLanguage
  11. ''
  12. ''  yaya  02/21
  13. ''      The same language with difference sLanguage will
  14. ''      copy the same ReadMe and Manual files
  15. ''
  16.  
  17.  
  18.  
  19. '''''$DEFINE DEBUG
  20.  
  21. '$INCLUDE 'setupapi.inc'
  22. '$INCLUDE 'msdetect.inc'
  23. '$INCLUDE 'msregdb.inc'
  24.  
  25. ''Dialog ID's
  26. CONST WELCOME       = 100
  27. CONST ASKQUIT       = 200
  28. CONST DESTPATH      = 300
  29. CONST EXITFAILURE   = 400
  30. CONST EXITQUIT      = 600
  31. CONST EXITSUCCESS   = 700
  32. CONST APPHELP       = 900
  33. CONST RESTART       = 1200
  34. CONST DIREXISTS     = 1400
  35. CONST BADPATH       = 6400
  36.  
  37. CONST LOGO          = 1
  38.  
  39. GLOBAL DEST$
  40. GLOBAL WINDIR$
  41. GLOBAL WINSYSDIR$
  42. GLOBAL CUIDLL$     
  43. GLOBAL SystemIni$
  44. GLOBAL WinIni$
  45. GLOBAL CtrlIni$
  46.  
  47. GLOBAL DRVR$
  48.  
  49. GLOBAL MpegLabel$
  50. GLOBAL CDILabel$
  51.  
  52. GLOBAL WinVer%
  53.  
  54.  
  55. DECLARE SUB Install
  56. DECLARE SUB MyCopyFilename (szSrcDir$, szFileName$, szFileExt$)
  57. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  58. DECLARE FUNCTION GetDriveInPath( szPath$) AS STRING
  59.  
  60. DECLARE FUNCTION MyGetWinFlags LIB "mscuistf.DLL" AS INTEGER
  61. DECLARE FUNCTION OnWin3x LIB "setuphlp.DLL" AS INTEGER
  62. DECLARE FUNCTION VflatdPresent LIB "setuphlp.DLL" AS INTEGER
  63. DECLARE FUNCTION GetRealSystemDir LIB "setuphlp.DLL" (szDir$,cbBuf%) AS INTEGER
  64. DECLARE FUNCTION RestartWindows LIB "setuphlp.DLL" AS INTEGER
  65. DECLARE FUNCTION IsWin32FileNewer LIB "setuphlp.DLL" (szOrig$,szNew$) AS INTEGER
  66. DECLARE SUB RenameFilePlease LIB "setuphlp.DLL" (szOrig$,szNew$)
  67.  
  68.  
  69.  
  70. '**========================================================================
  71. INIT:
  72.  
  73.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  74.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  75.  
  76.     SetBitmap CUIDLL$, LOGO
  77.  
  78.     IF GetWindowsMinorVersion() = 95 THEN
  79.  
  80.         ''#####################################
  81.         ''              WIN 95
  82.         ''#####################################
  83.         WinVer% = 1
  84.         SetTitle "VCD PowerPlayer for Windows 95"
  85.  
  86.     ELSEIF MyGetWinFlags() = 4 THEN
  87.  
  88.         ''#####################################
  89.         ''              WIN NT
  90.         ''#####################################
  91.         WinVer% = 2
  92.         SetTitle "VCD PowerPlayer for Windows NT"
  93.  
  94.     ELSE
  95.  
  96.         ''#####################################
  97.         ''              WIN 31
  98.         ''#####################################
  99.         WinVer% = 0
  100.         SetTitle "VCD PowerPlayer for Windows 3.1"
  101.  
  102.     END IF
  103.  
  104.  
  105.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  106.     IF szInf$ = "" THEN
  107.       szInf$ = GetSymbolValue("STF_CWDDIR") + "POWERVCD.INF"
  108.     END IF
  109.  
  110.     ReadInfFile szInf$
  111.  
  112.     DEST$       = "C:\POWERVCD"   '' set the default destination to C:\POWERVCD
  113.     WINDIR$     = GetWindowsDir()
  114.     WINSYSDIR$  = GetWindowsSysDir()
  115.  
  116.     SystemIni$ = MakePath(WINDIR$, "SYSTEM.INI")
  117.     WinIni$    = MakePath(WINDIR$, "WIN.INI")
  118.     CtrlIni$   = MakePath(WINDIR$, "CONTROL.INI")
  119.  
  120.     MpegLabel$ = "MpegVideo"
  121.     CDILabel$ = "CDIVideo"
  122.  
  123.  
  124. '**========================================================================
  125. WELCOME:
  126.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  127.  
  128.     IF sz$ = "CONTINUE" THEN
  129.       UIPop 1
  130.  
  131.     ELSE
  132.       GOSUB ASKQUIT
  133.       GOTO WELCOME
  134.  
  135.     END IF
  136.  
  137.  
  138. '**========================================================================
  139. GETDESTPATH:
  140.     SetSymbolValue "EditTextIn", DEST$
  141.  
  142. GETDESTPATH1:
  143.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  144.     DEST$ = GetSymbolValue("EditTextOut")
  145. '    SrcDir$ = GetSymbolValue( "STF_SRCDIR" )
  146.  
  147.     IF sz$ = "CONTINUE" THEN
  148.  
  149.       IF isDirWritable( DEST$ ) = 0 THEN
  150.         GOSUB BADPATH
  151.         GOTO GETDESTPATH1
  152.  
  153.       END IF
  154.  
  155.       drive$ = GetDriveInPath( DEST$ )  '' check for invalid drive in path
  156.  
  157.       IF IsDriveValid( drive$ ) = 0 THEN
  158.         GOSUB BADPATH
  159.         GOTO GETDESTPATH1
  160.  
  161.       END IF
  162.  
  163.       DestExists% = DoesDirExist( DEST$ )
  164.  
  165.       IF DestExists% = 1 THEN
  166.     GOTO DIREXISTS
  167.  
  168.       END IF
  169.       
  170.     ELSEIF sz$ = "REACTIVATE" THEN
  171.       GOTO GETDESTPATH1
  172.  
  173.     ELSE
  174.       GOSUB ASKQUIT
  175.       GOTO GETDESTPATH
  176.  
  177.     END IF
  178.  
  179. STARTINSTALL:
  180.     UIPopAll
  181.  
  182.     Install
  183.  
  184. '**========================================================================
  185. QUIT:
  186.     ON ERROR GOTO ERRQUIT
  187.  
  188.     IF ERR = 0 THEN
  189.       dlg% = EXITSUCCESS
  190.     ELSEIF ERR = STFQUIT THEN
  191.       dlg% = EXITQUIT
  192.     ELSE
  193.       dlg% = EXITFAILURE
  194.     END IF
  195.  
  196. QUITL1:
  197.     UIPopAll
  198.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  199.     IF sz$ = "REACTIVATE" THEN
  200.       GOTO QUITL1
  201.     END IF
  202.  
  203.     END
  204.  
  205. '**========================================================================
  206. ERRQUIT:
  207.     i% = DoMsgBox("Setup sources corrupted!","Setup Message",MB_OK+MB_TASKMODAL+MB_ICONHAND)
  208.     END
  209.  
  210. '**========================================================================
  211. BADPATH:
  212.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  213.  
  214.     IF sz$ = "REACTIVATE" THEN
  215.       GOTO BADPATH
  216.  
  217.     END IF
  218.  
  219.     UIPop 1
  220.     RETURN
  221.  
  222. '**========================================================================
  223. ASKQUIT:
  224.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  225.  
  226.     IF sz$ = "EXIT" THEN
  227.       UIPopAll
  228.       ERROR STFQUIT
  229.  
  230.     ELSEIF sz$ = "REACTIVATE" THEN
  231.       GOTO ASKQUIT
  232.  
  233.     ELSE
  234.       UIPop 1
  235.  
  236.     END IF
  237.  
  238.     RETURN
  239.  
  240. '**========================================================================
  241. DIREXISTS:
  242.     sz$ = UIStartDlg(CUIDLL$, DIREXISTS, "FInfoDlgProc", APPHELP, HELPPROC$)
  243.  
  244.     IF sz$ = "CONTINUE" THEN
  245.       UIPop 1
  246.       GOTO STARTINSTALL
  247.  
  248.     ELSEIF sz$ = "BACK" THEN
  249.       UIPop 1
  250.       GOTO GETDESTPATH1
  251.  
  252.     ELSE
  253.       GOSUB ASKQUIT
  254.       GOTO DIREXISTS
  255.  
  256.     END IF
  257.  
  258. '****************************************************************
  259. '*                                                              *
  260. '*                              Install                         *
  261. '*                                                              *
  262. '****************************************************************
  263.  
  264. SUB Install STATIC
  265.  
  266.  
  267.     SrcDir$    = GetSymbolValue("STF_SRCDIR")
  268.  
  269.     '
  270.     '  Copy Files
  271.     '
  272.     IF WinVer% <> 0 THEN
  273.         ''#####################################
  274.         ''          WIN 95 and WIN NT
  275.         ''#####################################
  276.  
  277.         DRVR$ = "ILMPEG32.DRV"
  278.         UIEXE$ = "POWERVCD.EXE"
  279.  
  280.         '
  281.         '  Copy Executable Files
  282.         '
  283.         AddSectionFilesToCopyList "POWERVCD Files", SrcDir$, DEST$
  284.  
  285.         '
  286.         '  Copy DLL
  287.         '
  288.         AddSectionFilesToCopyList "POWERVCD for WIN95 Driver Files", SrcDir$,WINSYSDIR$
  289.  
  290.         '
  291.         '  Copy DDRAW
  292.         '
  293.         AddSectionFilesToCopyList "DDRAW Files", SrcDir$,WINSYSDIR$
  294.         
  295.     ELSE
  296.  
  297.         ''#####################################
  298.         ''              WIN31
  299.         ''#####################################
  300.  
  301.         DRVR$ = "ILMPEG.DRV"
  302.         UIEXE$ = "POWERVCD.EXE"
  303.  
  304.         '
  305.         '  Copy Executable Files
  306.         '
  307.         AddSectionFilesToCopyList "POWERVCD Files", SrcDir$, DEST$
  308.  
  309.         '
  310.         '  Copy DLL
  311.         '
  312.         AddSectionFilesToCopyList "POWERVCD Driver Files", SrcDir$,WINSYSDIR$
  313.         
  314.         '
  315.         '  Copy WING Files
  316.         '
  317.         AddSectionFilesToCopyList "WING Files", SrcDir$, WINSYSDIR$
  318.         
  319.         '
  320.         '  Copy DCI Files
  321.         '
  322.         'AddSectionFilesToCopyList "DCI Files", SrcDir$, WINSYSDIR$
  323.         '
  324.         ' only use DVA on Windows 3.x
  325.         '
  326.         IF OnWin3x() = 1 THEN
  327.             AddSectionFilesToCopyList "WING DVA Files", SrcDir$, WINSYSDIR$
  328.             IF VflatdPresent() = 0 THEN
  329.                 CreateSysIniKeyValue SystemIni$, "386Enh", "DEVICE", "dva.386", cmoOverwrite
  330.             END IF
  331.         END IF
  332.  
  333.     END IF
  334.  
  335. '$IFDEF DEBUG
  336.     OpenLogFile MakePath(DEST$, "LOGFILE.OUT"), 0
  337.     WriteToLogFile ""
  338.     WriteToLogFile "  Destination directory set to: '" + DEST$ + "'"
  339.     WriteToLogFile ""
  340.     WriteToLogFile "MyGetWinFlags = "+STR$(MyGetWinFlags)
  341. '$ENDIF ''DEBUG
  342.  
  343. '$IFDEF DEBUG
  344.     WriteToLogFile ""
  345.     WriteToLogFile " Files copied in copy list... "
  346.     WriteToLogFile ""
  347. '$ENDIF ''DEBUG
  348.  
  349.     RemoveFile MakePath(WINDIR$, "MPLAYER.INI"), cmoForce
  350.  
  351. ''  i% = SetCopyMode( 0 )             '' debugging: don't copy files
  352.     i% = SetCopyMode( 1 )             '' copy files
  353.  
  354.     CopyFilesInCopyList
  355.  
  356.     ''#####################################
  357.     ''           Get sLanguage
  358.     ''#####################################
  359.  
  360.     szFile$ = WinIni$
  361.     szSect$ = "intl"
  362.     szKey$ = "sLanguage"
  363.  
  364.     FileExt$ = "txt"
  365.     keyExists% = DoesIniKeyExist( szFile$, szSect$, szKey$ )
  366.     IF keyExists% = 1 THEN
  367.         inibuf$ = GetIniKeyString( szFile$, szSect$, szKey$ )
  368.         FileExt$ = LCASE$(LTRIM$(inibuf$))
  369. '$IFDEF DEBUG
  370.         WriteToLogFile szKey$ + "=" + inibuf$
  371. '$ENDIF ''DEBUG
  372.     END IF
  373.  
  374. '$IFDEF DEBUG
  375.     WriteToLogFile "FileExt =" + FileExt$
  376. '$ENDIF ''DEBUG
  377.  
  378.  
  379.     ''#####################################
  380.     ''           ReadMe.txt
  381.     ''#####################################
  382.  
  383.     MyCopyFilename SrcDir$, "ReadMe", FileExt$
  384.  
  385.     ''#####################################
  386.     ''           Manual.txt
  387.     ''#####################################
  388.  
  389.     MyCopyFilename SrcDir$, "Manual", FileExt$
  390.  
  391.     ''#####################################
  392.     ''           Hinttext.txt
  393.     ''#####################################
  394.  
  395.     MyCopyFilename SrcDir$, "Hinttext", FileExt$
  396.  
  397.  
  398.     cdiDrive$ = DRVR$+" CDI/VCD"
  399.     PowerPlayerPath$ = MakePath( DEST$,UIEXE$ )
  400.     keydrv$ = "ILMPEG"
  401.  
  402.     '' =================================
  403.     ''          SYSTEM.INI
  404.     '' =================================
  405.  
  406.     '' ---------------------------------
  407.     '' [mci] section:
  408.     ''
  409.     '' MpegVideo=[driver name]
  410.     '' CDIVideo=[driver name]
  411.     '' ---------------------------------
  412.     '' [CyberLink]
  413.     '' PowerVCD=[destination path]
  414.     '' ---------------------------------
  415.  
  416.     sect$ = "mci"
  417.  
  418.  
  419.     DRIVERNUM% = 0              '' initialize DRIVERNUM to 0
  420.  
  421.     keyExists% = DoesIniKeyExist( SystemIni$, sect$, MpegLabel$ )
  422.  
  423.     IF keyExists% = 1 THEN      '' check for additional MpegVideo drivers
  424.       DRIVERNUM% = DRIVERNUM% + 1
  425.  
  426.       WHILE keyExists% = 1
  427.  
  428.         driver$ = MpegLabel$ + LTRIM$( STR$( DRIVERNUM% ) )
  429.         keyExists% = DoesIniKeyExist( SystemIni$, sect$, driver$ )
  430.  
  431.     IF keyExists% = 1 THEN
  432.       DRIVERNUM% = DRIVERNUM% + 1
  433.     END IF
  434.  
  435.       WEND
  436.  
  437.     END IF
  438.  
  439.  
  440.     IF DRIVERNUM% > 0 THEN
  441.  
  442.       FOR i% = DRIVERNUM%-1 To 1 STEP -1
  443.         drv$ = MpegLabel$ + LTRIM$( STR$( i% ) )
  444.         inibuf$ = GetIniKeyString( SystemIni$, sect$, drv$ )
  445.  
  446.         RemoveIniKey SystemIni$, sect$, drv$, cmoNone
  447.  
  448.         IF  INSTR(UCASE$(LTRIM$(inibuf$)), keydrv$) <= 0 THEN
  449.           drv$ = MpegLabel$ + LTRIM$( STR$( i%+1 ) )
  450.           CreateIniKeyValue SystemIni$, sect$, drv$, inibuf$, cmoOverwrite
  451.  
  452.         ENDIF
  453.  
  454.  
  455.       NEXT
  456.       
  457.       drv$ = MpegLabel$
  458.       inibuf$ = GetIniKeyString( SystemIni$, sect$, drv$ )
  459.       RemoveIniKey SystemIni$, sect$, drv$, cmoNone
  460.       IF INSTR(UCASE$(LTRIM$(inibuf$)), keydrvR$) <= 0 THEN
  461.         drv$ = MpegLabel$ + LTRIM$( STR$( 1 ) )
  462.         CreateIniKeyValue SystemIni$, sect$, drv$, inibuf$, cmoOverwrite
  463.  
  464.       ENDIF
  465.  
  466.     END IF
  467.  
  468.     CreateIniKeyValue SystemIni$, sect$, MpegLabel$, DRVR$, cmoOverwrite
  469.  
  470.  
  471.     DRIVERNUM% = 0              '' initialize DRIVERNUM to 0
  472.  
  473.     keyExists% = DoesIniKeyExist( SystemIni$, sect$, CDILabel$ )
  474.  
  475.     IF keyExists% = 1 THEN      '' check for additional CDIVideo drivers
  476.       DRIVERNUM% = DRIVERNUM% + 1
  477.  
  478.       WHILE keyExists% = 1
  479.  
  480.         driver$ = CDILabel$ + LTRIM$( STR$( DRIVERNUM% ) )
  481.         keyExists% = DoesIniKeyExist( SystemIni$, sect$, driver$ )
  482.  
  483.     IF keyExists% = 1 THEN
  484.       DRIVERNUM% = DRIVERNUM% + 1
  485.     END IF
  486.  
  487.       WEND
  488.  
  489.     END IF
  490.  
  491.  
  492.     IF DRIVERNUM% > 0 THEN
  493.  
  494.       FOR i% = DRIVERNUM%-1 To 1 STEP -1
  495.         drv$ = CDILabel$ + LTRIM$( STR$( i% ) )
  496.         inibuf$ = GetIniKeyString( SystemIni$, sect$, drv$ )
  497.  
  498.         RemoveIniKey SystemIni$, sect$, drv$, cmoNone
  499.  
  500.         IF INSTR(UCASE$(LTRIM$(inibuf$)), keydrv$) <= 0 THEN
  501.           drv$ = CDILabel$ + LTRIM$( STR$( i%+1 ) )
  502.           CreateIniKeyValue SystemIni$, sect$, drv$, inibuf$, cmoOverwrite
  503.  
  504.         ENDIF
  505.  
  506.  
  507.       NEXT
  508.       
  509.       drv$ = CDILabel$
  510.       inibuf$ = GetIniKeyString( SystemIni$, sect$, drv$ )
  511.       RemoveIniKey SystemIni$, sect$, drv$, cmoNone
  512.  
  513.       IF INSTR(UCASE$(LTRIM$(inibuf$)), keydrv$) <= 0 THEN
  514.         drv$ = CDILabel$ + LTRIM$( STR$( 1 ) )
  515.         CreateIniKeyValue SystemIni$, sect$, drv$, inibuf$, cmoOverwrite
  516.  
  517.       ENDIF
  518.  
  519.     END IF
  520.  
  521.     CreateIniKeyValue SystemIni$, sect$, CDILabel$, cdiDrive$, cmoOverwrite
  522.  
  523.     CreateIniKeyValue SystemIni$, "CyberLink", "PowerVCD", DEST$, cmoOverwrite
  524.  
  525.  
  526.     '' =================================
  527.     ''              WIN.INI
  528.     '' =================================
  529.  
  530.     '' ---------------------------------
  531.     '' [extension] section:
  532.     ''
  533.     '' mpg=powervcd.exe ^.mpg
  534.     '' dat=powervcd.exe ^.dat
  535.     '' ---------------------------------
  536.  
  537.     sect$ = "Extensions"
  538.  
  539.     szKey$ = "mpg"
  540.     szVal$ = PowerPlayerPath$ + " ^."+szKey$
  541.     keyExists% = DoesIniKeyExist( WinIni$, sect$, szKey$ )
  542.  
  543.     IF keyExists% THEN
  544.       CreateIniKeyValue WinIni$, sect$, szKey$, szVal$, cmoOverwrite
  545.  
  546.     ELSE
  547.       CreateIniKeyValue WinIni$, sect$, szKey$, szVal$, cmoNone
  548.  
  549.     ENDIF    
  550.  
  551.  
  552.     szKey$ = "dat"
  553.     szVal$ = PowerPlayerPath$ + " ^."+szKey$
  554.     keyExists% = DoesIniKeyExist( WinIni$, sect$, szKey$ )
  555.  
  556.     IF keyExists% THEN
  557.       CreateIniKeyValue WinIni$, sect$, szKey$, szVal$, cmoOverwrite
  558.  
  559.     ELSE
  560.       CreateIniKeyValue WinIni$, sect$, szKey$, szVal$, cmoNone
  561.  
  562.     ENDIF    
  563.  
  564.     '' ---------------------------------
  565.     '' [mci extension] section:
  566.     ''
  567.     '' mpg=MpegVideo
  568.     '' dat=MpegVideo
  569.     '' ---------------------------------
  570.  
  571.     sect$ = "mci extensions"
  572.     ext$ = "mpg"
  573.  
  574.     keyExists% = DoesIniKeyExist( WinIni$, sect$, ext$ )
  575.  
  576.     IF keyExists% THEN
  577.       CreateIniKeyValue WinIni$, sect$, ext$, MpegLabel$, cmoOverwrite
  578.  
  579.     ELSE
  580.       CreateIniKeyValue WinIni$, sect$, ext$, MpegLabel$, cmoNone
  581.  
  582.     ENDIF
  583.  
  584.     ext$ = "dat"
  585.  
  586.     keyExists% = DoesIniKeyExist( WinIni$, sect$, ext$ )
  587.  
  588.     IF keyExists% THEN
  589.       CreateIniKeyValue WinIni$, sect$, ext$, MpegLabel$, cmoOverwrite
  590.  
  591.     ELSE
  592.       CreateIniKeyValue WinIni$, sect$, ext$, MpegLabel$, cmoNone
  593.  
  594.     ENDIF
  595.  
  596.  
  597.     '' =================================
  598.     ''            CONTROL.INI
  599.     '' =================================
  600.  
  601.     '' ---------------------------------
  602.     '' [drivers.desc] section:
  603.     ''
  604.     '' ILMPEG.DRV=[MCI] PowerPlayer Driver
  605.     '' ---------------------------------
  606.  
  607.     sect$ = "drivers.desc"
  608.     m$ = "[MCI] PowerPlayer Driver"
  609.  
  610.     keyExists% = DoesIniKeyExist( CtrlIni$, sect$, DRVR$ )
  611.  
  612.     IF keyExists% THEN
  613.       CreateIniKeyValue CtrlIni$, sect$, DRVR$, m$, cmoOverwrite
  614.  
  615.     ELSE
  616.       CreateIniKeyValue CtrlIni$, sect$, DRVR$, m$, cmoNone
  617.  
  618.     ENDIF
  619.  
  620.     '' ---------------------------------
  621.     '' [Userinstallable.drivers] section:
  622.     ''
  623.     '' MpegVideo=ILMPEG.DRV
  624.     '' CDIVideo=ILMPEG.DRV
  625.     '' ---------------------------------
  626.     sect$ = "Userinstallable.drivers"
  627.     
  628.  
  629.     keyExists% = DoesIniKeyExist( CtrlIni$, sect$, MpegLabel$ )
  630.  
  631.     IF keyExists% THEN
  632.       CreateIniKeyValue CtrlIni$, sect$, MpegLabel$, DRVR$, cmoOverwrite
  633.       CreateIniKeyValue CtrlIni$, sect$, CDILabel$, cdiDrive$, cmoOverwrite
  634.  
  635.     ELSE
  636.       CreateIniKeyValue CtrlIni$, sect$, MpegLabel$, DRVR$, cmoNone
  637.       CreateIniKeyValue CtrlIni$, sect$, CDILabel$, cdiDrive$, cmoNone
  638.  
  639.     ENDIF    
  640.  
  641.     '' =================================
  642.     ''      REGISTRATION DATABASE
  643.     '' =================================
  644.  
  645.     '' ---------------------------------
  646.     '' mpg=powervcd.exe
  647.     '' dat=powervcd.exe
  648.     '' ---------------------------------
  649.     szVal$ = ".mpg"
  650.     keyExists% = DoesRegKeyExist( szVal$ )
  651.  
  652.     IF keyExists% THEN
  653.       DeleteRegKey szVal$
  654.     ENDIF
  655.  
  656.     CreateRegKey      szVal$
  657.     CreateRegKeyValue szVal$, PowerPlayerPath$
  658.  
  659.  
  660.     szVal$ = ".dat"
  661.     keyExists% = DoesRegKeyExist( szVal$ )
  662.  
  663.     IF keyExists% THEN
  664.       DeleteRegKey szVal$
  665.     ENDIF
  666.  
  667.     CreateRegKey      szVal$
  668.     CreateRegKeyValue szVal$, PowerPlayerPath$
  669.  
  670.  
  671.     '' =================================
  672.     ''    PROGRAM MANAGER GROUP/ICON
  673.     '' =================================
  674.  
  675.     '' ------------------------------------------------
  676.     '' Create PowerPlayer Program Manager Group and Icons
  677.     '' ------------------------------------------------
  678.     pgmGrp$ = "PowerPlayer"
  679.  
  680.     CreateProgmanGroup pgmGrp$, "", cmoNone
  681.     ShowProgmanGroup  pgmGrp$, 1, cmoNone
  682.  
  683.     '' ------------------------------
  684.     ''          PowerPlay.exe
  685.     '' ------------------------------
  686.     CreateProgmanItem pgmGrp$,"VCD PowerPlayer",PowerPlayerPath$,"",cmoOverwrite
  687.  
  688.     '' ------------------------------
  689.     ''         ReadMe.txt
  690.     '' ------------------------------
  691.     ReadmePath$ = "NOTEPAD.EXE " + MakePath( DEST$, "ReadMe.txt" )
  692.     CreateProgmanItem pgmGrp$,"PowerPlayer ReadMe File", ReadmePath$,"",cmoOverwrite
  693.  
  694.     '' ------------------------------
  695.     ''         Manual.txt
  696.     '' ------------------------------
  697.     ManualPath$ = "NOTEPAD.EXE " + MakePath( DEST$, "Manual.txt" )
  698.     CreateProgmanItem pgmGrp$,"PowerPlayer Manual File", ManualPath$,"",cmoOverwrite
  699.  
  700.     '' ------------------------------
  701.     ''         Unintall
  702.     '' ------------------------------
  703. ''    uninstPath$ = MakePath( DEST$, "uninst.exe" )
  704. ''    CreateProgmanItem pgmGrp$,"Uninstall",uninstPath$,"",cmoOverwrite
  705.  
  706.  
  707. '$IFDEF DEBUG
  708.     CloseLogFile
  709. '$ENDIF ''DEBUG
  710.  
  711. END SUB
  712.  
  713. '****************************************************************
  714. '*                                                              *
  715. '*                              MakePath             *
  716. '*                                                              *
  717. '****************************************************************
  718.  
  719. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  720.  
  721.     IF szDir$ = "" THEN
  722.       MakePath = szFile$
  723.  
  724.     ELSEIF szFile$ = "" THEN
  725.       MakePath = szDir$
  726.  
  727.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  728.       MakePath = szDir$ + szFile$
  729.  
  730.     ELSE
  731.       MakePath = szDir$ + "\" + szFile$
  732.  
  733.     END IF
  734.  
  735. END FUNCTION
  736.  
  737. '****************************************************************
  738. '*                                                              *
  739. '*                       GetDriveInPath                         *
  740. '*                                                              *
  741. '****************************************************************
  742.  
  743. FUNCTION GetDriveInPath( szPath$ ) STATIC AS STRING
  744.  
  745.     IF INSTR( szPath$, ":" ) = 0 THEN   '' no drive in path
  746.       GetDriveInPath = "C"
  747.  
  748.     ELSE
  749.       GetDriveInPath = MID$( szPath$, 1, 1 )
  750.  
  751.     END IF
  752.  
  753. END FUNCTION
  754.  
  755. '****************************************************************
  756. '*                                                              *
  757. '*                       MyCopyFilename                         *
  758. '*                                                              *
  759. '****************************************************************
  760.  
  761. SUB MyCopyFilename(szSrcDir$, szFileName$, szFileExt$) STATIC
  762.  
  763.     DIM szMySpool$ (20)
  764.     DIM II%
  765.  
  766.     szFileExt$ = LCASE$(szFileExt$)
  767.  
  768.     ''=====================================
  769.     ''          szFileExt$
  770.     ''=====================================
  771.     szFullFilename$ = MakePath(szSrcDir$, szFileName$+"."+szFileExt$)
  772.     IF DoesFileExist(szFullFilename$, femExists) = 1 THEN
  773.       GOTO MyCopyFilename_copyfilename
  774.     END IF
  775.  
  776.  
  777.     ''========================================================
  778.     '' English : ena, eng, enc, eni, enz, ens, enu, usa
  779.     ''========================================================
  780.     szMySpool$(0) = "ena"
  781.     szMySpool$(1) = "eng"
  782.     szMySpool$(2) = "enc"
  783.     szMySpool$(3) = "eni"
  784.     szMySpool$(4) = "enz"
  785.     szMySpool$(5) = "ens"
  786.     szMySpool$(6) = "enu"
  787.     szMySpool$(7) = "usa"
  788.     KK% = 7
  789.     found% = 0
  790.     FOR II% = 0 TO KK% STEP 1
  791.         IF INSTR((LCASE$(szMySpool$(II%))), szFileExt$) > 0 THEN
  792.             found% = 1
  793.             EXIT FOR
  794.         END IF
  795.     NEXT II%
  796.     IF found% = 1 THEN
  797.       GOTO MyCopyFilename_default
  798.     ENDIF
  799.  
  800.     ''========================================================
  801.     '' Ducth : nlb, nld, dut
  802.     ''========================================================
  803.     szMySpool$(0) = "nlb"
  804.     szMySpool$(1) = "nld"
  805.     szMySpool$(2) = "dut"
  806.     KK% = 2
  807.     found% = 0
  808.     FOR II% = 0 TO KK% STEP 1
  809.         IF INSTR((LCASE$(szMySpool$(II%))), szFileExt$) > 0 THEN
  810.             found% = 1
  811.             EXIT FOR
  812.         END IF
  813.     NEXT II%
  814.     IF found% = 1 THEN
  815.         found% = 0
  816.         FOR JJ% = 0 TO KK% STEP 1
  817.             IF II% <> JJ% THEN
  818.                 szFullFilename$ = MakePath(szSrcDir$, szFileName$+"."+szMySpool$(JJ%))
  819.                 IF DoesFileExist(szFullFilename$, femExists) = 1 THEN
  820.                     found% = 1
  821.                     EXIT FOR
  822.                 END IF
  823.             END IF
  824.         NEXT JJ%
  825.         IF found% = 1 THEN
  826.             GOTO MyCopyFilename_copyfilename
  827.         ELSE
  828.             GOTO MyCopyFilename_default
  829.         END IF
  830.     END IF
  831.  
  832.     ''========================================================
  833.     '' French : frb, frc, fcf, frl, fra, frn, frs
  834.     ''========================================================
  835.     szMySpool$(0) = "frb"
  836.     szMySpool$(1) = "frc"
  837.     szMySpool$(2) = "fcf"
  838.     szMySpool$(3) = "frl"
  839.     szMySpool$(4) = "fra"
  840.     szMySpool$(5) = "frn"
  841.     szMySpool$(6) = "frs"
  842.     KK% = 6
  843.     found% = 0
  844.     FOR II% = 0 TO KK% STEP 1
  845.         IF INSTR((LCASE$(szMySpool$(II%))), szFileExt$) > 0 THEN
  846.             found% = 1
  847.             EXIT FOR
  848.         END IF
  849.     NEXT II%
  850.     IF found% = 1 THEN
  851.         found% = 0
  852.         FOR JJ% = 0 TO KK% STEP 1
  853.             IF II% <> JJ% THEN
  854.                 szFullFilename$ = MakePath(szSrcDir$, szFileName$+"."+szMySpool$(JJ%))
  855.                 IF DoesFileExist(szFullFilename$, femExists) = 1 THEN
  856.                     found% = 1
  857.                     EXIT FOR
  858.                 END IF
  859.             END IF
  860.         NEXT JJ%
  861.         IF found% = 1 THEN
  862.             GOTO MyCopyFilename_copyfilename
  863.         ELSE
  864.             GOTO MyCopyFilename_default
  865.         END IF
  866.     END IF
  867.  
  868.     ''========================================================
  869.     '' German : dea, dec, del, deu, ger, des
  870.     ''========================================================
  871.     szMySpool$(0) = "dea"
  872.     szMySpool$(1) = "dec"
  873.     szMySpool$(2) = "del"
  874.     szMySpool$(3) = "deu"
  875.     szMySpool$(4) = "ger"
  876.     szMySpool$(5) = "des"
  877.     KK% = 5
  878.     found% = 0
  879.     FOR II% = 0 TO KK% STEP 1
  880.         IF INSTR((LCASE$(szMySpool$(II%))), szFileExt$) > 0 THEN
  881.             found% = 1
  882.             EXIT FOR
  883.         END IF
  884.     NEXT II%
  885.     IF found% = 1 THEN
  886.         found% = 0
  887.         FOR JJ% = 0 TO KK% STEP 1
  888.             IF II% <> JJ% THEN
  889.                 szFullFilename$ = MakePath(szSrcDir$, szFileName$+"."+szMySpool$(JJ%))
  890.                 IF DoesFileExist(szFullFilename$, femExists) = 1 THEN
  891.                     found% = 1
  892.                     EXIT FOR
  893.                 END IF
  894.             END IF
  895.         NEXT JJ%
  896.         IF found% = 1 THEN
  897.             GOTO MyCopyFilename_copyfilename
  898.         ELSE
  899.             GOTO MyCopyFilename_default
  900.         END IF
  901.     END IF
  902.  
  903.     ''========================================================
  904.     '' Italian : ita, itn, its
  905.     ''========================================================
  906.     szMySpool$(0) = "ita"
  907.     szMySpool$(1) = "itn"
  908.     szMySpool$(2) = "its"
  909.     KK% = 2
  910.     found% = 0
  911.     FOR II% = 0 TO KK% STEP 1
  912.         IF INSTR((LCASE$(szMySpool$(II%))), szFileExt$) > 0 THEN
  913.             found% = 1
  914.             EXIT FOR
  915.         END IF
  916.     NEXT II%
  917.     IF found% = 1 THEN
  918.         found% = 0
  919.         FOR JJ% = 0 TO KK% STEP 1
  920.             IF II% <> JJ% THEN
  921.                 szFullFilename$ = MakePath(szSrcDir$, szFileName$+"."+szMySpool$(JJ%))
  922.                 IF DoesFileExist(szFullFilename$, femExists) = 1 THEN
  923.                     found% = 1
  924.                     EXIT FOR
  925.                 END IF
  926.             END IF
  927.         NEXT JJ%
  928.         IF found% = 1 THEN
  929.             GOTO MyCopyFilename_copyfilename
  930.         ELSE
  931.             GOTO MyCopyFilename_default
  932.         END IF
  933.     END IF
  934.  
  935.     ''========================================================
  936.     '' Norwegian : nor, non
  937.     ''========================================================
  938.     szMySpool$(0) = "nor"
  939.     szMySpool$(1) = "non"
  940.     KK% = 1
  941.     found% = 0
  942.     FOR II% = 0 TO KK% STEP 1
  943.         IF INSTR((LCASE$(szMySpool$(II%))), szFileExt$) > 0 THEN
  944.             found% = 1
  945.             EXIT FOR
  946.         END IF
  947.     NEXT II%
  948.     IF found% = 1 THEN
  949.         found% = 0
  950.         FOR JJ% = 0 TO KK% STEP 1
  951.             IF II% <> JJ% THEN
  952.                 szFullFilename$ = MakePath(szSrcDir$, szFileName$+"."+szMySpool$(JJ%))
  953.                 IF DoesFileExist(szFullFilename$, femExists) = 1 THEN
  954.                     found% = 1
  955.                     EXIT FOR
  956.                 END IF
  957.             END IF
  958.         NEXT JJ%
  959.         IF found% = 1 THEN
  960.             GOTO MyCopyFilename_copyfilename
  961.         ELSE
  962.             GOTO MyCopyFilename_default
  963.         END IF
  964.     END IF
  965.  
  966.     ''========================================================
  967.     '' Portuguese : ptb, ptg, por
  968.     ''========================================================
  969.     szMySpool$(0) = "ptb"
  970.     szMySpool$(1) = "ptg"
  971.     szMySpool$(2) = "por"
  972.     KK% = 2
  973.     found% = 0
  974.     FOR II% = 0 TO KK% STEP 1
  975.         IF INSTR((LCASE$(szMySpool$(II%))), szFileExt$) > 0 THEN
  976.             found% = 1
  977.             EXIT FOR
  978.         END IF
  979.     NEXT II%
  980.     IF found% = 1 THEN
  981.         found% = 0
  982.         FOR JJ% = 0 TO KK% STEP 1
  983.             IF II% <> JJ% THEN
  984.                 szFullFilename$ = MakePath(szSrcDir$, szFileName$+"."+szMySpool$(JJ%))
  985.                 IF DoesFileExist(szFullFilename$, femExists) = 1 THEN
  986.                     found% = 1
  987.                     EXIT FOR
  988.                 END IF
  989.             END IF
  990.         NEXT JJ%
  991.         IF found% = 1 THEN
  992.             GOTO MyCopyFilename_copyfilename
  993.         ELSE
  994.             GOTO MyCopyFilename_default
  995.         END IF
  996.     END IF
  997.  
  998.     ''========================================================
  999.     '' Spanish : esp, esm, esn, spa
  1000.     ''========================================================
  1001.     szMySpool$(0) = "esp"
  1002.     szMySpool$(1) = "esm"
  1003.     szMySpool$(2) = "esn"
  1004.     szMySpool$(3) = "spa"
  1005.     KK% = 3
  1006.     found% = 0
  1007.     FOR II% = 0 TO KK% STEP 1
  1008.         IF INSTR((LCASE$(szMySpool$(II%))), szFileExt$) > 0 THEN
  1009.             found% = 1
  1010.             EXIT FOR
  1011.         END IF
  1012.     NEXT II%
  1013.     IF found% = 1 THEN
  1014.         found% = 0
  1015.         FOR JJ% = 0 TO KK% STEP 1
  1016.             IF II% <> JJ% THEN
  1017.                 szFullFilename$ = MakePath(szSrcDir$, szFileName$+"."+szMySpool$(JJ%))
  1018.                 IF DoesFileExist(szFullFilename$, femExists) = 1 THEN
  1019.                     found% = 1
  1020.                     EXIT FOR
  1021.                 END IF
  1022.             END IF
  1023.         NEXT JJ%
  1024.         IF found% = 1 THEN
  1025.             GOTO MyCopyFilename_copyfilename
  1026.         ELSE
  1027.             GOTO MyCopyFilename_default
  1028.         END IF
  1029.     END IF
  1030.  
  1031.     ''=====================================
  1032.     ''          Default
  1033.     ''=====================================
  1034. MyCopyFilename_default:
  1035.     szFullFilename$ = MakePath(szSrcDir$, szFileName$+".txt")
  1036.     IF DoesFileExist(szFullFilename$, femExists) = 1 THEN
  1037.       GOTO MyCopyFilename_copyfilename
  1038.     END IF
  1039.  
  1040.     ''=====================================
  1041.     ''     Copy Nothing
  1042.     ''=====================================
  1043.     GOTO MyCopyFilename_end
  1044.  
  1045.  
  1046.     ''=====================================
  1047.     ''     MyCopyFilename_copyfilename
  1048.     ''=====================================
  1049. MyCopyFilename_copyfilename:
  1050.  
  1051. '$IFDEF DEBUG
  1052.     WriteToLogFile "Copy File => " + szFullFilename$
  1053. '$ENDIF ''DEBUG
  1054.  
  1055.     CopyFile szFullFilename, MakePath(DEST$, szFileName$+".txt"), cmoOverwrite, 0
  1056.  
  1057.     ''=====================================
  1058.     ''      MyCopyFilename_end
  1059.     ''=====================================
  1060. MyCopyFilename_end:
  1061.  
  1062. END SUB
  1063.  
  1064.