1

我的程序包括以下步骤:

  • 检查更新
  • 如果存在更新,请下载它,解压缩并重新启动程序
  • 每 30 秒在一个新线程中运行更新检查
  • YAY运行每 5 秒打印一次单词的主程序

这是更新检查器的代码:

client = Client(ClientConfig, refresh=True)
appUpdate = client.update_check(ClientConfig.APP_NAME,
                                ClientConfig.APP_VERSION,
                                channel='stable')
if appUpdate:
    if hasattr(sys, "frozen"):
        downloaded = appUpdate.download()
        if downloaded:
            status = UpdateStatus.EXTRACTING_UPDATE_AND_RESTARTING
            print('Extracting update and restarting...')
            time.sleep(10)
            appUpdate.extract_restart()
        else:
            status = UpdateStatus.UPDATE_DOWNLOAD_FAILED
    else:
        status = UpdateStatus.UPDATE_AVAILABLE_BUT_APP_NOT_FROZEN
else:
    status = UpdateStatus.NO_AVAILABLE_UPDATES
print(UPDATE_STATUS_STR[status])

此外,我正在尝试使用nssm将该程序作为 Windows 服务运行。

当新版本的程序上传到 s3 时,pyupdater 会尝试更新程序,但它永远不会成功,导致主程序永远不会启动。但是,如果我不使用nssm,它就可以正常工作。

链接到日志

4

0 回答 0