Fix CI: use 64-bit inetc plugin for MSYS2 NSIS

MSYS2 mingw64 NSIS is a 64-bit build that needs amd64-unicode plugins.
Copy the amd64-unicode INetC.dll to Plugins/unicode/ instead of x86.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-04 01:25:27 -07:00
parent 585ccd4a07
commit 74b11e7404
+4 -19
View File
@@ -171,25 +171,10 @@ jobs:
cd /tmp
curl -L -o Inetc.zip "https://nsis.sourceforge.io/mediawiki/images/c/c9/Inetc.zip"
unzip -o Inetc.zip -d inetc_extract
echo "=== Existing NSIS plugin dirs ==="
ls -la "$NSIS_DIR/Plugins/" || true
echo "=== Zip contents ==="
find inetc_extract/Plugins -name "*.dll" 2>/dev/null || true
# Copy all variants - NSIS will use whichever matches its architecture
for arch in x86-unicode x86-ansi amd64-unicode; do
if [ -d "inetc_extract/Plugins/$arch" ]; then
mkdir -p "$NSIS_DIR/Plugins/$arch"
cp inetc_extract/Plugins/$arch/INetC.dll "$NSIS_DIR/Plugins/$arch/"
echo "Installed INetC.dll to $NSIS_DIR/Plugins/$arch/"
fi
done
# Also copy x86-unicode to generic 'unicode' dir as fallback
if [ -f "inetc_extract/Plugins/x86-unicode/INetC.dll" ]; then
mkdir -p "$NSIS_DIR/Plugins/unicode"
cp inetc_extract/Plugins/x86-unicode/INetC.dll "$NSIS_DIR/Plugins/unicode/"
fi
echo "=== Final plugin dirs ==="
find "$NSIS_DIR/Plugins" -name "INetC.dll" 2>/dev/null || echo "WARNING: no INetC.dll found"
# MSYS2 mingw64 NSIS is 64-bit, needs amd64-unicode plugin in Plugins/unicode/
mkdir -p "$NSIS_DIR/Plugins/unicode"
cp inetc_extract/Plugins/amd64-unicode/INetC.dll "$NSIS_DIR/Plugins/unicode/"
echo "Installed 64-bit INetC.dll to $NSIS_DIR/Plugins/unicode/"
- name: Build NSIS installer
run: makensis //DVERSION=$VERSION contrib/nsis/setup.nsi