fastreport自动安装bat

fastreport自动安装bat

@Echo off

set DVer=28
set CVer=2022.2.0
set DBpl="C:\Users\Public\Documents\Embarcadero\Studio\22.0\Bpl"
set DDcp="C:\Users\Public\Documents\Embarcadero\Studio\22.0\Dcp"
set DCC32="C:\Program Files\Embarcadero\Studio\22.0\bin\Dcc32.exe" -M -Z -JPHNE -JL -NSSystem;Xml;Data;Datasnap;Web;Soap;Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;VclTee -DTeeChart9;QBUILDER -I -R -U"c:\program files\embarcadero\studio\22.0\lib\Win32\release"
:: DCC32 -D参数
:: -DTeeChartStd (Delphi系统自带的标准版)
:: -DTeeChart9   (TeeChart Pro 9源码版)

set Log=..\..\FRInstallerD28v2021.log
set Lib=%CVer%\LibD%DVer%

if exist %log% del %log%

call :MDDir
call :CopyFile
call :FrccCHS
call :Compile
call :CopyBpl
call :RegDel
call :RegAdd

type %Log% | find "Fatal"
type %Log% | find " Error"
type %Log% | find "失败"
pause
goto :eof


:MDDir
echo 建立文件夹 ==================================================
if not exist %Lib% md %Lib%
del /Q %Lib%\*.* >nul

if not exist %Lib%_bpl md %Lib%_bpl
del /Q %Lib%_bpl\*.* >nul
goto :eof


:CopyFile
echo 复制源文件 ==================================================
cd /d %Lib%
>>%Log% copy /Y ..\FastQB\*.*
>>%Log% copy /Y ..\FastScript\*.*
>>%Log% copy /Y ..\Source\*.*
>>%Log% copy /Y ..\Source\ADO\*.*
>>%Log% copy /Y ..\Source\ClientServer\*.*
>>%Log% copy /Y ..\Source\DBX\*.*
>>%Log% copy /Y ..\Source\ExportPack\*.*
>>%Log% copy /Y ..\Source\IBX\*.*
>>%Log% copy /Y ..\Source\PDFView\*.*

echo 修改tee.inc =================================================
set file=tee.inc
setlocal enabledelayedexpansion
for /f "tokens=1* delims=:" %%i in ('findstr /n .* "%file%"') do (
  set str=%%j 
  if "!str!"=="//{$DEFINE TeeChart9} " set "str={$DEFINE TeeChart9} "
  >>"%file%_tmp.txt" echo.!str!
) 
endlocal
>>%Log% move "%file%"_tmp.txt "%file%"
goto :eof



:FrccCHS
echo 汉化资源 ====================================================
call ..\..\frcc\frcc.exe ..\Res\Chinese\frxrcClass.xml
call ..\..\frcc\frcc.exe ..\Res\Chinese\frxrcDesgn.xml
call ..\..\frcc\frcc.exe ..\Res\Chinese\frxrcExports.xml
call ..\..\frcc\frcc.exe ..\Res\Chinese\frxrcInsp.xml
>>%Log% copy /Y ..\Res\Chinese\*.xml
>>%Log% copy /Y ..\Res\Chinese\*.pas
>>%Log% del ..\Res\Chinese\*.pas
goto :eof


:Compile
echo 编译包 ======================================================
::非Delphi自带的TeeChart版,需复制自己安装的Tee*.dcp文件
>>%Log% copy /Y %DDcp%\Tee928.dcp
>>%Log% copy /Y %DDcp%\TeeUI928.dcp
>>%Log% copy /Y %DDcp%\TeePRO928.dcp

>>%Log% %DCC32% fqb%DVer%0.dpk
>>%Log% %DCC32% fs%DVer%.dpk
>>%Log% %DCC32% fsDB%DVer%.dpk
>>%Log% %DCC32% fsADO%DVer%.dpk
>>%Log% %DCC32% fsIBX%DVer%.dpk
>>%Log% %DCC32% fsTee%DVer%.dpk
>>%Log% %DCC32% frx%DVer%.dpk
>>%Log% %DCC32% frxDB%DVer%.dpk
>>%Log% %DCC32% frxADO%DVer%.dpk
>>%Log% %DCC32% frxIBX%DVer%.dpk
>>%Log% %DCC32% frxDBX%DVer%.dpk
>>%Log% %DCC32% frxTee%DVer%.dpk
>>%Log% %DCC32% frxe%DVer%.dpk
>>%Log% %DCC32% frxcs%DVer%.dpk
>>%Log% %DCC32% frxIntIOBase%DVer%.dpk
>>%Log% %DCC32% frxIntIO%DVer%.dpk
>>%Log% %DCC32% frxIntIOIndy%DVer%.dpk
>>%Log% %DCC32% frxHTML%DVer%.dpk
>>%Log% %DCC32% frxPDF%DVer%.dpk
>>%Log% %DCC32% dclfs%DVer%.dpk
>>%Log% %DCC32% dclfsDB%DVer%.dpk
>>%Log% %DCC32% dclfsADO%DVer%.dpk
>>%Log% %DCC32% dclfsIBX%DVer%.dpk
>>%Log% %DCC32% dclfsTee%DVer%.dpk
>>%Log% %DCC32% dclfrx%DVer%.dpk
>>%Log% %DCC32% dclfrxDB%DVer%.dpk
>>%Log% %DCC32% dclfrxADO%DVer%.dpk
>>%Log% %DCC32% dclfrxIBX%DVer%.dpk
>>%Log% %DCC32% dclfrxDBX%DVer%.dpk
>>%Log% %DCC32% dclfrxTee%DVer%.dpk
>>%Log% %DCC32% dclfrxe%DVer%.dpk
>>%Log% %DCC32% dclfrxcs%DVer%.dpk
>>%Log% %DCC32% dclfrxIntIO%DVer%.dpk
>>%Log% %DCC32% dclfrxIntIOIndy%DVer%.dpk
>>%Log% %DCC32% dclfrxHTML%DVer%.dpk
>>%Log% %DCC32% dclfrxPDF%DVer%.dpk

del Tee928.dcp     >nul
del TeeUI928.dcp   >nul
del TeePRO928.dcp  >nul
goto:eof


:CopyBpl
echo 复制BPL =====================================================
>>%Log% copy /Y *.bpl ..\LibD%DVer%_bpl\*.*
>>%Log% copy /Y *.bpi ..\LibD%DVer%_bpl\*.*
>>%Log% copy /Y *.dcp ..\LibD%DVer%_bpl\*.*
>>%Log% copy /Y *.lib ..\LibD%DVer%_bpl\*.*

>>%Log% copy /Y *.bpl %DBpl%\*.*
>>%Log% copy /Y *.bpi %DDcp%\*.*
>>%Log% copy /Y *.dcp %DDcp%\*.*
>>%Log% copy /Y *.lib %DDcp%\*.*

del *.bpl >nul
del *.bpi >nul
del *.dcp >nul
del *.lib >nul
goto :eof


:RegDel
echo 删除注册 ====================================================
echo 删除注册 >>%Log%
set RDel=REG DELETE HKCU\Software\Embarcadero\BDS\22.0\Known" "Packages /v %DBpl%
>>%Log% %RDel%\dclfrx%DVer%.bpl           /f
>>%Log% %RDel%\dclfrxDB%DVer%.bpl         /f
>>%Log% %RDel%\dclfrxADO%DVer%.bpl        /f
>>%Log% %RDel%\dclfrxIBX%DVer%.bpl        /f
>>%Log% %RDel%\dclfrxDBX%DVer%.bpl        /f
>>%Log% %RDel%\dclfrxTee%DVer%.bpl        /f
>>%Log% %RDel%\dclfrxe%DVer%.bpl          /f
>>%Log% %RDel%\dclfrxcs%DVer%.bpl         /f
>>%Log% %RDel%\dclfrxIntIO%DVer%.bpl      /f
>>%Log% %RDel%\dclfrxIntIOIndy%DVer%.bpl  /f
>>%Log% %RDel%\dclfrxHTML%DVer%.bpl       /f
>>%Log% %RDel%\dclfrxPDF%DVer%.bpl        /f

>>%Log% %RDel%\dclfs%DVer%.bpl            /f
>>%Log% %RDel%\dclfsDB%DVer%.bpl          /f
>>%Log% %RDel%\dclfsADO%DVer%.bpl         /f
>>%Log% %RDel%\dclfsIBX%DVer%.bpl         /f
>>%Log% %RDel%\dclfsTee%DVer%.bpl         /f
goto :eof


:RegAdd
echo 增加注册 ====================================================
echo 增加注册 >>%Log%
set RAdd=REG ADD HKCU\Software\Embarcadero\BDS\22.0\Known" "Packages /v %DBpl%
>>%Log% %RAdd%\dclfrx%DVer%.bpl           /f /t REG_SZ /d "FastReport(%CVer%) VCL Components"
>>%Log% %RAdd%\dclfrxDB%DVer%.bpl         /f /t REG_SZ /d "FastReport(%CVer%) VCL DB Components"
>>%Log% %RAdd%\dclfrxADO%DVer%.bpl        /f /t REG_SZ /d "FastReport(%CVer%) VCL ADO Components"
>>%Log% %RAdd%\dclfrxIBX%DVer%.bpl        /f /t REG_SZ /d "FastReport(%CVer%) VCL IBX Components"
>>%Log% %RAdd%\dclfrxDBX%DVer%.bpl        /f /t REG_SZ /d "FastReport(%CVer%) VCL DBX Components"
>>%Log% %RAdd%\dclfrxTee%DVer%.bpl        /f /t REG_SZ /d "FastReport(%CVer%) VCL Tee Components"
>>%Log% %RAdd%\dclfrxe%DVer%.bpl          /f /t REG_SZ /d "FastReport(%CVer%) VCL Exports"
>>%Log% %RAdd%\dclfrxcs%DVer%.bpl         /f /t REG_SZ /d "FastReport(%CVer%) VCL Client/Server Components"
>>%Log% %RAdd%\dclfrxIntIO%DVer%.bpl      /f /t REG_SZ /d "FastReport(%CVer%) VCL Internet transports"
>>%Log% %RAdd%\dclfrxIntIOIndy%DVer%.bpl  /f /t REG_SZ /d "FastReport(%CVer%) VCL Internet transports"
>>%Log% %RAdd%\dclfrxHTML%DVer%.bpl       /f /t REG_SZ /d "FastReport(%CVer%) VCL HTMLView Components"
>>%Log% %RAdd%\dclfrxPDF%DVer%.bpl        /f /t REG_SZ /d "FastReport(%CVer%) VCL PDF Components"

>>%Log% %RAdd%\dclfs%DVer%.bpl            /f /t REG_SZ /d "FastScript(%CVer%) 1.9 Components"
>>%Log% %RAdd%\dclfsDB%DVer%.bpl          /f /t REG_SZ /d "FastScript(%CVer%) 1.9 DB Components"
>>%Log% %RAdd%\dclfsADO%DVer%.bpl         /f /t REG_SZ /d "FastScript(%CVer%) 1.9 ADO Components"
>>%Log% %RAdd%\dclfsIBX%DVer%.bpl         /f /t REG_SZ /d "FastScript(%CVer%) 1.9 IBX Components"
>>%Log% %RAdd%\dclfsTee%DVer%.bpl         /f /t REG_SZ /d "FastScript(%CVer%) 1.9 Tee Components"
goto :eof

 

posted @ 2025-03-28 09:34  delphi中间件  阅读(43)  评论(0)    收藏  举报