从安装程序中提取isxdl.dll需要很长时间

时间:2013-04-04 09:45:40

标签: performance inno-setup

我正在使用InnoSetup为我的WPF应用程序创建安装程序。我的申请约为300Mo。 我已实现此方法以检查客户端环境是否具有MS Framework 4.0: http://www.codeproject.com/Articles/20868/NET-Framework-1-1-2-0-3-5-Installer-for-InnoSetup 此方法使用isxdl.dll。

当我启动安装程序时,它在此任务上停留了10秒钟(在InnoSetup调试模式下):

Extracting temporary file: C:\Users\Ben\AppData\Local\Temp\is-IKJ7C.tmp\isxdl.dll

这个DLL大概是122Ko,很轻。 我尝试使用更轻的应用程序(大约5Mo)创建相同的安装程序(使用相同的脚本),并且安装程序运行良好(不再有卡住时间)。

我不知道应用程序文件(应用程序的权重)如何影响此dll的加载。

1 个答案:

答案 0 :(得分:4)

安装脚本将用于操作的所有文件&函数应放在[Files]部分的开头,尤其是在使用SolidCompression=True时。对Flags: nocompression dontcopy使用[Files] Source: ".\ISWin7.dll"; DestDir: "{tmp}"; Flags: dontcopy nocompression Source: ".\games\{#BMPDir}\BMP\*"; DestDir: "{tmp}"; Flags: dontcopy nocompression Source: ".\InnoCallback.dll"; DestDir: "{tmp}"; Flags: dontcopy nocompression Source: ".\MyAppSourceFiles\*"; DestDir: "{app}"; Flags: ignoreversion 也是不错的选择。

{{1}}
  

使用固态压缩的缺点是因为所有文件   压缩成单个压缩流,安装程序不能再   随机访问文件

  • 使其成为"解压缩所有文件"在它可以访问最后一个之前。更多信息here