防止 Inno Setup 在卸载时删除某些文件
Posted
技术标签:
【中文标题】防止 Inno Setup 在卸载时删除某些文件【英文标题】:Prevent Inno Setup deleting some files on uninstall 【发布时间】:2014-07-08 21:10:51 【问题描述】:嗯,这个实际问题已经在标题中描述了。我想防止 Inno Setup 卸载删除存储在 program installation
目录中的 log 和 config 文件。我知道这是一个不好的做法。通常我应该使用每个用户的目录并将所有个人数据存储在那里。
不过,这是一种特殊情况。我正在使用的程序是一个非常旧的应用程序的包装器。这个旧应用程序有很多硬编码的路径,我需要它驻留在C:\
上,并将 logs 保存在与可执行文件相同的目录中。反正整个设置有点乱。
有没有一种简单的方法可以在卸载过程中选择性地删除文件/文件夹? 我可以防止其中一些被删除吗?
【问题讨论】:
Flags: uninsneveruninstall
用于您安装但卸载后想要离开的文件。安装后应用程序自身创建的所有文件在卸载期间不会被删除 - 除非您在脚本中对其进行编程。
是的,这有帮助,你能把这个作为答案发布,然后我会标记它已解决
【参考方案1】:
Flags: uninsneveruninstall
用于您安装但想要/需要在卸载后离开的文件。
安装后应用程序本身创建的所有文件在卸载过程中不会被删除 - 除非您在安装脚本中对其进行编程。
【讨论】:
我的应用部署到用户选择的目录。卸载应用程序后,我有一个希望保留的文件。我需要在我的设置清单中添加什么?谢谢[Files] Source: "C:\My_Setup_Files\FileIwantToKeep.ext"; DestDir: "app"; Flags: uninsneveruninstall onlyifdoesntexist
- 第一个标志在卸载期间不删除,第二个标志在重新安装过程中不覆盖如果文件存在于先前版本之后。
就我而言,onlyifdoesntexist 在我的清单中没有做任何事情(Inno v 5.5.4(a)。以上是关于防止 Inno Setup 在卸载时删除某些文件的主要内容,如果未能解决你的问题,请参考以下文章