# 强制更新“退出软件”Windows 正式包重建与验证结果 - 执行日期:2026-08-28(Asia/Shanghai) - 工作目录:`D:\web\zyt\app` - 总体结果:成功 - 生产源码/测试修改:无(本次仅重建发布产物并新增本报告) - 工作树说明:执行前 `src/doctor_workstation/__init__.py` 及其他生产/测试文件已有用户修改;本次全部保留,未覆盖或回退 - Trellis:仓库根目录不存在 `.trellis/`,因此无 Trellis 工作流文件可继续读取 ## 发布配置核对 重建前后均读取 `src/doctor_workstation/__init__.py`,确认: ```powershell rg -n "(__version__|DEBUG_MODE)" src/doctor_workstation/__init__.py ``` - 退出码:`0` - 输出:`6:__version__ = "1.2.0"`、`10:DEBUG_MODE = False` - `__version__ = "1.2.0"` - `DEBUG_MODE = False` 最终 frozen 主程序的 Windows 版本资源也复核为: - `FileVersion = 1.2.0` - `ProductVersion = 1.2.0` 最终安装器的 `ProductVersion = 1.2.0`。 ## 正式包重建 执行命令: ```powershell powershell.exe -NoLogo -NoProfile -ExecutionPolicy Bypass -File scripts\package_windows.ps1 ``` - 退出码:`0` - 结果:`Windows package complete.` - Python 构建环境:PyInstaller 6.22.0 / Python 3.12.12 - 视频伴侣构建:通过,Vite 转换 43 个模块 - frozen Qt 多媒体文件门禁:通过 - frozen Qt 多媒体 smoke(`--media-smoke-test`,隔离 offscreen 环境):通过 - frozen 应用入口 smoke(`--smoke-test`,隔离 offscreen 环境):通过 - ZIP:7-Zip 报告 `Everything is Ok` - 安装器:Inno Setup 6.7.3 编译成功,`Successful compile (140.609 sec)` 构建期间有非阻断警告:Vite 报告单个压缩后 chunk 超过 500 kB;PyInstaller 报告一个 Qt QML 插件二进制缺失及若干 Windows 系统 DLL 解析警告。脚本内置的 frozen 文件门禁与两个 smoke gate 均通过,构建最终退出码为 `0`。 ## 最终安装器冒烟验证 执行命令: ```powershell powershell.exe -NoLogo -NoProfile -ExecutionPolicy Bypass -File scripts\smoke_windows_installer.ps1 -Installer 'D:\web\zyt\app\dist\DoctorWorkstation-Setup-Windows-x64-1.2.0.exe' ``` - 退出码:`0` - 结果:`Installer icon/install/start/uninstall smoke test passed.` - 隔离验证目录:`C:\Users\pc\AppData\Local\Temp\doctor-workstation-installer-smoke-55b6feebaa134d21ba0637549d55355b` - 覆盖范围:安装器品牌图标、静默安装、已安装 EXE 存在性与启动 smoke、静默卸载、卸载后主程序残留检查 ## 产物与独立校验 使用以下命令模式逐项独立复核,退出码为 `0`: ```powershell Get-Item -LiteralPath <产物绝对路径> Get-FileHash -LiteralPath <产物绝对路径> -Algorithm SHA256 ``` | 产物 | 绝对路径 | 字节数 | SHA-256 | | --- | --- | ---: | --- | | 正式安装器 EXE | `D:\web\zyt\app\dist\DoctorWorkstation-Setup-Windows-x64-1.2.0.exe` | 162,907,874 | `71B4ADF7B431A3BBC53818AA2D68089977D777D18F0969C930A0A6B1777F2BA9` | | 发布 ZIP | `D:\web\zyt\app\dist\DoctorWorkstation-Windows-x64-1.2.0.zip` | 230,817,779 | `D41C0794568A59FB57A083425750F4A2CDBED9962B13D9EBBD42FC2EEF374604` | | frozen 主程序 EXE | `D:\web\zyt\app\dist\DoctorWorkstation\DoctorWorkstation.exe` | 6,300,842 | `550BF4434C6B2BEEB9DDA5A78107FB392C4FF442A6D62D01803A51197E59A893` | | 校验清单 | `D:\web\zyt\app\dist\SHA256SUMS.txt` | 220 | `9BD4CB7CD0A1FA7FBBED0E6D38BE2A4F98898224A6B97E0E38F35701CB8B8A20` | `dist\SHA256SUMS.txt` 内容: ```text 71B4ADF7B431A3BBC53818AA2D68089977D777D18F0969C930A0A6B1777F2BA9 DoctorWorkstation-Setup-Windows-x64-1.2.0.exe D41C0794568A59FB57A083425750F4A2CDBED9962B13D9EBBD42FC2EEF374604 DoctorWorkstation-Windows-x64-1.2.0.zip ``` 独立复算的安装器与 ZIP 哈希均与脚本末尾输出及 `SHA256SUMS.txt` 逐字符一致。