我有一个使用Inno Setup创建的应用程序安装程序,它为我的应用程序部署了多个二进制文件和支持文件。
当我执行升级安装时(例如,在安装版本1.0时运行setup-1.5.exe),以前版本中的某些文件经常处于使用状态,并且在下次重新启动之前无法替换。没关系,Inno正确处理了这个案例。
但是,我真正想要的逻辑是:如果在下次重新启动之前无法替换任何文件,那么我希望在下次重新启动时替换所有文件。否则,正在使用的二进制文件不会被替换,但可能会出现一些支持文件,导致应用程序在重新启动之前处于不稳定状态。
有没有一种干净的方法来实现这一目标?我没有找到一个,没有明确地自己锁定所有支持文件,这非常难看。
谢谢!
答案 0 :(得分:1)
Inno本身不能做到这一点。这就是为什么它提供AppMutex
和朋友确保一切都清楚,如果还剩下什么,它会告诉用户他们必须重新启动。
然后,您可以在应用中展开此功能,如果重新启动替换操作处于待处理状态,则拒绝启动。