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