Inno setup 为什么Inno安装程序忽略DefaultDirName

Inno setup 为什么Inno安装程序忽略DefaultDirName,inno-setup,Inno Setup,运行Inno Setup 5.5.6。我更正了我的DefaultDirName值中的错误,但无论我做什么,程序都会继续尝试在旧的错误位置安装。即使我将其设置为与以下示例之一匹配的值: DefaultDirName={pf}\My Program 程序继续选择旧的、不正确的路径 如何让Inno使用正确的DefaultDirName?即使以前的安装进入了错误的目标目录,安装还是完成了。根据以下文件: 如果UsePreviousAppDir为是(默认值),则安装程序会查找上一个 已安装同一应用程序的

运行Inno Setup 5.5.6。我更正了我的DefaultDirName值中的错误,但无论我做什么,程序都会继续尝试在旧的错误位置安装。即使我将其设置为与以下示例之一匹配的值:

DefaultDirName={pf}\My Program
程序继续选择旧的、不正确的路径


如何让Inno使用正确的DefaultDirName

即使以前的安装进入了错误的目标目录,安装还是完成了。根据以下文件:

如果UsePreviousAppDir为是(默认值),则安装程序会查找上一个 已安装同一应用程序的版本,它将 用所选目录替换默认目录名 以前

因此,我以前的安装覆盖了新的DefaultDirName。卸载程序并重新运行安装程序后,它开始使用我更正的DefaultDirName

将指令设置为
否,例如:

[Setup]
...
AppendDefaultDirName=no
正如参考资料所说(我强调):

默认情况下,当浏览对话框中显示的文件夹。。。 单击“选择目标位置向导”页面上的按钮, 安装程序自动将DefaultDirName的最后一个组件附加到 新路径

例如,如果DefaultDirName是{pf}\My Program并单击“Z:\”,则新路径将变为“Z:\My Program”

将此指令设置为“否”将禁用上述行为。在里面 此外,它会在对话框上显示“创建新文件夹”按钮


我看不出这是如何解决这个问题的,这就是为什么在我重新安装程序时DefaultDirName被忽略的原因。答案是UsePreviousAppDir(是)覆盖DefualtDirName。