1

Inno Setupunins000.dat在应用程序的安装目录中保留一个“卸载日志”文件。此文件包含删除应用程序时要卸载的所有文件的列表。当应用程序的新版本安装在旧版本之上时,Inno Setup 只会将任何新文件附加到“卸载日志”。

我的应用程序的早期版本在卸载时会删除一些用户修改的模板文件,因为我忘记包含uninsneveruninstall这些文件的标志。

在最新版本的软件中,uninsneveruninstall设置了标志,并且文件不会被删除.......除非在损坏的版本上安装了最新版本。然后,因为这些文件在卸载日志中没有该标志,所以它们会在卸载时被删除!

我不能要求我的用户在升级之前卸载旧软件,因为那样他们会丢失这些文件。

我可以强制 Inno Setup 从头开始​​重新生成卸载日志吗?或者至少删除/覆盖这些文件的条目?我希望该uninsneveruninstall标志具有追溯性。

4

1 回答 1

2

您不能追溯更改该标志。一旦它被释放,那就是它。

但是,一个选项是,在安装过程中,检测已安装的较旧的损坏版本(如果不是按版本号,可能是注册表中的一个标志表明已应用修复)并备份有问题的文件夹,执行卸载(默默地)然后恢复文件夹。然后设置可以正常进行。

于 2013-04-05T09:24:38.437 回答