1. 为什么还要折腾 Delphi 13 的安装
先把话说在前头:Delphi 13 这个版本号,在官方正式发布序列里其实并不存在一个叫“Delphi 13”的独立大版本,社区里说的“Delphi 13”通常指的是 RAD Studio 13.0 这一代产品线(对应 Delphi 13、C++Builder 13),也有人把它当作“Delphi 12 之后的下一站”来称呼。所以当你看到“Delphi 13 安装方法”这个标题时,第一件要搞清楚的事不是点哪个按钮,而是你装的到底是哪个具体版本、哪个 Edition、哪个 Update。这一点搞错,后面所有补丁、注册机、组件兼容问题都会连锁反应。
我自己是从 Delphi 7 一路用到现在的,中间踩过的安装坑能写一本小册子。早期版本安装相对“干净”,一个 setup.exe 走完就行;到了 10.x 之后,安装器变成了一个基于在线下载的引导程序(GetIt / BDS 安装器),它会根据你勾选的平台去拉对应的包,网络一抖、磁盘一满、杀软一拦,就会出现“安装发生错误,可以通过以下方法排查包故障”这种提示。很多人第一次装就卡在这里,然后去搜“1. 使用下面的搜索 URL 搜索每个包”,结果越搜越乱。
这篇东西我打算按一个真实从业者的视角,把 Delphi 13(RAD Studio 13.0)从准备、安装、补丁、组件、常见报错整条链路讲透。适合谁看?三类人:一是从 Delphi 7/2007 老版本想升级过来的老手,二是刚接触 Delphi 想学 Object Pascal 的新人,三是需要在公司内网、离线环境批量部署的运维同学。不管你是哪种,核心诉求都一样——一次装好,别反复重装。
提示:本文所说的“Delphi 13”统一指 RAD Studio 13.0 产品线中的 Delphi 部分,涉及具体版本号时以你实际拿到的安装包为准。不同 Edition(Community / Professional / Enterprise / Architect)功能差异很大,安装前务必确认授权类型。
2. 安装前的整体设计与思路拆解
2.1 先想清楚“装哪些平台”,别一股脑全勾
Delphi 的安装器最坑的地方在于:它默认会把所有能装的平台都列出来,很多人图省事全选,结果装了两个小时,磁盘吃掉几十 GB,最后发现自己只用 Windows VCL。所以第一步是做减法。
我的建议是按用途分三档:
- 纯学习/入门:只勾 Windows 32-bit + Windows 64-bit,VCL 和 FMX 都留着,其他全不选。这样安装体积能控制在 10 GB 以内,速度快,出错概率低。
- 桌面应用开发:Windows 双平台 + 必要的第三方组件(如数据库驱动、报表控件),Android/iOS 视情况。
- 移动/跨平台:Windows + Android + iOS + macOS,这时候必须装对应的 SDK、JDK、NDK,安装器会自动拉,但网络要求高。
为什么强调做减法?因为 Delphi 安装器在下载阶段是串行+并行混合的,包越多,任何一个包失败都会让整个安装回滚或卡住。你勾得越少,失败面越小,排查越容易。这是我在内网离线部署时总结的血泪教训。
2.2 在线安装 vs 离线安装,怎么选
官方提供两种方式:在线安装器(Web Installer)和离线 ISO(Offline Installer)。很多人不知道有离线包,直接上网装,结果公司网络一限制就废了。
| 方式 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 在线安装器 | 体积小,自动拉最新补丁 | 依赖网络,易中断,难复现 | 个人、网络稳定 |
| 离线 ISO | 一次下载,可反复装,可内网分发 | 体积大(20GB+),补丁要单独下 | 团队、内网、批量部署 |
我的做法是:个人机器用在线装,团队/内网一律用离线 ISO + 补丁包。离线 ISO 装完后,再手动打 Update,这样版本可控,出问题也好回滚。注意,离线 ISO 里的版本往往是初始版(RTM),后续补丁需要单独下载,这就是热词里“1. 补丁安装好了,后续补丁打开方法和注意事项”的由来。
2.3 授权与激活的先后顺序
Delphi 的授权机制这几年变化不小。Community Edition 免费但有营收限制,Professional 及以上需要序列号。安装器会在安装过程中或首次启动时要求登录/输入序列号。
这里有个顺序问题:建议先装完再激活,不要边装边激活。因为安装过程中如果激活失败,安装器可能直接中断,留下半成品。正确姿势是:装完 → 首次启动 → 登录账号 → 自动激活 → 再打补丁。补丁有时会重置授权状态,所以打完补丁后再确认一次授权是否正常。
注意:不要使用任何来路不明的“注册机”“破解补丁”。一来合规风险大,二来这类东西经常捆绑恶意代码,Delphi 项目里一旦引入,编译出的 exe 可能带后门。公司项目尤其要注意。
3. 核心细节解析与实操要点
3.1 系统环境与依赖项检查
Delphi 13 对系统有明确要求,装之前先对一遍:
- 操作系统:Windows 10 64-bit(1809 及以上)或 Windows 11。不建议在 Windows 7 上装新版,很多依赖跑不起来。
- 内存:最低 8 GB,推荐 16 GB 以上。编译大型项目时内存吃得很凶。
- 磁盘:SSD,至少预留 40 GB 给安装 + 缓存 + 项目。
- .NET Framework:安装器本身依赖 .NET,Windows 10/11 一般自带,但建议确认 4.7.2 以上。
- Visual C++ 运行库:多个版本,安装器会自动装,但如果系统缺,先手动补上。
我遇到过最典型的环境问题:系统里装了旧版 RAD Studio,注册表残留导致新版安装器识别混乱。解决办法是先彻底卸载旧版,用官方卸载工具,再手动清理ProgramData和注册表里Embarcadero相关项。这一步不做,后面大概率报“已安装其他版本”。
3.2 安装器选项逐项说明
打开安装器后,界面大致分几块,我按重要性排:
- Platform Selection(平台选择):前面说了,按需勾选。Android 需要额外 JDK/NDK,安装器会提示下载。
- Additional Options(附加选项):包括示例代码、帮助文档、InterBase、RAD Server 等。示例代码建议装,学习很有用;帮助文档看个人习惯,离线文档占空间但查起来快。
- Install Location(安装路径):默认在
C:\Program Files (x86)\Embarcadero\Studio\xx.x。强烈建议不要改到中文路径或带空格的路径,Delphi 的某些工具链对路径敏感,中文路径会导致编译报错。 - GetIt Package Manager:安装完成后用来装第三方组件和补丁,后面会细说。
这里有个细节:安装器下载的包会缓存在%ProgramData%\Embarcadero\下,如果你重装,缓存还在的话会快很多。所以重装前别急着清缓存,除非缓存损坏。
3.3 补丁安装的正确姿势
热词里提到“1. 补丁安装好了,后续补丁打开方法和注意事项”,这其实是很多人卡住的地方。Delphi 的补丁(Update)不是简单的 exe 双击,它需要通过GetIt或者独立的补丁安装器来打。
流程是这样的:
- 装完主程序,首次启动,确认能正常打开。
- 打开 GetIt Package Manager(菜单 Tools → GetIt Package Manager)。
- 在 Updates 标签页里看有没有可用补丁。
- 下载并安装,安装过程中会提示关闭 IDE。
- 打完补丁,重启 IDE,检查 About 里的版本号是否更新。
注意事项:补丁要按顺序打,不能跳。比如有 Update 1、Update 2,你得先打 1 再打 2。跳着打会出现文件版本不一致,IDE 启动崩溃。另外,打补丁前建议备份一下bin目录,万一打坏了能回退。
提示:如果 GetIt 里看不到补丁,可能是网络问题,也可能是你的版本已经是最新。可以手动去官方下载补丁包,用命令行方式安装。
4. 实操过程与核心环节实现
4.1 完整安装流程(以在线安装器为例)
我把整个流程拆成可复现的步骤,你照着走:
第一步:准备工作
- 关闭所有杀毒软件的实时防护(装完再开)。Delphi 安装器会写大量文件,杀软误报很常见。
- 确认磁盘空间,清理临时目录。
- 用管理员账号登录,安装器需要提权。
第二步:运行安装器
# 假设安装器叫 radstudio_13_esd.exe # 右键以管理员身份运行,或者命令行: radstudio_13_esd.exe安装器启动后会先解压引导程序,然后进入图形界面。
第三步:登录与授权
输入 Embarcadero 账号,选择你的授权类型。Community 版会自动校验资格。
第四步:选择平台与组件
按 3.2 的建议勾选。第一次装建议只勾 Windows 平台,装成功后再用 GetIt 补其他平台。
第五步:等待下载与安装
这一步最耗时,也最容易出错。如果卡在某个包,看日志:日志在%TEMP%下,文件名类似install_xxx.log。日志里会写明是哪个包失败、什么原因。
第六步:首次启动与验证
装完后启动 IDE,新建一个 VCL Application,编译运行,看能否生成 exe。这一步是验收标准,能跑起来才算装好。
4.2 离线安装与内网部署
内网部署是很多公司的刚需。做法:
- 在一台能上网的机器上下载完整离线 ISO。
- 把 ISO 挂载或解压,里面有个
setup.exe。 - 同时下载所有需要的补丁包,放到同一个目录。
- 把整个目录拷贝到内网,运行
setup.exe。 - 安装完成后,手动运行补丁安装器。
离线安装的关键是依赖完整。Android 平台需要 JDK、NDK、SDK,这些在离线包里可能不全,需要提前准备好。我一般会做一个“安装包 + 依赖 + 补丁 + 说明文档”的完整目录,团队新人直接照着装,省得每个人踩一遍坑。
4.3 安装后的必要配置
装完不是终点,还有几项配置要做:
- SDK 配置:如果装了移动平台,进 Tools → Options → SDK Manager,确认各平台 SDK 路径正确。
- 库路径:检查 Library Path,确保第三方组件路径已加入。
- 编译器选项:根据项目需要设置 Debug/Release 配置。
- 代码格式化:配置 Formatter,团队统一风格。
这些配置看起来琐碎,但直接影响后续开发效率。尤其是 SDK 路径,配错了编译移动项目会报一堆找不到文件的错。
5. 常见问题与排查技巧实录
5.1 安装报错速查表
| 报错现象 | 可能原因 | 解决方法 |
|---|---|---|
| 安装发生错误,排查包故障 | 网络中断、包损坏 | 看日志定位包,重下或换网络 |
| 卡在某个包不动 | 下载源慢、被杀软拦 | 关杀软,换时段重试 |
| 提示已安装其他版本 | 注册表残留 | 彻底卸载旧版,清注册表 |
| IDE 启动崩溃 | 补丁顺序错、文件缺失 | 按顺序重打补丁,修复安装 |
| 编译报找不到 dll | 路径含中文、环境变量错 | 改英文路径,检查 PATH |
| 授权失效 | 补丁重置、账号问题 | 重新登录激活 |
5.2 几个我踩过的坑
坑一:中文用户名导致安装失败。Windows 用户名是中文时,%TEMP%路径带中文,某些安装包解压会失败。解决办法是新建一个英文用户,或者改环境变量把 TEMP 指到英文路径。
坑二:杀软把编译产物当病毒。Delphi 编译出的 exe 有时会被误报,尤其是带网络功能的。把项目目录加入白名单。
坑三:补丁打完 IDE 变慢。有时候是缓存问题,删掉%APPDATA%\Embarcadero\下的缓存目录,重启 IDE。
坑四:多版本共存冲突。同时装 Delphi 12 和 13,注册表和环境变量会打架。建议用虚拟机隔离,或者装完后手动切换环境变量。
5.3 关于“搜索 URL 搜索每个包”的说明
安装器报错时会提示“使用下面的搜索 URL 搜索每个包”,这其实是让你去官方知识库搜对应的包名,看有没有已知问题。我的经验是:先看本地日志,再去搜。日志里通常有更具体的信息,比如 HTTP 404、校验失败、磁盘满等。搜之前把日志里的包名复制出来,搜起来更准。
6. 组件生态与后续扩展
6.1 GetIt 与第三方组件
Delphi 的生态很大一部分靠第三方组件。GetIt 里能直接装的有限,更多组件需要手动安装。安装第三方组件的一般步骤:
- 下载组件包(通常是源码或编译好的 bpl)。
- 如果有源码,用 IDE 打开 dpk/dproj,编译安装。
- 安装后在 Library Path 里确认路径。
- 新建项目测试组件是否可用。
注意:组件版本要和 Delphi 版本匹配。Delphi 13 用的组件必须支持 13,用 12 的组件可能编译不过。热词里提到的clipper2 delphi就是一个典型例子,这类几何库要确认支持你的版本。
6.2 数据库与 TreeView 这类常见需求
热词里有“delphi通过数据库实现treeview”,这是很经典的场景。做法是:从数据库查出层级数据(比如 id、parent_id、name),然后递归构建 TreeView 节点。核心代码逻辑:
procedure TForm1.LoadTree; var Node: TTreeNode; begin TreeView1.Items.BeginUpdate; try TreeView1.Items.Clear; // 假设 DataSet 已按 parent_id 排好序 while not DataSet.Eof do begin if DataSet.FieldByName('parent_id').AsInteger = 0 then Node := TreeView1.Items.Add(nil, DataSet.FieldByName('name').AsString) else Node := TreeView1.Items.AddChild( FindNodeById(DataSet.FieldByName('parent_id').AsInteger), DataSet.FieldByName('name').AsString); DataSet.Next; end; finally TreeView1.Items.EndUpdate; end; end;这段代码的关键是BeginUpdate/EndUpdate,不加的话节点多了会闪屏、卡顿。这是实战经验,文档里不一定强调。
6.3 多线程与浏览器组件的注意事项
热词里还有“delphi 多线程”和“delphi webbrowser 浏览器”。这两个都是容易出问题的点:
- 多线程:Delphi 的 VCL 不是线程安全的,UI 操作必须在主线程。用
TThread.Synchronize或TThread.Queue回主线程更新界面。 - WebBrowser:老版 TWebBrowser 基于 IE,新版建议用 Edge WebView2 或第三方组件。用之前确认系统装了 WebView2 Runtime。
这些细节装的时候用不到,但开发时一定会遇到,提前知道能少走弯路。
7. 我个人的几点体会
装 Delphi 这件事,说难不难,说简单也不简单。核心就三条:环境干净、按需勾选、补丁有序。我见过太多人因为图快、全选、跳补丁,最后重装三四遍。
另外,别迷信“最新版一定最好”。如果你的项目依赖老组件,可能 Delphi 12 更稳。新版本装之前,先确认你的关键组件是否支持。我一般会先在虚拟机里装一遍,跑通项目再上主力机。
最后分享一个小技巧:把整个安装过程录屏或写成一个 checklist,下次重装直接照着走,能省一半时间。团队里更是如此,一份好的安装文档比什么都值钱。