Target the right qtpaths with windeployqt when packing the arm64 installer

This commit is contained in:
Luis Ángel San Martín
2025-04-02 21:15:03 +02:00
parent 06dff7090e
commit 67f5dcd7b9
4 changed files with 49 additions and 33 deletions

View File

@ -2,10 +2,18 @@
SET src_path=..\..\..
IF "%1"=="x64" (
SET exe_path=%src_path%\release64
set ARCH=%1
set COMPRESSION=%2
set BUILD_NUMBER=%3
set QT_VERSION=%4
set QT_PATHS=%5
set PFX_FILE=%6
set PASSWORD=%7
IF "%ARCH%"=="x64" (
SET exe_path=%src_path%\release64
) ELSE (
SET exe_path=%src_path%\release
SET exe_path=%src_path%\release
)
rmdir /S /Q installer_contents
@ -23,53 +31,59 @@ copy %exe_path%\YACReader.exe .
copy %exe_path%\YACReaderLibrary.exe .
copy %exe_path%\YACReaderLibraryServer.exe .
windeployqt --release -qml YACReader.exe
windeployqt --release -qml --qmldir %src_path%\YACReaderLibrary\qml YACReaderLibrary.exe
windeployqt YACReaderLibraryServer.exe
IF "%QT_PATHS%"=="no_qtpaths" (
windeployqt --release -qml YACReader.exe
windeployqt --release -qml --qmldir %src_path%\YACReaderLibrary\qml YACReaderLibrary.exe
windeployqt YACReaderLibraryServer.exe
) ELSE (
windeployqt --release -qml --qtpaths "%QT_PATHS%" YACReader.exe
windeployqt --release -qml --qtpaths "%QT_PATHS%" --qmldir %src_path%\YACReaderLibrary\qml YACReaderLibrary.exe
windeployqt --qtpaths "%QT_PATHS%" YACReaderLibraryServer.exe
)
mkdir utils
IF "%2"=="7z" (
copy %src_path%\dependencies\7zip\win\%1\7z.dll .\utils\7z.dll
IF "%COMPRESSION%"=="7z" (
copy %src_path%\dependencies\7zip\win\%ARCH%\7z.dll .\utils\7z.dll
) ELSE (
copy %src_path%\dependencies\unarr\win\%1\unarr.dll .
copy %src_path%\dependencies\unarr\win\%ARCH%\unarr.dll .
)
copy %src_path%\dependencies\pdfium\win\%1\pdfium.dll .
copy %src_path%\dependencies\pdfium\win\%ARCH%\pdfium.dll .
mkdir openssl
copy %src_path%\dependencies\openssl\win\%1\* .\openssl\
copy %src_path%\dependencies\openssl\win\%ARCH%\* .\openssl\
xcopy %src_path%\release\server .\server /i /e
xcopy %src_path%\release\languages .\languages /i /e
copy %src_path%\vc_redist.%1.exe .
copy %src_path%\vc_redist.%ARCH%.exe .
type %src_path%\common\yacreader_global.h | findstr /R /C:"#define VERSION " > tmp
set /p VERSION= < tmp
set VERSION=%VERSION:#define VERSION "=%
set VERSION=%VERSION:"=%
echo %VERSION%
del
del tmp
if "%1"=="x86" (
type build_installer.iss | findstr /v ArchitecturesInstallIn64BitMode | findstr /v ArchitecturesAllowed > copy_build_installer.iss
type copy_build_installer.iss > build_installer.iss
if "%ARCH%"=="x86" (
type build_installer.iss | findstr /v ArchitecturesInstallIn64BitMode | findstr /v ArchitecturesAllowed > copy_build_installer.iss
type copy_build_installer.iss > build_installer.iss
)
echo "iscc start"
if "%~5" == "" (
if "%4"=="qt6" (
iscc /DVERSION=%VERSION% /DPLATFORM=%1 /DCOMPRESSED_ARCHIVE_BACKEND=%2 /DBUILD_NUMBER=%3 /DCODE_SIGN=false build_installer_qt6.iss || exit /b
) else (
iscc /DVERSION=%VERSION% /DPLATFORM=%1 /DCOMPRESSED_ARCHIVE_BACKEND=%2 /DBUILD_NUMBER=%3 /DCODE_SIGN=false build_installer.iss || exit /b
)
if "%PFX_FILE%" == "" (
if "%QT_VERSION%"=="qt6" (
iscc /DVERSION=%VERSION% /DPLATFORM=%ARCH% /DCOMPRESSED_ARCHIVE_BACKEND=%COMPRESSION% /DBUILD_NUMBER=%BUILD_NUMBER% /DCODE_SIGN=false build_installer_qt6.iss || exit /b
) else (
iscc /DVERSION=%VERSION% /DPLATFORM=%ARCH% /DCOMPRESSED_ARCHIVE_BACKEND=%COMPRESSION% /DBUILD_NUMBER=%BUILD_NUMBER% /DCODE_SIGN=false build_installer.iss || exit /b
)
) else (
if "%4"=="qt6" (
iscc /DVERSION=%VERSION% /DPLATFORM=%1 /DCOMPRESSED_ARCHIVE_BACKEND=%2 /DBUILD_NUMBER=%3 /DCODE_SIGN=true build_installer_qt6.iss "/Ssigntool=$qC:\Program Files (x86)\Microsoft SDKs\ClickOnce\SignTool\SignTool.exe$q sign /f %5 /p %6 $f" || exit /b
) else (
iscc /DVERSION=%VERSION% /DPLATFORM=%1 /DCOMPRESSED_ARCHIVE_BACKEND=%2 /DBUILD_NUMBER=%3 /DCODE_SIGN=true build_installer.iss "/Ssigntool=$qC:\Program Files (x86)\Microsoft SDKs\ClickOnce\SignTool\SignTool.exe$q sign /f %5 /p %6 $f" || exit /b
)
if "%QT_VERSION%"=="qt6" (
iscc /DVERSION=%VERSION% /DPLATFORM=%ARCH% /DCOMPRESSED_ARCHIVE_BACKEND=%COMPRESSION% /DBUILD_NUMBER=%BUILD_NUMBER% /DCODE_SIGN=true build_installer_qt6.iss "/Ssigntool=$qC:\Program Files (x86)\Microsoft SDKs\ClickOnce\SignTool\SignTool.exe$q sign /f %PFX_FILE% /p %PASSWORD% $f" || exit /b
) else (
iscc /DVERSION=%VERSION% /DPLATFORM=%ARCH% /DCOMPRESSED_ARCHIVE_BACKEND=%COMPRESSION% /DBUILD_NUMBER=%BUILD_NUMBER% /DCODE_SIGN=true build_installer.iss "/Ssigntool=$qC:\Program Files (x86)\Microsoft SDKs\ClickOnce\SignTool\SignTool.exe$q sign /f %PFX_FILE% /p %PASSWORD% $f" || exit /b
)
)
echo "iscc done!"