When i build a project with "Link with runtime packages" set to true the output exe is very small, on my pc the exe is working fine but some people get the error that rtl190.bpl is missing. How can i fix this? I still want a small output file.
Asked
Active
Viewed 3,985 times
2
-
You should have read the docs: http://docwiki.embarcadero.com/RADStudio/en/Deploying_Packages although they are utterly lame when they suggest deploying to the system directory. Don't do that. – David Heffernan Apr 13 '14 at 06:22
1 Answers
8
As the error states, you're missing the file rtl190.bpl from the users PC.
While compiling with runtime packages will result in a smaller .exe file, you still need to distribute all associated .bpl files with your .exe. .BPL files are effectively DLL files so your program still needs them to operate correctly.
What you'll find is, for example, rtl190.bpl is a very big file unto itself, so if your ultimate goal is to produce the smallest distribution file(s), I wouldn't compile with runtime packages. Just compile into a "fat" binary, and a single .exe. If you use 3rd party components too, you'll need to distribute those files (.bpl) too and you'll end up finding that the final total size of files is far greater than a single compile .exe

Jason
- 2,572
- 3
- 34
- 41
-
1Runtime Packages are useful to enable when you have multiple apps using the same runtime. You can deploy the runtime once and then compile smaller app executables that use it. Disable Runtime Packages if you are deploying a single app, or just do not want to deploy a separate runtime. – Remy Lebeau Apr 13 '14 at 17:47
-
1Runtime Packages are also useful if you frequently update you application – Andrey Shaforostov Feb 02 '20 at 11:11
-
Would be nice if files can be excluded from project file/main if runtime packages is enabled, that way one can switch between all in in exe or keep it seperated. Right now there is no compiler directive to detect build with runtime packages for compiler and also main is usually screwed up by IDE if there are ifdefs for adding sources files to project. Sometimes the debugger has issues debugging runtime packages, that is why it's nice if switching to all source builds can be done. – oOo Jan 23 '22 at 15:58