最近同事使用python写了一个在公司内部使用的 C/S 架构的软件,主要功能在服务端完成。通过pyinstaller 生成 exe的客户端,希望能够给客户端增加版本校验自动升级功能
在这里记录下实现的过程
升级思路:
1. 下载新版软件
2. 关闭当前运行的旧版软件
3. 删除旧版软件
3. 启动新的软件
网上搜索了下,大多数的实现方式都是使用2个exe,来完成。
在这里我不想使用2个exe,决定太麻烦
参照网上 http://bbs.csdn.net/topics/30359845 做了一个python版的实现。
实现思路:
当前进行下载完文件后,写一个bat脚本,启动脚本,然后退出。
脚本完成删除旧程序,运行新程序的功能。
如果要求不改变exe的名字,可以在脚本中加一句改名字的操作,将旧程序删除后,将新程序改为旧程序的名字,再启动新程序。
新程序启动后,将旧程序遗留的脚本删除。
以下为代码:
import os
import sys
import subprocess
#编写bat脚本,删除旧程序,运行新程序