Files
zyt/app/research/package_1_2_0_result.md
T
2026-08-28 18:24:37 +08:00

3.9 KiB
Raw Blame History

Windows 1.2.0 正式打包结果

  • 打包日期:2026-08-28Asia/Shanghai
  • 工作目录:D:\web\zyt\app
  • 版本源:src/doctor_workstation/__init__.py
  • 确认版本:1.2.0
  • 执行命令:powershell.exe -NoLogo -NoProfile -ExecutionPolicy Bypass -File scripts\package_windows.ps1
  • 脚本退出码:0
  • 总体结果:成功

发布产物核对

文件 大小(字节) 大小(MiB SHA-256
dist/DoctorWorkstation-Setup-Windows-x64-1.2.0.exe 162,914,042 155.367 1D74966B73005B30ECB4EB7E2101BECB57BB8C91D0981392ACD00F6800D37E7D
dist/DoctorWorkstation-Windows-x64-1.2.0.zip 230,810,707 220.118 A56057D95EFCE70E58FA54264CAC17A16E2F5BDB842FE515A5A153B073A4AFE9
dist/SHA256SUMS.txt 220 0.000 08BD69A21BACEC86B8269ED665C50CDAF4D3ED6D252CEC4DD7BEE30E73573175

以上三个文件均存在。独立使用 Get-FileHash -Algorithm SHA256 重新计算 EXE 和 ZIP 哈希,结果与打包脚本末尾输出及 SHA256SUMS.txt 中的两条记录逐项一致。

脚本验证结果

  • 锁定的 Python 构建依赖检查通过。
  • 视频伴侣依赖安装成功,vue-tsc --noEmit && vite build 成功;Vite 共转换 43 个模块。
  • PyInstaller 6.22.0 / Python 3.12.12 构建成功,输出 dist/DoctorWorkstation
  • Frozen Qt multimedia file gate passed.
  • Frozen Qt multimedia smoke gate passed (--media-smoke-test, isolated offscreen mode).
  • Frozen application entry smoke gate passed (--smoke-test, isolated offscreen mode).
  • 7-Zip 创建 ZIP 成功,输出 Everything is Ok;归档包含 180 个目录、3,011 个文件。
  • Inno Setup 6.7.3 编译成功,输出 Successful compile (165.062 sec)
  • 正式安装包、ZIP 和校验清单均生成,脚本最终退出码为 0。

非阻断警告

  • Vite 报告单个压缩后 chunk 超过 500 kB,仅为体积优化提示。
  • PyInstaller 报告一个 Qt QML 插件二进制缺失,以及若干 Windows 系统 DLL 解析警告;这些警告未阻断构建,且脚本内置的多媒体文件门禁、多媒体离屏 smoke test 和应用入口 smoke test 全部通过。

真实安装器冒烟测试

  • 执行命令: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-ac84581babe94e28a0d0ffab63dd0b5f

分阶段核对

  • 静默安装:通过。安装器以 /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /CURRENTUSER 运行到隔离目录;setup.log 记录 Installation process succeeded.Need to restart Windows? No
  • 安装内容:通过。脚本在启动前确认 DoctorWorkstation.exeunins000.exe 均存在。
  • 图标:通过。脚本分别提取安装器、已安装主程序及卸载器的 32×32 关联图标并计算 SHA-256;主程序与卸载器图标均和安装器品牌图标一致,否则脚本会失败。
  • 启动 smoke:通过。已安装主程序在隔离配置、日志目录与 QT_QPA_PLATFORM=offscreen 环境下执行 --smoke-test,退出码为 0;应用日志记录 doctor workstation starting,未记录异常堆栈。
  • 静默卸载:通过。卸载器以 /VERYSILENT /SUPPRESSMSGBOXES /NORESTART 运行,退出码为 0uninstall.log 记录 Uninstallation process succeeded.Removed all? YesNeed to restart Windows? No
  • 残留检查:通过。卸载完成后独立确认隔离安装目录、DoctorWorkstation.exeunins000.exe、当前用户开始菜单快捷方式及本次当前用户卸载注册表键均不存在。隔离测试根目录按设计保留,仅包含安装/卸载日志和隔离应用日志,便于审计。