推迟所有文件替换,直到在Inno Setup中重新启动

时间:2012-04-04 12:50:18

标签: inno-setup

我有一个使用Inno Setup创建的应用程序安装程序,它为我的应用程序部署了多个二进制文件和支持文件。

当我执行升级安装时(例如,在安装版本1.0时运行setup-1.5.exe),以前版本中的某些文件经常处于使用状态,并且在下次重新启动之前无法替换。没关系,Inno正确处理了这个案例。

但是,我真正想要的逻辑是:如果在下次重新启动之前无法替换任何文件,那么我希望在下次重新启动时替换所有文件。否则,正在使用的二进制文件不会被替换,但可能会出现一些支持文件,导致应用程序在重新启动之前处于不稳定状态。

有没有一种干净的方法来实现这一目标?我没有找到一个,没有明确地自己锁定所有支持文件,这非常难看。

谢谢!

1 个答案:

答案 0 :(得分:1)

Inno本身不能做到这一点。这就是为什么它提供AppMutex和朋友确保一切都清楚,如果还剩下什么,它会告诉用户他们必须重新启动。

然后,您可以在应用中展开此功能,如果重新启动替换操作处于待处理状态,则拒绝启动。