V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
tmsdy0404
V2EX  ›  问与答

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

  •  
  •   tmsdy0404 · 2023-08-27 16:14:44 +08:00 · 899 次点击
    这是一个创建于 436 天前的主题,其中的信息可能已经有所发展或是发生改变。
    用 wxpython 做的 GUI ,cx_freezen 打包的程序,新版本程序压缩为 7z 放在服务器,本地程序检测到有新版本,下载 7z 后就没法正常解压(因为解压的功能也依赖于打包出来的这个环境,没法覆盖这个环境,并且 update.exe 也没法解压压缩包里面的 update.exe )

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

    感觉两种方法都不美,有没有更完美的方案??
    3 条回复    2023-08-28 00:15:07 +08:00
    Abbeyok
        1
    Abbeyok  
       2023-08-27 16:34:15 +08:00
    直接让客户去网盘下载更新包
    PhaSelEza
        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
    tmsdy0404
        3
    tmsdy0404  
    OP
       2023-08-28 00:15:07 +08:00
    @PhaSelEza 感谢,用批处理的方案处理了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5573 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 03:14 · PVG 11:14 · LAX 19:14 · JFK 22:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.