Sandboxie/Installer/copy_build.cmd

247 lines
9.0 KiB
Batchfile

call "%~dp0..\Installer\buildVariables.cmd" %*
REM @ECHO OFF
REM echo %*
REM IF "%~4" == "" ( set "openssl_version=3.4.0" ) ELSE ( set "openssl_version=%~4" )
REM IF "%~3" == "" ( set "qt6_version=6.3.1" ) ELSE ( set "qt6_version=%~3" )
REM IF "%~2" == "" ( set "qt_version=5.15.16" ) ELSE ( set "qt_version=%~2" )
IF "%openssl_version:~0,3%" == "1.1" ( set "sslMajorVersion=1_1" ) ELSE ( set "sslMajorVersion=3" )
IF %1 == x86 (
set archPath=Win32
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars32.bat"
set qtPath=%~dp0..\..\Qt\%qt_version%\msvc2019
set instPath=%~dp0\SbiePlus_x86
)
IF %1 == x64 (
set archPath=x64
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
REM set qtPath=%~dp0..\..\Qt\%qt6_version%\msvc2019_64
set qtPath=%~dp0..\..\Qt\%qt_version%\msvc2019_64
set instPath=%~dp0\SbiePlus_x64
)
IF %1 == ARM64 (
set archPath=ARM64
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsamd64_arm64.bat"
set qtPath=%~dp0..\..\Qt\%qt6_version%\msvc2019_arm64
set instPath=%~dp0\SbiePlus_a64
set "sslMajorVersion=1_1"
)
REM set redistPath=%VCToolsRedistDir%\%1\Microsoft.VC142.CRT
set redistPath=C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Redist\MSVC\%VCToolsVersion%\%1\Microsoft.VC142.CRT
@echo on
set srcPath=%~dp0..\SandboxiePlus\Bin\%archPath%\Release
set sbiePath=%~dp0..\Sandboxie\Bin\%archPath%\SbieRelease
echo inst: %instPath%
echo arch: %archPath%
echo redistr: %redistPath%
echo source: %srcPath%
echo source: %sbiePath%
mkdir %instPath%
ECHO Copying VC Runtime files
copy "%redistPath%\*" %instPath%\
ECHO Copying Qt libraries
if "%qt_version:~0,1%" == "5" (
echo Copying Qt5 libraries...
IF NOT %archPath% == ARM64 (
REM If not ARM64 (e.g., x86 or x64)
echo Copying Qt5Core.dll
copy %qtPath%\bin\Qt5Core.dll %instPath%\
echo Copying Qt5Gui.dll
copy %qtPath%\bin\Qt5Gui.dll %instPath%\
echo Copying Qt5Network.dll
copy %qtPath%\bin\Qt5Network.dll %instPath%\
echo Copying Qt5Widgets.dll
copy %qtPath%\bin\Qt5Widgets.dll %instPath%\
echo Copying Qt5WinExtras.dll
copy %qtPath%\bin\Qt5WinExtras.dll %instPath%\
echo Copying Qt5Qml.dll
copy %qtPath%\bin\Qt5Qml.dll %instPath%\
) ELSE (
REM If ARM64, using Qt6
echo Copying Qt6Core.dll
copy %qtPath%\bin\Qt6Core.dll %instPath%\
echo Copying Qt6Gui.dll
copy %qtPath%\bin\Qt6Gui.dll %instPath%\
echo Copying Qt6Network.dll
copy %qtPath%\bin\Qt6Network.dll %instPath%\
echo Copying Qt6Widgets.dll
copy %qtPath%\bin\Qt6Widgets.dll %instPath%\
echo Copying Qt6Qml.dll
copy %qtPath%\bin\Qt6Qml.dll %instPath%\
)
) else (
REM If not Qt5, assuming Qt6
echo Copying Qt6 libraries...
echo Copying Qt6Core.dll
copy %qtPath%\bin\Qt6Core.dll %instPath%\
echo Copying Qt6Gui.dll
copy %qtPath%\bin\Qt6Gui.dll %instPath%\
echo Copying Qt6Network.dll
copy %qtPath%\bin\Qt6Network.dll %instPath%\
echo Copying Qt6Widgets.dll
copy %qtPath%\bin\Qt6Widgets.dll %instPath%\
echo Copying Qt6Qml.dll
copy %qtPath%\bin\Qt6Qml.dll %instPath%\
)
echo Done copying libraries.
mkdir %instPath%\platforms
copy %qtPath%\plugins\platforms\qdirect2d.dll %instPath%\platforms\
copy %qtPath%\plugins\platforms\qminimal.dll %instPath%\platforms\
copy %qtPath%\plugins\platforms\qoffscreen.dll %instPath%\platforms\
copy %qtPath%\plugins\platforms\qwindows.dll %instPath%\platforms\
mkdir %instPath%\styles
copy %qtPath%\plugins\styles\qwindowsvistastyle.dll %instPath%\styles\
rem Qt 6.7+
copy %qtPath%\plugins\styles\qmodernwindowsstyle.dll %instPath%\styles\
IF %archPath% == ARM64 (
mkdir %instPath%\tls
copy %qtPath%\plugins\tls\qcertonlybackend.dll %instPath%\tls\
copy %qtPath%\plugins\tls\qopensslbackend.dll %instPath%\tls\
copy %qtPath%\plugins\tls\qschannelbackend.dll %instPath%\tls\
)
IF %archPath% == x64 (
if "%qt_version:~0,1%" == "6" (
mkdir %instPath%\tls
copy %qtPath%\plugins\tls\qopensslbackend.dll %instPath%\tls\
)
)
ECHO Copying OpenSSL libraries
IF %archPath% == Win32 (
copy /y %~dp0OpenSSL\Win_x86\bin\libssl-%sslMajorVersion%.dll %instPath%\
copy /y %~dp0OpenSSL\Win_x86\bin\libcrypto-%sslMajorVersion%.dll %instPath%\
)
IF NOT %archPath% == Win32 (
copy /y %~dp0OpenSSL\Win_%archPath%\bin\libssl-%sslMajorVersion%-%archPath%.dll %instPath%\
copy /y %~dp0OpenSSL\Win_%archPath%\bin\libcrypto-%sslMajorVersion%-%archPath%.dll %instPath%\
)
ECHO Copying 7zip library
copy /y %~dp07-Zip\7-Zip-%archPath%\7z.dll %instPath%\
ECHO Copying SandMan project and libraries
copy %srcPath%\MiscHelpers.dll %instPath%\
copy %srcPath%\MiscHelpers.pdb %instPath%\
copy %srcPath%\QSbieAPI.dll %instPath%\
copy %srcPath%\QSbieAPI.pdb %instPath%\
copy %srcPath%\QtSingleApp.dll %instPath%\
copy %srcPath%\QtSingleApp.pdb %instPath%\
copy %srcPath%\UGlobalHotkey.dll %instPath%\
copy %srcPath%\UGlobalHotkey.pdb %instPath%\
copy %srcPath%\SandMan.exe %instPath%\
copy %srcPath%\SandMan.pdb %instPath%\
ECHO Copying SandMan translations
mkdir %instPath%\translations\
rem copy /y %~dp0..\SandboxiePlus\SandMan\sandman_*.qm %instPath%\translations\
copy /y %~dp0..\SandboxiePlus\Build_SandMan_%archPath%\release\sandman_*.qm %instPath%\translations\
copy /y %~dp0\qttranslations\qm\qt_*.qm %instPath%\translations\
copy /y %~dp0\qttranslations\qm\qtbase_*.qm %instPath%\translations\
copy /y %~dp0\qttranslations\qm\qtmultimedia_*.qm %instPath%\translations\
IF NOT %archPath% == ARM64 (
REM IF %archPath% == Win32 (
copy /y %qtPath%\translations\qtscript_*.qm %instPath%\translations\
copy /y %qtPath%\translations\qtxmlpatterns_*.qm %instPath%\translations\
)
"C:\Program Files\7-Zip\7z.exe" a %instPath%\translations.7z %instPath%\translations\*
rmdir /S /Q %instPath%\translations\
"C:\Program Files\7-Zip\7z.exe" a %instPath%\troubleshooting.7z %~dp0..\SandboxiePlus\SandMan\Troubleshooting\*
ECHO Copying Sandboxie
copy /y %sbiePath%\SbieSvc.exe %instPath%\
copy /y %sbiePath%\SbieSvc.pdb %instPath%\
copy /y %sbiePath%\SbieDll.dll %instPath%\
copy /y %sbiePath%\SbieDll.pdb %instPath%\
copy /y %sbiePath%\SbieDrv.sys %instPath%\
copy /y %sbiePath%\SbieDrv.pdb %instPath%\
copy /y %sbiePath%\SbieCtrl.exe %instPath%\
copy /y %sbiePath%\SbieCtrl.pdb %instPath%\
copy /y %sbiePath%\Start.exe %instPath%\
copy /y %sbiePath%\Start.pdb %instPath%\
copy /y %sbiePath%\kmdutil.exe %instPath%\
copy /y %sbiePath%\kmdutil.pdb %instPath%\
copy /y %sbiePath%\SbieIni.exe %instPath%\
copy /y %sbiePath%\SbieIni.pdb %instPath%\
copy /y %sbiePath%\SbieMsg.dll %instPath%\
copy /y %sbiePath%\SboxHostDll.dll %instPath%\
copy /y %sbiePath%\SboxHostDll.pdb %instPath%\
copy /y %sbiePath%\SandboxieBITS.exe %instPath%\
copy /y %sbiePath%\SandboxieBITS.pdb %instPath%\
copy /y %sbiePath%\SandboxieCrypto.exe %instPath%\
copy /y %sbiePath%\SandboxieCrypto.pdb %instPath%\
copy /y %sbiePath%\SandboxieDcomLaunch.exe %instPath%\
copy /y %sbiePath%\SandboxieDcomLaunch.pdb %instPath%\
copy /y %sbiePath%\SandboxieRpcSs.exe %instPath%\
copy /y %sbiePath%\SandboxieRpcSs.pdb %instPath%\
copy /y %sbiePath%\SandboxieWUAU.exe %instPath%\
copy /y %sbiePath%\SandboxieWUAU.pdb %instPath%\
IF %archPath% == x64 (
mkdir %instPath%\32\
copy /y %~dp0..\Sandboxie\Bin\Win32\SbieRelease\SbieSvc.exe %instPath%\32\
copy /y %~dp0..\Sandboxie\Bin\Win32\SbieRelease\SbieSvc.pdb %instPath%\32\
copy /y %~dp0..\Sandboxie\Bin\Win32\SbieRelease\SbieDll.dll %instPath%\32\
copy /y %~dp0..\Sandboxie\Bin\Win32\SbieRelease\SbieDll.pdb %instPath%\32\
copy /y %~dp0..\SandboxiePlus\x64\Release\SbieShellExt.dll %instPath%\
copy /y %~dp0..\SandboxiePlus\x64\Release\SbieShellPkg.msix %instPath%\
)
IF %archPath% == ARM64 (
mkdir %instPath%\32\
copy /y %~dp0..\Sandboxie\Bin\Win32\SbieRelease\SbieSvc.exe %instPath%\32\
copy /y %~dp0..\Sandboxie\Bin\Win32\SbieRelease\SbieSvc.pdb %instPath%\32\
copy /y %~dp0..\Sandboxie\Bin\Win32\SbieRelease\SbieDll.dll %instPath%\32\
copy /y %~dp0..\Sandboxie\Bin\Win32\SbieRelease\SbieDll.pdb %instPath%\32\
mkdir %instPath%\64\
copy /y %~dp0..\Sandboxie\Bin\ARM64EC\SbieRelease\SbieDll.dll %instPath%\64\
copy /y %~dp0..\Sandboxie\Bin\ARM64EC\SbieRelease\SbieDll.pdb %instPath%\64\
copy /y %~dp0..\SandboxiePlus\ARM64\Release\SbieShellExt.dll %instPath%\
copy /y %~dp0..\SandboxiePlus\ARM64\Release\SbieShellPkg.msix %instPath%\
)
copy /y %~dp0..\Sandboxie\install\Templates.ini %instPath%\
copy /y %~dp0..\Sandboxie\install\Manifest0.txt %instPath%\
copy /y %~dp0..\Sandboxie\install\Manifest1.txt %instPath%\
copy /y %~dp0..\Sandboxie\install\Manifest2.txt %instPath%\
ECHO Copying Sandboxie Tools
copy /y %~dp0..\SandboxieTools\%archPath%\Release\ImBox.exe %instPath%\
copy /y %~dp0..\SandboxieTools\%archPath%\Release\ImBox.pdb %instPath%\
copy /y %~dp0..\SandboxieTools\%archPath%\Release\UpdUtil.exe %instPath%\
copy /y %~dp0..\SandboxieTools\%archPath%\Release\UpdUtil.pdb %instPath%\