We help IT Professionals succeed at work.

Runtime packages & a static VCL50

Alex_nl asked

I want to build an application using custom runtime packages to reduce the footprint BUT...I want to compile VCL50, VCLX50 (and all other VCL packages I use) INTO the application's .exe so I only have to distribute the custom packages.

Is that possible in any way or do I have to distribute the VCL's *.bpl files as well? The VCL packages are rather big so deploying will be more difficult that way.

I'm using Delphi 5.0

Watch Question

Not possible.
You can compile your projects either with or without runtime packages.
When using runtime packages they are linked statically; that means that any dependent executable will not work without them.
All packages or executables compiled with runtime packages option in Delphi 5 require at least vcl50.bpl which is the core runtime package; it's not possible to use a runtime package without also using vcl50.bpl.
You are not allowed to recompile VCL units into different runtime packages and distribute them by your license agreement; neither is it possible in some cases because of missing source files; you will not be able to recompile vcl50.bpl, for example.
Runtime packages will not reduce footprint of your distribution when used with a single application; the benefit is only apparent when there are more applications sharing them - because they need to be installed only once.
You can, however, provide two separate distributions; with and without the required packages. See details in deploy.txt file in your Delphi directory.



Thanks for the info!

It seemed like a good option: the application is a tray app and some of the functions are only used at startup. Reducing the amount of memory used would have been great. The only thing I can think of now is cramming in into a DLL...