1

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

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

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

有没有一种干净的方法可以做到这一点?我找不到一个,没有自己明确锁定所有支持文件,这很丑陋。

谢谢!

4

1 回答 1

2

Inno 本身无法做到这一点。这就是为什么它提供AppMutex和朋友确保一切都清楚的原因,如果有任何遗漏,它会告诉用户他们必须重新启动。

然后,您可以在您的应用程序中对此进行扩展,并在重新启动替换操作未决时拒绝启动。

于 2012-04-04T13:01:06.460 回答