- Python 3.8+ - 主要开发语言
- PyInstaller - EXE打包工具
- NSIS - 安装程序制作工具
- Windows 10/11 - 开发和测试环境
pip install -r requirements.txt
pip install pyinstaller- 访问 NSIS官网
- 下载并安装NSIS
- 将NSIS目录添加到系统PATH环境变量
build_all.bat这个脚本会自动完成:
- 清理旧文件
- 检查环境依赖
- 打包EXE程序
- 创建安装程序
-
打包EXE程序
build_exe.bat
-
测试EXE程序
test_exe.bat
-
创建安装程序
create_installer.bat
- 位置:
dist/WindowsUpdateManager/ - 主文件:
WindowsUpdateManager.exe - 大小: 约50-80MB
- 依赖: 所有依赖已打包,无需额外安装
- 文件:
WindowsUpdateManager_Setup.exe - 大小: 约50-80MB
- 特性:
- 需要管理员权限
- 只能安装在系统盘
- 支持组件选择
- 包含卸载程序
# 主要配置项
- name: 'WindowsUpdateManager'
- console: False # 无控制台窗口
- onefile: False # 目录模式,启动更快
- upx: True # 压缩可执行文件
- icon: None # 可添加图标文件- 所有Python源码
- 配置文件模板
- 文档文件
- 许可协议
- tkinter
- matplotlib
- numpy
- scipy
- 其他不需要的大型库
- 管理员权限: 必须以管理员身份运行
- 系统版本: 仅支持Windows 10/11
- 安装位置: 只能安装在系统盘(通常是C盘)
- 重复安装: 自动检测并提示卸载旧版本
-
主程序文件 (必选)
- 程序可执行文件
- 依赖库文件
- 配置文件模板
-
桌面快捷方式 (可选)
- 在桌面创建程序快捷方式
-
开始菜单快捷方式 (可选)
- 程序快捷方式
- 使用说明快捷方式
- 卸载程序快捷方式
-
开机自启动 (可选)
- 通过任务计划程序设置自启动
- 以系统权限运行
- 完整卸载: 删除所有程序文件
- 保留配置: 可选择保留用户配置和日志
- 清理注册表: 自动清理相关注册表项
- 停止进程: 卸载前自动停止程序进程
# 运行安装测试
python test_installation.py
# 检查代码语法
python -m py_compile main.py-
EXE功能测试
test_exe.bat
-
安装程序测试
- 在虚拟机中测试安装
- 验证所有组件正常安装
- 测试程序功能
- 验证卸载功能
- 程序正常启动
- 界面显示正常
- 主题切换功能
- 更新检测功能
- 设置修改功能
- 后台运行功能
- 托盘图标显示
- 智能决策助手
- 日志记录功能
- 系统信息显示
- 程序正常退出
# 使用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 # 许可协议
-
GitHub Releases
- 上传安装程序
- 提供详细的发布说明
- 包含更新日志
-
官方网站
- 提供下载链接
- 包含安装说明
- 系统要求说明
-
软件分发平台
- 各大软件下载站
- 企业软件分发平台
- 使用语义化版本号 (如 1.0.0)
- 在安装程序中包含版本信息
- 提供版本更新检查功能
PyInstaller打包失败
# 清理缓存重试
pyinstaller --clean build_config.spec
# 检查依赖
pip install --upgrade pyinstallerNSIS编译失败
# 检查NSIS安装
where makensis
# 检查脚本语法
makensis /V4 installer_script.nsiEXE运行失败
# 检查依赖
python test_installation.py
# 查看详细错误
dist\WindowsUpdateManager\WindowsUpdateManager.exe --debug权限不足
- 确保以管理员身份运行安装程序
- 检查UAC设置
系统不兼容
- 确认Windows版本为10或11
- 检查系统架构(x64)
安装位置限制
- 只能安装在系统盘
- 确保有足够的磁盘空间
- 程序日志:
%USERPROFILE%\.windows_update_manager\logs\ - 安装日志:Windows事件查看器
- 系统信息:程序内置系统信息功能
- 收集相关日志文件
- 记录操作步骤
- 提供系统环境信息
- 在GitHub Issues中提交
构建脚本使用说明:
- 确保安装了所有依赖环境
- 运行
build_all.bat进行完整构建 - 使用
test_exe.bat测试EXE程序 - 在虚拟机中测试安装程序
- 完成测试后即可分发