From f109365047f84e808db184aa18879731cc469cb8 Mon Sep 17 00:00:00 2001 From: Andrew Chow Date: Fri, 19 Apr 2019 16:34:09 -0400 Subject: [PATCH] Install Windoew Universal C++ Runtime from Windows 10 SDK in Windows build Download and extract the Universal C++ Runtime from the Windows 10 SDK and copy the DLLs to C:\Windows\System32 when doing Windows build. This will make sure that the proper DLLs are included in the Windows binary so that it works on older Windows. --- contrib/build_wine.sh | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/contrib/build_wine.sh b/contrib/build_wine.sh index 3a92d87..6475858 100755 --- a/contrib/build_wine.sh +++ b/contrib/build_wine.sh @@ -12,6 +12,10 @@ PYTHON="wine $PYHOME/python.exe -OO -B" LIBUSB_URL=https://github.com/libusb/libusb/releases/download/v1.0.22/libusb-1.0.22.7z LIBUSB_HASH="671f1a420757b4480e7fadc8313d6fb3cbb75ca00934c417c1efa6e77fb8779b" +WINDOWS_SDK_URL=http://go.microsoft.com/fwlink/p/?LinkID=2033686 +WINDOWS_SDK_HASH="016981259708e1afcab666c7c1ff44d1c4d63b5e778af8bc41b4f6db3d27961a" +WINDOWS_SDK_VERSION=10.0.17763.0 + wine 'wineboot' # Install Python @@ -36,6 +40,15 @@ echo "$LIBUSB_HASH libusb.7z" | sha256sum -c cp libusb/MS64/dll/libusb-1.0.dll ~/.wine/drive_c/python3/ rm -r libusb* +# Get the Windows SDK +pushd `mktemp -d` +wget -O sdk.iso "$WINDOWS_SDK_URL" +echo "$WINDOWS_SDK_HASH sdk.iso" | sha256sum -c +7z e sdk.iso +wine msiexec /i "Universal CRT Redistributable-x86_en-us.msi" +cp ~/.wine/drive_c/Program\ Files\ \(x86\)/Windows\ Kits/10/Redist/${WINDOWS_SDK_VERSION}/ucrt/DLLs/x64/*.dll ~/.wine/drive_c/windows/system32/ +popd + # Update pip $PYTHON -m pip install -U pip @@ -46,9 +59,12 @@ $PYTHON -m pip install poetry lib_dir=~/.wine/drive_c/python3/Lib TZ=UTC find ${lib_dir} -name '*.py' -type f -execdir touch -t "201901010000.00" '{}' \; -# Do the build +# Install python dependencies POETRY="wine $PYHOME/Scripts/poetry.exe" +sleep 5 # For some reason, pausing for a few seconds makes the next step work $POETRY install -E windist + +# Do the build export PYTHONHASHSEED=42 $POETRY run pyinstaller hwi.spec unset PYTHONHASHSEED