我正在使用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的加载。
答案 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}}
使用固态压缩的缺点是因为所有文件 压缩成单个压缩流,安装程序不能再 随机访问文件