Files
LanMountainDesktop/.github/WINDOWS_INSTALLER_COMPLETION.md
2026-03-05 00:52:58 +08:00

7.4 KiB
Raw Permalink Blame History

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. 📖 新增文档

  1. WINDOWS_INSTALLER_SETUP.md - 详细配置指南
  2. 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步骤失败

检查

  1. 发布目录是否存在(publish\windows-x64\
  2. 发布目录是否包含LanMountainDesktop.exe
  3. ISCC.exe路径是否正确
  4. .iss脚本语法是否有效

解决

# 本地验证脚本
iscc "LanMountainDesktop\installer\LanMountainDesktop.iss" /DHELP

安装程序损坏

症状:下载的.exe文件无法运行或安装失败

原因可能

  1. 文件在下载时损坏
  2. 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 打包改进)