如何强制Inno Setup使'uninsneveruninstall'标志具有追溯力?

时间:2013-04-04 23:08:48

标签: installation inno-setup

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

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

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

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

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

1 个答案:

答案 0 :(得分:2)

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

虽然在安装过程中可以选择检测已安装的旧版本(如果不是版本号,可能是注册表中的标志,表示修复已应用)并备份有问题的文件夹,执行卸载(静默)然后恢复该文件夹。 然后,设置可以正常进行。