PICARD-2724: Move all Qt5 DLLs into main directory on Windows

Avoids import errors if a system wide, incompatible Qt5 installation
is present on the system.
This commit is contained in:
Philipp Wolfer
2023-09-08 08:07:05 +02:00
parent 33e9c02f0f
commit 7c7de584a6

View File

@@ -36,4 +36,13 @@ Function FinalizePackage {
CodeSignBinary (Join-Path $Path picard.exe) CodeSignBinary (Join-Path $Path picard.exe)
CodeSignBinary (Join-Path $Path fpcalc.exe) CodeSignBinary (Join-Path $Path fpcalc.exe)
CodeSignBinary (Join-Path $Path discid.dll) CodeSignBinary (Join-Path $Path discid.dll)
# Move all Qt5 DLLs into the main folder to avoid conflicts with system wide
# versions of those dependencies. Since some version PyInstaller tries to
# maintain the file hierarchy of imported modules, but this easily breaks
# DLL loading on Windows.
# Workaround for https://tickets.metabrainz.org/browse/PICARD-2736
$Qt5BinDir = (Join-Path $Path PyQt5 Qt5 bin)
Move-Item (Join-Path $Qt5BinDir *.dll) $Path -Force
Remove-Item $Qt5BinDir
} }