4

我正在使用 Inno Setup Compiler 5.4.3。创建安装应用程序

我的应用程序具有以下结构:

  • 应用程序
  • 数据

其中 data 是我保存所有应用程序相关文件(jpg 图像)的文件夹。该应用程序将从 cd-rom 分发。使用向导创建安装后,我得到了一个大小为 300Mb 的文件。

问题是系统从 cd 打开它需要 2-3 分钟。我猜这是因为文件大小。没有安装程序的任何响应,时间太长了。

这种情况有一些简单的解决方案吗?我不需要压缩文件,如果我可以使安装程序结构看起来与应用程序结构相同(而不是只有一个文件......),我会很好。任何可以使其执行得更快的解决方案都会很好。

谢谢, 韦德兰

更新:这是我的文件设置的样子:

[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

它不会在安装程序文件夹中添加数据文件夹,它只会创建安装文件

4

3 回答 3

3

您的问题是资源管理器在启动之前尝试在安装可执行文件上查找/验证代码签名证书。由于文件很大,它会在尝试运行之前至少读取整个文件一次。这与Inno KB 文章中记录的导致图标不显示的问题相同。

对此的解决方案是使用external数据文件上的标志(如TLama建议的那样),或使用磁盘跨越将设置拆分为主设置和数据文件。

于 2012-06-11T13:26:58.127 回答
3

在您的部分记录中指定external标志。[Files]注意:

当指定外部标志时,Source 必须是分发媒体或用户系统上现有文件(或通配符)的完整路径名(例如“{src}\license.ini”)。

这样的事情应该防止将文件包含到输出设置文件中:

[Files]
Source: "{src}\Image.jpg"; DestDir: "{app}"; Flags: external
于 2012-06-10T12:01:04.927 回答
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 之后,它会在您运行安装程序时将两者复制到最终安装路径。

于 2012-06-10T21:15:25.660 回答