Skip to content

Latest commit

 

History

History
298 lines (233 loc) · 6.14 KB

File metadata and controls

298 lines (233 loc) · 6.14 KB

Windows Update管理工具 - 部署指南

📦 打包和部署流程

环境要求

开发环境

  • Python 3.8+ - 主要开发语言
  • PyInstaller - EXE打包工具
  • NSIS - 安装程序制作工具
  • Windows 10/11 - 开发和测试环境

依赖包

pip install -r requirements.txt
pip install pyinstaller

NSIS安装

  1. 访问 NSIS官网
  2. 下载并安装NSIS
  3. 将NSIS目录添加到系统PATH环境变量

🚀 快速构建

一键构建(推荐)

build_all.bat

这个脚本会自动完成:

  1. 清理旧文件
  2. 检查环境依赖
  3. 打包EXE程序
  4. 创建安装程序

分步构建

  1. 打包EXE程序

    build_exe.bat
  2. 测试EXE程序

    test_exe.bat
  3. 创建安装程序

    create_installer.bat

📁 构建输出

EXE程序

  • 位置: dist/WindowsUpdateManager/
  • 主文件: WindowsUpdateManager.exe
  • 大小: 约50-80MB
  • 依赖: 所有依赖已打包,无需额外安装

安装程序

  • 文件: WindowsUpdateManager_Setup.exe
  • 大小: 约50-80MB
  • 特性:
    • 需要管理员权限
    • 只能安装在系统盘
    • 支持组件选择
    • 包含卸载程序

🔧 打包配置

PyInstaller配置 (build_config.spec)

# 主要配置项
- name: 'WindowsUpdateManager'
- console: False  # 无控制台窗口
- onefile: False  # 目录模式,启动更快
- upx: True      # 压缩可执行文件
- icon: None     # 可添加图标文件

包含的文件

  • 所有Python源码
  • 配置文件模板
  • 文档文件
  • 许可协议

排除的模块

  • tkinter
  • matplotlib
  • numpy
  • scipy
  • 其他不需要的大型库

🛠️ 安装程序配置

NSIS脚本特性 (installer_script.nsi)

安装限制
  • 管理员权限: 必须以管理员身份运行
  • 系统版本: 仅支持Windows 10/11
  • 安装位置: 只能安装在系统盘(通常是C盘)
  • 重复安装: 自动检测并提示卸载旧版本
安装组件
  1. 主程序文件 (必选)

    • 程序可执行文件
    • 依赖库文件
    • 配置文件模板
  2. 桌面快捷方式 (可选)

    • 在桌面创建程序快捷方式
  3. 开始菜单快捷方式 (可选)

    • 程序快捷方式
    • 使用说明快捷方式
    • 卸载程序快捷方式
  4. 开机自启动 (可选)

    • 通过任务计划程序设置自启动
    • 以系统权限运行
卸载功能
  • 完整卸载: 删除所有程序文件
  • 保留配置: 可选择保留用户配置和日志
  • 清理注册表: 自动清理相关注册表项
  • 停止进程: 卸载前自动停止程序进程

📋 质量检查

构建前检查

# 运行安装测试
python test_installation.py

# 检查代码语法
python -m py_compile main.py

构建后测试

  1. EXE功能测试

    test_exe.bat
  2. 安装程序测试

    • 在虚拟机中测试安装
    • 验证所有组件正常安装
    • 测试程序功能
    • 验证卸载功能

测试清单

  • 程序正常启动
  • 界面显示正常
  • 主题切换功能
  • 更新检测功能
  • 设置修改功能
  • 后台运行功能
  • 托盘图标显示
  • 智能决策助手
  • 日志记录功能
  • 系统信息显示
  • 程序正常退出

🔒 安全考虑

代码签名(可选)

# 使用signtool对exe和安装程序进行数字签名
signtool sign /f certificate.pfx /p password WindowsUpdateManager.exe
signtool sign /f certificate.pfx /p password WindowsUpdateManager_Setup.exe

病毒扫描

  • 使用多个杀毒软件扫描构建输出
  • 确保没有误报
  • 必要时提交白名单申请

权限最小化

  • 程序仅在需要时请求管理员权限
  • 安装程序明确说明权限需求
  • 用户数据仅存储在用户目录

📊 性能优化

启动速度优化

  • 使用目录模式而非单文件模式
  • 排除不必要的模块
  • 启用UPX压缩

文件大小优化

  • 排除大型不需要的库
  • 使用UPX压缩
  • 优化资源文件

内存使用优化

  • 延迟加载非核心模块
  • 及时释放不需要的资源
  • 优化图片和资源文件

🚀 分发准备

文件清单

WindowsUpdateManager_Setup.exe  # 安装程序
README.md                       # 项目说明
USER_GUIDE.md                  # 使用指南
LICENSE                        # 许可协议

分发渠道

  1. GitHub Releases

    • 上传安装程序
    • 提供详细的发布说明
    • 包含更新日志
  2. 官方网站

    • 提供下载链接
    • 包含安装说明
    • 系统要求说明
  3. 软件分发平台

    • 各大软件下载站
    • 企业软件分发平台

版本管理

  • 使用语义化版本号 (如 1.0.0)
  • 在安装程序中包含版本信息
  • 提供版本更新检查功能

🆘 故障排除

常见构建问题

PyInstaller打包失败

# 清理缓存重试
pyinstaller --clean build_config.spec

# 检查依赖
pip install --upgrade pyinstaller

NSIS编译失败

# 检查NSIS安装
where makensis

# 检查脚本语法
makensis /V4 installer_script.nsi

EXE运行失败

# 检查依赖
python test_installation.py

# 查看详细错误
dist\WindowsUpdateManager\WindowsUpdateManager.exe --debug

安装问题

权限不足

  • 确保以管理员身份运行安装程序
  • 检查UAC设置

系统不兼容

  • 确认Windows版本为10或11
  • 检查系统架构(x64)

安装位置限制

  • 只能安装在系统盘
  • 确保有足够的磁盘空间

📞 技术支持

日志收集

  • 程序日志:%USERPROFILE%\.windows_update_manager\logs\
  • 安装日志:Windows事件查看器
  • 系统信息:程序内置系统信息功能

问题报告

  1. 收集相关日志文件
  2. 记录操作步骤
  3. 提供系统环境信息
  4. 在GitHub Issues中提交

构建脚本使用说明

  1. 确保安装了所有依赖环境
  2. 运行 build_all.bat 进行完整构建
  3. 使用 test_exe.bat 测试EXE程序
  4. 在虚拟机中测试安装程序
  5. 完成测试后即可分发