我有一个使用Inno Setup创建的应用程序安装程序,它为我的应用程序部署了多个二进制文件和支持文件。
当我执行升级安装(例如运行setup-1.5.exe而版本1.0已经安装时),以前版本中的某些文件经常被使用,并且在下次重新启动之前无法替换。没关系,Inno可以正确处理这种情况。
然而,我真正想要的逻辑是:如果任何文件在下次重新启动之前不能被替换,那么我希望所有文件在下次重新启动时被替换。否则,正在使用的二进制文件不会被替换,但某些支持文件可能会被替换,从而使应用程序在重新启动之前处于不稳定状态。
有没有一种干净的方法来实现这一目标?除了自己明确锁定所有支持文件外,我一直找不到一个,这很丑陋。
谢谢
Inno无法在本地实现这一点。这就是为什么它提供了<code>AppMutex</code>和朋友来确保一切都是清晰的,如果还有什么问题,它会告诉用户他们必须重新启动。
然后,您可以在应用程序中对此进行扩展,并在等待重新启动替换操作时拒绝启动。