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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user