让Inno安装程序使用卸载的应用程序以前的目录

时间:2014-07-11 19:42:44

标签: inno-setup

有一个应用程序必须先卸载才能升级(不是我可以改变的)。

当然,新安装的默认目录应该是安装以前版本的位置。但是,由于已卸载应用程序,因此UsePreviousAppDir不起作用。

获取已卸载应用程序目录的最佳方法是什么?它存放在哪里?如何为此管理新的注册表项?

1 个答案:

答案 0 :(得分:0)

在卸载应用程序后,无法找到应用程序的先前位置,除非要求用户记住此内容并重新输入。

但是,此问题的一个简单解决方案是从升级程序本身触发卸载 - UsePreviousAppDir在向导首次打开时生效,因此可以安全地发现以前的应用程序目录并在任何时候卸载之后。建议的最长时间来自PrepareToInstall handler

请记住,您仍然可能无法找到之前的路径,因为用户在运行升级程序之前手动卸载,或者因为安装失败,崩溃或在成功卸载后被取消先前的版本。因此,无论如何,您都需要备份(例如询问用户或假设某些合理的默认值)。

确实你确实需要事先卸载 - 虽然有一些情况需要它(例如以前的版本没有安装Inno - 在这种情况下UsePreviousAppDir也不会帮助你),大部分时间你应该只安装在顶部,使用标志和[InstallDelete] entries来跳过或删除旧文件。

相关问题