mirror of
https://github.com/wwiinnddyy/LanMountainDesktop.git
synced 2026-06-20 15:44:25 +08:00
7.4 KiB
7.4 KiB
✅ Windows 打包配置完成报告
执行时间:2026年3月5日
📋 任务完成
🎯 需求
Windows CI工作流的打包格式从 压缩包(.zip) 改为 安装程序(.exe)
✅ 完成状态
| 项目 | 状态 |
|---|---|
| workflow修改 | ✅ 完成 |
| Inno Setup脚本优化 | ✅ 完成 |
| 文档编写 | ✅ 完成 |
| 整体就绪 | ✅ 就绪 |
📝 变更清单
1. .github/workflows/release.yml
✅ 新增步骤
Step 1: Install Inno Setup
- name: Install Inno Setup
run: choco install innosetup -y --no-progress
- 在Windows Runner上自动安装Inno Setup编译器
Step 2: Build Installer (替代旧的"Package"步骤)
- name: Build Installer
run: |
# 核心逻辑
1. 验证发布目录存在
2. 查找iscc.exe编译器
3. 调用iscc编译.iss脚本
4. 验证.exe文件生成
Step 3: Upload Installer (替代旧的"Upload"步骤)
- name: Upload Installer
uses: actions/upload-artifact@v4
with:
name: release-windows-${{ matrix.arch }}
path: build-installer/*.exe
✅ 更新说明
发布说明改为:
**Windows:**
- LanMountainDesktop-Setup-{version}-x64.exe - 64-bit installer
- LanMountainDesktop-Setup-{version}-x86.exe - 32-bit installer
Installation: Double-click the .exe file and follow the wizard.
2. LanMountainDesktop/installer/LanMountainDesktop.iss
✅ 改进
| 变更 | 详情 |
|---|---|
| OutputBaseFilename | {#MyAppName}-Setup-{#MyAppVersion}-{#MyAppArch} |
| x86支持 | 添加条件检查支持x86架构 |
| 压缩 | LZMA2 ultra (已有) |
3. 📖 新增文档
- WINDOWS_INSTALLER_SETUP.md - 详细配置指南
- WINDOWS_INSTALLER_QUICK_REF.md - 快速参考卡
🔧 工作原理
发布应用文件
↓
安装Inno Setup编译器
↓
编译 LanMountainDesktop.iss 脚本
(iscc.exe /D参数传递版本和架构信息)
↓
生成 LanMountainDesktop-Setup-{Version}-{Arch}.exe
(LZMA2压缩,已包含.NET运行时)
↓
上传到GitHub Release
📦 输出包详情
Windows x64
- 文件名:
LanMountainDesktop-Setup-{Version}-x64.exe - 预期大小:150-200 MB(内置压缩)
- 包含内容:
- 完整应用程序(已修剪和预编译)
- .NET 10 运行时(自包含)
- 安装向导UI
Windows x86
- 文件名:
LanMountainDesktop-Setup-{Version}-x86.exe - 预期大小:140-180 MB(内置压缩)
- 支持系统:Windows 32位/64位兼容系统
🚀 安装程序功能
✅ 用户体验
- 一键双击安装
- 图形化安装向导(现代风格)
- 支持选择安装位置
- 可选创建桌面快捷方式
- 可选安装完成后启动应用
✅ 系统集成
- 开始菜单快捷方式
- 系统卸载(控制面板 → 程序 → 卸载)
- 应用注册(防止重复安装)
- 管理员权限保护
✅ 技术特性
- LZMA2超级压缩(ultra64)
- 实体压缩(SolidCompression)
- 64位/32位架构感知
- 自动覆盖安装处理
✨ 预期效果对比
| 特性 | 原来(.zip) | 现在(.exe) |
|---|---|---|
| 格式 | 压缩包 | ✅ 安装程序 |
| 安装 | 手动解压 | ✅ 一键安装 |
| 系统集成 | 无 | ✅ 开始菜单、卸载 |
| 文件大小 | ~250 MB | ~150 MB |
| 用户体验 | ⭐⭐ | ✅ ⭐⭐⭐⭐⭐ |
| 专业度 | ⭐⭐ | ✅ ⭐⭐⭐⭐⭐ |
🧪 测试清单
CI/CD 验证
- 推送测试版本标签
- 监察GitHub Actions工作流
- 检查"Install Inno Setup"步骤成功
- 检查"Build Installer"步骤成功
- 检查"Upload Installer"上传了.exe
功能验证
- 下载x64安装程序
- 在干净的Windows机器上安装
- 从开始菜单启动应用
- 验证应用功能完整
- 测试卸载功能
性能验证
- 检查.exe文件大小(应该150-200MB)
- 检查安装时间(应该30秒内)
- 检查启动时间(ReadyToRun优化)
📊 文件变更摘要
修改文件数:3
新增文件数:2
修改:
.github/workflows/release.yml (+80行,-30行)
LanMountainDesktop/installer/LanMountainDesktop.iss (+4行,-2行)
新增:
.github/WINDOWS_INSTALLER_SETUP.md
.github/WINDOWS_INSTALLER_QUICK_REF.md
🔍 验证命令
# 检查工作流配置
grep -n "Install Inno Setup" .github/workflows/release.yml
grep -n "Build Installer" .github/workflows/release.yml
grep -n "Upload Installer" .github/workflows/release.yml
# 检查Inno Setup脚本
grep "OutputBaseFilename" LanMountainDesktop/installer/LanMountainDesktop.iss
grep 'MyAppArch == "x86"' LanMountainDesktop/installer/LanMountainDesktop.iss
# 本地编译测试
iscc /DMyAppVersion=1.0.0 `
/DPublishDir=.\publish\windows-x64 `
/DMyOutputDir=.\build `
/DMyAppArch=x64 `
LanMountainDesktop\installer\LanMountainDesktop.iss
⚙️ 后续可选优化
1. 添加应用图标
; 在.iss文件中添加
[Icons]
Name: "{autoprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; IconFilename: "{app}\icon.ico"
2. 添加许可证页面
LicenseFile=LICENSE.txt
3. 支持静默安装
; 用户可运行:LanMountainDesktop-Setup.exe /SILENT
4. 添加启动条件
[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "Launch application"; Flags: postinstall unopened
📞 故障排除
Inno Setup 编译失败
症状:Build Installer步骤失败
检查:
- ✅ 发布目录是否存在(
publish\windows-x64\) - ✅ 发布目录是否包含LanMountainDesktop.exe
- ✅ ISCC.exe路径是否正确
- ✅ .iss脚本语法是否有效
解决:
# 本地验证脚本
iscc "LanMountainDesktop\installer\LanMountainDesktop.iss" /DHELP
安装程序损坏
症状:下载的.exe文件无法运行或安装失败
原因可能:
- 文件在下载时损坏
- Inno Setup编译错误
验证:
# 检查文件哈希值
sha256sum LanMountainDesktop-Setup-1.0.0-x64.exe
# 验证是否是有效的PE可执行文件
file LanMountainDesktop-Setup-1.0.0-x64.exe
📚 相关文档
| 文档 | 用途 |
|---|---|
| WINDOWS_INSTALLER_SETUP.md | 详细技术文档 |
| WINDOWS_INSTALLER_QUICK_REF.md | 快速参考卡 |
| SIZE_OPTIMIZATION_REPORT.md | 包大小优化 |
| PACKAGING_FIXES.md | 打包问题修复 |
✅ 最终检查清单
- ✅ 工作流正确配置Inno Setup安装和编译
- ✅ 发布参数正确传递(版本、架构、目录)
- ✅ Inno Setup脚本支持x64和x86
- ✅ 输出文件名包含版本和架构信息
- ✅ 上传步骤只上传.exe文件
- ✅ 所有旧的.zip打包逻辑已移除
- ✅ GitHub Release说明已更新
- ✅ 完整的文档已编写
🎉 完成状态
所有更改已完成并就绪!
Windows用户现在将获得标准的.exe安装程序,提供更好的安装体验。
下一步:推送版本标签并在GitHub Actions中验证。
git tag v1.0.0-windows-installer
git push origin v1.0.0-windows-installer
然后在GitHub Actions中监察构建过程,最后测试下载和安装.exe程序。
报告生成:2026-03-05
状态:✅ 完成
优先级:🔴 critical (Windows 打包改进)