Inno setup InnoSetup在任何情况下都会尝试创建DefaultDir

Inno setup InnoSetup在任何情况下都会尝试创建DefaultDir,inno-setup,Inno Setup,我使用innosetup创建了一个安装程序,以安装由两个可执行文件组成的应用程序。他们每个人都应该去一个单独的文件夹。因此,我使用CreateInputDirPage函数创建了一个自定义InputDirPage,并在此页面中添加了两个条目,每个条目对应一个可执行文件 为了防止显示默认目录页,我在[Setup}部分使用了以下参数: DisableDirPage=是,且始终ShowDirOnReadyPage=否 我编写了从自定义目录页提取文件夹路径的函数,并 这很好,每件事都会在它应该在的地方结束

我使用innosetup创建了一个安装程序,以安装由两个可执行文件组成的应用程序。他们每个人都应该去一个单独的文件夹。因此,我使用CreateInputDirPage函数创建了一个自定义InputDirPage,并在此页面中添加了两个条目,每个条目对应一个可执行文件 为了防止显示默认目录页,我在[Setup}部分使用了以下参数:

DisableDirPage=是,且始终ShowDirOnReadyPage=否

我编写了从自定义目录页提取文件夹路径的函数,并 这很好,每件事都会在它应该在的地方结束

但是:在安装过程中,Innosetup尝试在DefaultDirName中创建文件夹集,因为此文件夹是不可见DirPage中的值。 如果该文件夹不存在,并且需要管理员权限才能创建该文件夹,则安装程序将崩溃

我通过在[Setup]部分设置DefaultDirName={pf}来解决这个问题。 由于程序文件夹始终存在,因此我不会因为以这种方式尝试创建失败而收到任何错误消息

现在我的问题是:

是否有一个设置参数告诉Innosetup完全忽略 向导目录页的内容?因为使其不可见似乎 没有足够的理由

我可以在运行时设置该内容或{app}常量以避免创建DefaultDirName文件夹吗


是的,有一个选项叫做


是的,有:CreateAppDir=FalseOk,这很有帮助。谢谢你,RobeN。谢谢,RobeN:它起作用了。很抱歉我的回答被耽搁了。你能详细说明一下它的作用吗?正如链接的文档所解释的,为了在安装过程中不创建AppDir,你可能需要使用该选项。例如,如果你想升级,你可以使用它ate或将plugin/mod安装到现有应用程序中,或者当您以与Bachi不同的方式设置和创建应用程序目录时。
[Setup]
CreateAppDir=No