RAD Studio的Redist目录下*.redistlist文件的作用是什么?
在RAD Studio安装目录(例如:C:\Program Files (x86)\Embarcadero\Studio\21.0)中,Redist目录下包含多个*.redistlist格式文件:
c:\> dir "C:\Program Files (x86)\Embarcadero\Studio\21.0\redist\*.redistlist" Volume in drive S is RAD Studio 10.4.2 Volume Serial Number is 026F-0E48 Directory of C:\Program Files (x86)\Embarcadero\Studio\21.0\Redist 20/02/2021 07:55 AM 67 iossimulator.redistlist 20/02/2021 07:55 AM 1,384 linux64.redistlist 20/02/2021 07:55 AM 2,273 osx32.redistlist 20/02/2021 07:55 AM 2,100 osx64.redistlist 20/02/2021 07:55 AM 3,363 win32.redistlist 20/02/2021 07:55 AM 2,939 win64.redistlist 6 File(s) 12,126 bytes
已知redistlist文件内容为运行时包文件名列表,请问redistlist文件的核心用途是什么?是否可用于程序部署任务,还是仅用于记录可用运行时包?
问题解答
*.redistlist核心用途
*.redistlist是RAD Studio官方维护的对应目标平台可合法再分发运行时包的官方清单,核心作用有两点:
- 为RAD Studio内置的部署管理器提供依赖校验依据:当你在项目设置中选择「使用运行时包编译」并开启自动部署功能时,工具会自动读取对应目标平台的redistlist文件,精准匹配需要随应用打包的官方运行时文件,避免遗漏依赖或打包错误版本的库文件。
- 作为分发授权的白名单依据:清单内列明的所有文件,都是Embarcadero官方允许开发者随自研应用进行商用分发的运行时文件,未出现在清单内的RAD Studio自带库文件,默认不允许随第三方应用分发,可规避分发时的版权风险。
能否用于程序部署任务
完全可以用于自定义部署流程,并非仅做记录用途。
如果你的项目使用自定义的自动化打包脚本(比如批处理、PowerShell、CI/CD流水线脚本),可以直接读取对应目标平台的redistlist内容,到RAD Studio安装目录的Redist对应平台子目录下批量拷贝清单内的运行时文件,比手动整理依赖列表准确率更高,同时也能确保你分发的运行时文件全部在官方授权的白名单范围内。
内容的提问来源于stack exchange,提问作者Chau Chee Yang
相关产品推荐
相关产品推荐

