Iv 使用 wxPython 和 cefPython 构建了一个应用程序。现在我正在构建一个更新程序来更新我的软件。
过程如下:
- 应用程序启动后调用更新程序
- 更新程序检查 API
- 如果版本比 API 旧,它会下载新的压缩包
- 下载完成后,它会关闭应用程序
- 关闭,现在它应该提取新文件,
- 解压,现在它必须再次打开程序。
我认为问题出现在第 4 点,因为我认为该过程已关闭,因此现在其余步骤不会发生。
如果这是问题,我应该如何做到这一点,以便更新程序(我从主程序导入和调用)也不会关闭。
这是一些代码:
import updater (updater.py)
class MyApp(wx.App):
timer = None
timerID = 1
def OnInit(self):
if not USE_EVT_IDLE:
print("Using TIMER to execute the CEF message loop work")
self.CreateTimer()
global frame
frame = MainFrame()
self.SetTopWindow(frame)
frame.Show(False)
**thread.start_new_thread(checkForUpdate, ()) --- This is where im calling the update function**
return True
def checkForUpdate():
print("Checking for update: %s" % time.ctime())
updater.callAPI()
threading.Timer(120, checkForUpdate).start()
谢谢