首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Inno安装程序:当安装回滚时,控件消失(安装程序冻结)

Inno安装程序:当安装回滚时,控件消失(安装程序冻结)
EN

Stack Overflow用户
提问于 2016-05-16 09:17:29
回答 1查看 256关注 0票数 0

当我确认程序的安装取消时,Inno安装程序会终止或隐藏一些常见的和自定义的控件(标签、无线电按钮等)。是否有可能在WizardForm存在期间保持它们的可见性?

我使用VCL Inno Styler自定义窗口并控制样式:

下面是日志文件中的内容:

代码语言:javascript
复制
 2016-05-16 13:50:01.225   Message box (Yes/No): Are you sure you want to close the installer? You won't be able to recover the data.
 2016-05-16 13:50:02.322   User chose Yes.
 2016-05-16 13:50:02.404   User canceled the installation process.
 2016-05-16 13:50:02.404   Rolling back changes.
 2016-05-16 13:50:02.408   Starting the uninstallation process.
 2016-05-16 13:50:02.408   Uninstallation process succeeded.
 2016-05-16 13:50:03.916   Deinitializing Setup.
 2016-05-16 13:50:11.176   Failed to remove temporary directory: C:\Users\AATASH~1\AppData\Local\Temp\is-N7DAL.tmp
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-16 11:17:36

Inno设置中的“回滚”实现远非完美。

Inno安装程序在卸载期间不处理窗口消息队列。它甚至显式地冻结了1500毫秒,“这样用户就有时间阅读”滚动变化“的信息”。

由于消息队列没有被激活,在Windows中,一些控件(特别是高级控件)就会消失,因为它们不处理“绘制”请求。由于无法使Inno安装程序处理队列,因此无法对其进行任何处理。

一些部分解决办法:

  • 自己隐藏高级控件并重新显示WizardForm.StatusLabel (显示“回滚更改.”)信息)。当消息队列不被抽运时,“标签”就不会消失。
  • 使用WizardForm.Hide取消安装程序时,隐藏整个窗口。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37250453

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档