You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Inno Setup安装包的ISS代码中读取内置的文件内容

可以实现读取安装包内部的文件,操作方法如下:

步骤1:在[Files]段声明内嵌文件

将你需要读取的内部文件加入[Files]配置段,添加dontcopy标记,该标记表示文件仅打包进安装包,不会被主动释放到目标系统:

[Files]
Source: "你本地待打包的文件路径\目标文件名"; Flags: dontcopy

步骤2:在代码中提取并读取文件

在[Code]段需要读取文件的位置,先调用ExtractTemporaryFile将内嵌文件提取到安装程序的运行时临时目录,再调用你原来用的LoadStringsFromFile读取即可:

var
  Lines: TArrayOfString;
begin
  // 提取安装包内的目标文件到临时目录
  ExtractTemporaryFile('目标文件名');
  // 读取临时目录中的文件内容,{tmp}是Inno Setup内置的临时目录常量
  LoadStringsFromFile(ExpandConstant('{tmp}\目标文件名'), Lines);
  // 后续可直接操作Lines数组中的文件内容
end;

注意事项

  • 标记了dontcopy的文件不会出现在安装进度的文件列表中,也不会在目标设备上留存冗余文件
  • 提取到临时目录的文件会在安装程序退出后自动清理,无需手动删除
  • 如果需要读取二进制文件,可以替换LoadStringsFromFile为LoadStringFromFile读取字节数组即可

内容的提问来源于stack exchange,提问作者Vladimir Yanakiev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 16:15:09