我正在使用Inno Setup Compiler 5.4.3。创建安装应用
我的应用程序具有以下结构:
数据是我保存所有应用相关文件(jpg图像)的文件夹。该应用程序将从CD-ROM分发。使用向导创建安装后,我得到一个文件大小为300Mb。
问题是系统需要2-3分钟才能从CD打开它。我想这是因为文件大小。如果安装程序没有任何响应,那就太多了。
这种情况有一些简单的解决方案吗? 我不需要压缩文件,如果我可以使安装程序结构看起来与app结构相同(不只有一个文件......),我会很好。任何能使其表现更快的解决方案都会很好。
谢谢, 韦德兰
更新: 以下是我的文件设置的样子:
[Files]
Source: "C:\data\palacabencic\bin\PalacaBencic.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "{src}C:\data\palacabencic\bin\data\*"; DestDir: "{app}\data"; Flags: external
如果我尝试放置{src}和外部:
Source: "{src}C:\data\palacabencic\bin\data\*"; DestDir: "{app}\data"; Flags: external
它不会在安装程序文件夹中添加数据文件夹,它只创建安装文件
答案 0 :(得分:3)
在[Files]
部分记录中指定external
标记。请注意:
指定外部标志时,Source必须是完整路径名 分发媒体上的现有文件(或通配符)或 用户的系统(例如“{src} \ license.ini”)。
这样的事情应该阻止将文件包含在输出设置文件中:
[Files]
Source: "{src}\Image.jpg"; DestDir: "{app}"; Flags: external
答案 1 :(得分:3)
您的问题是资源管理器尝试在启动它之前查找/验证安装程序可执行文件上的代码签名证书。由于文件很大,它甚至在尝试运行它之前至少读取整个文件一次。 这与导致图标无法显示的Inno KB article中记录的问题相同。
解决方案是在数据文件上使用external
标志(由TLama建议),或使用磁盘跨度将设置拆分为主设置和数据文件。
答案 2 :(得分:0)
当您使用external
标志时,您告诉Inno要复制用户系统上未压缩的文件(在您的情况下,在CD上)。 {src}
指定相对于setup.exe本身的路径。
[Files]
Source: "C:\data\palacabencic\bin\PalacaBencic.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "{src}\data\*"; DestDir: "{app}\data"; Flags: external
编译的输出只是安装程序,但在将此数据文件和数据文件复制到CD后,它会在运行安装程序时将两者都复制到最终安装路径。