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

Delphi 13升级后程序分发报错:IndySystem370.bpl未找到求助

解决Delphi 13项目EXE运行时缺少IndySystem370.bpl的问题

问题根源

你碰到的是Indy组件的动态BPL依赖问题。Delphi IDE自带的Indy默认采用动态编译模式,依赖外部BPL文件,所以IDE环境中因已加载相关BPL能正常运行,但客户端电脑没有这些文件就会触发报错。新版本Indy仍保留动态/静态编译两种选项,默认还是动态模式,因此会存在额外依赖。

解决方法(按优先级排序)

1. 静态编译Indy组件(推荐,实现单EXE独立运行)

这是最彻底的方案,将Indy代码直接编译进EXE,不再依赖外部BPL:

  • 打开Delphi 13的Component > Install Packages,找到所有带Indy标识的包(如IndyCore、IndySystem、IndyProtocols等),取消勾选后关闭IDE。
  • 删除项目目录下的.dproj、.local、.identcache等配置文件,清除残留编译设置。
  • 重新打开项目,在Project > Options > Delphi Compiler > Linking中,确保Link with runtime packages选项为未勾选状态。
  • 找到Indy源码目录(默认路径为C:\Program Files (x86)\Embarcadero\Studio\23.0\source\Indy10),将Core、System、Protocols三个子目录添加到项目的Search Path(路径:Project > Options > Delphi Compiler > Search Path)。
  • 重新编译整个项目,生成的EXE将不再依赖Indy的BPL文件,客户端可直接运行。

2. 手动打包依赖BPL文件分发

若不想采用静态编译,可将所需BPL文件与EXE一同拷贝至客户端:

  • 在Delphi安装目录的bin文件夹(默认路径C:\Program Files (x86)\Embarcadero\Studio\23.0\bin)中找到IndySystem370.bpl。
  • 用Delphi自带的Dependency Walker工具或第三方工具(如Process Explorer)分析EXE的依赖,确认是否还需其他Indy相关BPL(如IndyCore370.bpl、IndyProtocols370.bpl)。
  • 将所有缺失的BPL文件与EXE放在同一目录下,客户端运行时即可正常加载依赖。

3. 利用Delphi部署工具自动打包依赖

Delphi 13自带的Deployment Manager可自动收集并打包依赖文件:

  • 打开项目后,切换到Project > Deployment面板。
  • 点击Add > Add Files选择你的EXE文件,再点击Add > Add Required Packages,IDE会自动识别所有依赖的BPL文件并添加至部署列表。
  • 配置好部署路径后生成部署包,直接分发给客户端即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 06:32:39