Inno Setup:如何处理 [UninstallDelete] 部分的进度条?

Inno Setup: How to handle progress bar on [UninstallDelete] section?

我使用 Inno Setup 为我的应用制作安装程序。当用户卸载应用程序时我想删除 Program Data 文件夹中的自定义文件夹,我的文件夹很大(大约 15 GB)所以我使用 [UninstallDelete] 部分删除此文件夹:

[UninstallDelete]
Type: filesandordirs; Name: "{commonappdata}\testFolder"

但是当 Inno Setup 进入 [UninstallDelete] 部分时,进度条显示在 20% 并在此位置停留很长时间,然后 "jumpy" 到 100%。
那么如何让卸载应用时进度条稳定增长呢?
谢谢!

我认为这不太可能。

如果不显着延长操作时间,则无法预测删除操作会持续多长时间。你得先统计文件的个数,然后一个一个删除,计算进度。但是计算文件数量也可能需要相当长的时间。所以它对你没有多大帮助,实际上可能会使情况变得更糟。而且安装也会卡住,计算的时候(你根本无法预知这需要多长时间)。


尝试删除(而不是回收)Windows 文件资源管理器中的文件夹。并检查操作在 "Calculating" 阶段的时间。

在我的测试中,它花费了删除时间的1/3。


您可以显示一个 indefinite/marquee 进度条,而不是尝试显示实际进度(即像上面的 Explorer 那样)。并且可能会显示已删除文件的计数以允许用户看到某些事情正在进行中。


其实我不认为,你需要把卸载用户体验做得那么好。只显示消息说:

怎么样?

This may take few minutes...


您的后续问题: