feat(client): Windows 提供 Inno Setup 安装程序 + 下载改同源 HTTPS
Deploy / build-windows (push) Failing after 22s
Deploy / build-linux-web (push) Failing after 14m4s
Deploy / build-macos (push) Has been skipped
Deploy / release-deploy (push) Has been skipped

- Windows 客户端打成 jiu-windows-x64-setup.exe(Inno Setup,中文向导、
  桌面/开始菜单快捷方式、卸载项),替代解压版 zip
- provision-windows.sh 自动静默安装 Inno Setup(缺则装)
- 下载 URL 从内网 HTTP Forgejo 改为 https://jiu.51yanmei.com/downloads/,
  修复 HTTPS 页面下发 http 内网地址被浏览器拦截(无法安全下载),win/mac 均生效
- deploy.sh 将安装包发布到 EC2 /opt/jiu/downloads/,nginx 新增 /downloads/ 路由

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
wangjia
2026-06-04 07:46:41 +08:00
parent f039bd0c61
commit c001f0e8e6
7 changed files with 131 additions and 11 deletions
+23 -5
View File
@@ -44,13 +44,31 @@ flutter build windows --release \
"--dart-define=APP_VERSION=${TAG}"
popd > /dev/null
# Package the Release folder into dist/ using PowerShell Compress-Archive.
# Source is an absolute Windows path; destination is relative to the workspace.
# Package the Release folder into a Windows installer with Inno Setup (ISCC).
# Inno Setup is installed by provision-windows.sh.
ISCC="/c/Program Files (x86)/Inno Setup 6/ISCC.exe"
if [ ! -f "$ISCC" ]; then
echo "ERROR: Inno Setup (ISCC) not found at '$ISCC'. Run provision-windows.sh first." >&2
exit 1
fi
# Run ISCC entirely under the clean build root: 32-bit ISCC would hit WOW64
# redirection if it read the .iss / wrote output under the System32 workspace.
cp deploy/windows/jiu-installer.iss "${BUILD_ROOT}/jiu-installer.iss"
mkdir -p "${BUILD_ROOT}/dist"
echo "==> building installer with Inno Setup (version ${VER})"
"$ISCC" \
"/DAppVer=${VER}" \
"/DSrcDir=C:\\jiu-build\\client\\build\\windows\\x64\\runner\\Release" \
"/DOutDir=C:\\jiu-build\\dist" \
"C:\\jiu-build\\jiu-installer.iss"
# Copy the installer back to the workspace dist/ via PowerShell (64-bit, so it
# can write the System32 workspace path without WOW64 redirection).
mkdir -p dist
REL_WIN='C:\jiu-build\client\build\windows\x64\runner\Release'
echo "==> packaging ${REL_WIN} -> dist/jiu-windows-x64.zip"
echo "==> copying installer -> dist/jiu-windows-x64-setup.exe"
powershell -NoProfile -Command \
"Compress-Archive -Path '${REL_WIN}\*' -DestinationPath 'dist\jiu-windows-x64.zip' -Force"
"Copy-Item 'C:\\jiu-build\\dist\\jiu-windows-x64-setup.exe' 'dist\\jiu-windows-x64-setup.exe' -Force"
echo "==> compile-windows: done — dist/ contents:"
ls -lh dist/