Tomas Hajny wrote:
On 13 Dec 08, at 10:40, Lee Jenkins wrote:

Is it possible to append data to an existing executable file and have that file run correctly? I'm adding scripting features to one of our products and I wanted it so that our software can create a standalone executable for the end user.

First of all, this may be different for different platforms, so it's probably rather important to know the platform you're talking about. Executable files for some platforms have explicit support for addition of some data directly into the executable file in the form of the so-called resources and the tool necessary for adding the data (resource compiler) may be directly shipped together with the particular platform, in other cases appending the data outside the real executable image may be more tricky (but it can be probably done for all platforms in this or that way).

Windows 2K/XP/Vista, Linux GTK2 and possible MacOS when/if cocoa is finished.


My plan was to create the base executable file which had the script engine and business logic to run the script and ship that with the product. Then compile the end user's script and combine it with a copy of the "base executable" to produce the final executable file.

Is this possible or is there a more feasible way of having a program create stand alone executables? Normally, I'd just ship the fpc compiler and just compile the final exe behind the scenes but I don't want to make the source code to the "base" exe available.

Well, if you consider distributing FPC and compiling the final exe "behind the scenes", an alternative may be distributing your base executable in the form of units compiled with the particular FPC version (i.e. without having to distribute source files) and then create and compile just the program skeleton (calling functionality from the pre-compiled units) plus your script.


That is a good idea. Precompiled units would obfuscate main code. I'll give that a try.

Thank you,

--
Warm Regards,

Lee
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to