简体   繁体   English

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

[英]Extracting isxdl.dll from the setup takes a long time

I'm using InnoSetup to create an installer for my WPF application. 我正在使用InnoSetup为我的WPF应用程序创建安装程序。 My application is about ~300Mo. 我的申请约为300Mo。 I've implemented this method to check if the client environment has MS Framework 4.0: http://www.codeproject.com/Articles/20868/NET-Framework-1-1-2-0-3-5-Installer-for-InnoSetup This method uses the isxdl.dll. 我已经实现了这个方法来检查客户端环境是否有MS Framework 4.0: http//www.codeproject.com/Articles/20868/NET-Framework-1-1-2-0-3-5-Installer-for -InnoSetup此方法使用isxdl.dll。

When I start the installer, it stuck 10 seconds on this task (in InnoSetup debug mode): 当我启动安装程序时,它在此任务上停留了10秒钟(在InnoSetup调试模式下):

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

This DLL is about 122Ko, that's light. 这个DLL大概是122Ko,很轻。 I've tried to create the same installer (using the same scripts) with a lighter application (about 5Mo), and the installer works well (no more stuck time). 我尝试使用较轻的应用程序(大约5Mo)创建相同的安装程序(使用相同的脚本),并且安装程序运行良好(不再有卡住时间)。

I do not know how it is possible that the application files (the weight of the application) affect the loading of this dll. 我不知道应用程序文件(应用程序的权重)如何影响此dll的加载。

All files that are going to be used by Install Script for actions & functions should be placed at the beginning of [Files] section especially when using SolidCompression=True . 安装脚本用于操作和功能的所有文件都应放在[Files]部分的开头,特别是在使用SolidCompression=True It's also good option to use Flags: nocompression dontcopy for them. 使用Flags: nocompression dontcopy也是不错的选择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

The disadvantage to using solid compression is that because all files are compressed into a single compressed stream, Setup can no longer randomly access the files 使用固态压缩的缺点是,由于所有文件都压缩为单个压缩流,因此安装程序无法再随机访问文件

  • that makes it to "unpack all files" before it can access the last one. 这使它“解压所有文件”才能访问最后一个文件。 More info here . 更多信息在这里

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM