我有一个 Inno Setup 安装,它执行一些耗时的“AfterInstall”操作。并且在执行此操作时,安装 GUI 完全冻结(似乎它的主事件循环未处理)。这不是一个令人愉快的最终用户体验,所以也许这个操作有可能不冻结 GUI?就像在单独的线程中执行它或定期调用类似的东西handleGuiEventLoop()
?
对于“动作”,我从我的 .dll 调用我的函数,该函数发出许多 HTTP 请求并将响应作为文件写入应用程序安装文件夹。这不是 CPU 密集型的,但可能需要几秒钟。或者,如果互联网连接较弱/没有可用的互联网连接,则可能需要一两分钟。并且安装程序 GUI 一直被冻结。