InnoSetup尝试在任何情况下创建DefaultDir

时间:2015-05-18 10:37:14

标签: inno-setup

我使用innosetup创建了一个安装程序来安装包含两个可执行文件的应用程序。他们每个人都应该去一个单独的文件夹。所以我使用" CreateInputDirPage"创建了一个自定义的InputDirPage。功能并在此页面中添加了两个条目,每个可执行文件对应一个 为防止默认DirPage显示,我在[Setup}部分中使用了这些参数:

DisableDirPage = yesAlwaysShowDirOnReadyPage= no


我写了一些函数来从我的自定义DirPage中提取文件夹路径 这种方法很好,并且evrything最终会到达应有的位置。

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

我通过在[设置]部分设置DefaultDirName = {pf}解决了这个问题 (由于程序文件夹确实存在,我不会因为失败的创建尝试而得到任何错误消息)

现在我的问题是:

  1. 是否有设置参数告诉Innosetup完全忽略 向导目录页面的内容?因为看似隐形 不够。

  2. 我可以在运行时设置该内容或{app}常量,以避免" DefaultDirName"文件夹被创建?

1 个答案:

答案 0 :(得分:0)

是的,有一个名为CreateAppDir的选项。

int c = 0;
 while ((c = in.read()) != -1) {
 System.out.println((char)c);
 out.write((byte)c);
 }