Python 打包的程序,如何解决自动更新的问题

2023-08-27 16:14:44 +08:00
 tmsdy0404
用 wxpython 做的 GUI ,cx_freezen 打包的程序,新版本程序压缩为 7z 放在服务器,本地程序检测到有新版本,下载 7z 后就没法正常解压(因为解压的功能也依赖于打包出来的这个环境,没法覆盖这个环境,并且 update.exe 也没法解压压缩包里面的 update.exe )

现在能想到的办法有两个
1 ,复制一份环境到%temp%,然后由临时目录的程序来解压
2 ,用别的语言(如 c#)做更新功能的程序。

感觉两种方法都不美,有没有更完美的方案??
960 次点击
所在节点    问与答
3 条回复
Abbeyok
2023-08-27 16:34:15 +08:00
直接让客户去网盘下载更新包
PhaSelEza
2023-08-27 17:00:37 +08:00
下载程序并解压到临时目录,生成一个临时 bat 文件并运行,完成程序更新、运行新版本、删除老版本。

之前写过个简单的模板:

move "{PATH}" "{PATH}.old"
"{P7ZIP}" x "-o{DIR}" "{ARC}"
start "" "{PATH}"
:repeat
del "{PATH}.old"
if exist "{PATH}.old" goto repeat
exit
tmsdy0404
2023-08-28 00:15:07 +08:00
@PhaSelEza 感谢,用批处理的方案处理了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/968653

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX