这是一个创建于 543 天前的主题,其中的信息可能已经有所发展或是发生改变。
用 wxpython 做的 GUI ,cx_freezen 打包的程序,新版本程序压缩为 7z 放在服务器,本地程序检测到有新版本,下载 7z 后就没法正常解压(因为解压的功能也依赖于打包出来的这个环境,没法覆盖这个环境,并且 update.exe 也没法解压压缩包里面的 update.exe )
现在能想到的办法有两个
1 ,复制一份环境到%temp%,然后由临时目录的程序来解压
2 ,用别的语言(如 c#)做更新功能的程序。
感觉两种方法都不美,有没有更完美的方案??
3 条回复 • 2023-08-28 00:15:07 +08:00
 |
|
1
Abbeyok 2023-08-27 16:34:15 +08:00
直接让客户去网盘下载更新包
|
 |
|
2
PhaSelEza 2023-08-27 17:00:37 +08:00 1
下载程序并解压到临时目录,生成一个临时 bat 文件并运行,完成程序更新、运行新版本、删除老版本。
之前写过个简单的模板:
move "{PATH}" "{PATH}.old" "{P7ZIP}" x "-o{DIR}" "{ARC}" start "" "{PATH}" :repeat del "{PATH}.old" if exist "{PATH}.old" goto repeat exit
|