【发布时间】:2015-04-27 14:17:06
【问题描述】:
我使用 esky 0.9.8 : Python。
我经常使用 esky 将我的可执行文件更新到新版本。
除了 esky 不会删除旧版本的可执行文件之外,这一切都很好。
这是我使用的代码:
if getattr(sys,"frozen",False):
app = esky.Esky(sys.executable,"https://example-app.com/downloads/")
print "You are running: %s" % app.active_version
try:
if(app.find_update() != None):
app.auto_update()
appexe = esky.util.appexe_from_executable(sys.executable)
os.execv(appexe,[appexe] + sys.argv[1:])
except Exception, e:
print "ERROR UPDATING APP:", e
app.cleanup()
除了最后一行“app cleanup()”之外,这里的所有内容都运行良好,因为它不会删除旧版本。
在我的可执行文件文件夹中,我有以下内容:
App.exe App.old.exe App.old.old.exe
等等。
为什么 esky 不删除旧版本的可执行文件?
【问题讨论】:
-
它只是将旧的可执行文件重命名为 app.old.exe 并将新的可执行文件下载到 app.exe