我的设置脚本中嵌入了7Zip archive
是否存在将内容提取到目标文件夹的“本地”方式?
如果没有任何关于如何实现这一目标的提示?
更新了我的实施。感谢提示TLama
[Files]
Source: "Documentation.7zip"; DestDir: "{tmp}"
Source: "7za.exe"; DestDir: "{tmp}"
[Run]
Filename: "{tmp}\7za.exe"; Parameters: "x -o""{app}"" ""{tmp}\Documentation.7zip"""; Flags: runhidden; Description: "{cm:InstallingDocumentation}"; StatusMsg: "{cm:InstallingDocumentationStatus}"
[CustomMessages]
en.InstallingDocumentation=Documentation Files
en.InstallingDocumentationStatus=Installing Documentation Files. This may take several minutes...
答案 0 :(得分:4)
不,没有本地方法从InnoSetup安装程序中提取7zip文件。但是,您可以获得7zip库的副本which is redistributable
,并从InnoSetup脚本的代码部分调用它。
答案 1 :(得分:3)
Inno没有任何本地方法从其自身档案中提取文件(通常压缩比7Zip更好)。
然而,Inno Setup可以使用通配符来包含要安装的文件:
[Files]
Source: "Documentation\*.*"; DestDir: "{app}/Documentation/";
如果您有许多小文件,使用solidcompression
标志将提高压缩性能和大小。