为了使Inno Setup UI保持响应,我使用的技术几乎与How to execute 7zip without blocking the InnoSetup UI?中描述的技术相同。在我的一个[Files]
条目中,我定义了一个AfterInstall
执行冗长任务的程序。在此期间,由于上面链接描述的消息泵,我仍然可以单击向导表单并移动它等等。但是,如果我尝试从PrepareToInstall
事件处理程序中调用相同的过程,我无法点击或移动向导表单 - 它仍然完全禁用/冻结。
Inno Setup在PrepareToInstall
期间是否有特殊功能会故意禁用向导表单?
答案 0 :(得分:1)
Inno Setup indeed disables window, while running PrepareToInstall
。
我认为你无法做任何事情来阻止这种情况。
请考虑使用CreateOutputProgressPage
。
请参阅my answer to Inno Setup: How to modify long running script so it will not freeze GUI?并将其与其他问题相关联,以显示CreateOutputProgressPage
的使用情况,例如Inno Setup Get progress from .NET Framework 4.5 (or higher) installer to update progress bar position。