 <p>That package is a runtime package containing the VCL. You presumably also need to deploy rtl90.bpl for the RTL and possibly some others. By enabling runtime packages you are promising to deploy those packages where the executable can find them.</p> <p>You have 3 main options:</p> <ol> <li>Deploy the packages to a location that is contained in the PATH variable. Usually this means modifying PATH. You should never write to the system directory. It is owned by the system and you should respect that.</li> <li>Deploy the packages to the same directory as the executable file.</li> <li>Disable runtime packages and therefore build a single self-contained executable. The RTL/VCL code will be statically linked into your executable.</li> </ol> <p>Option 1 is poor in my view. Relying on the PATH variable and the ability to modify it is fragile. Option 2 works but seems rather pointless in comparison with option 3. You deploy more files and larger files when you choose 2, so why choose it.</p> <p>In summary I recommend option 3. Statically link all RTL/VCL code into your executable.</p> <p>The only situation where option 2 wins, in my view, is when you have multiple related executables that are all deployed to the same directory. In that situation sharing the RTL/VCL code can make sense.</p>