Graeme Geldenhuys wrote:
* How does one create such a standalone application?
* How do you include the application executable and other resources
(text, image, sound files etc) inside such an installation executable?

Hello Graeme,

I did this on Windows in Delphi, but the principle is pretty
the same for linux app.

1. Create your own file structure archive format or
   pack all installation files inside one .zip
   (later you should be able to extract files in
    memory from that .zip or own format file).

2. Use bin2obj.exe utility, to convert that .zip (or own)
   archive file into the pascal source code "Const statement".
   (eg. Const inst_arch : Array[0..xx] of byte = (0,1,2,...);).

3. Embed converted inst_arch constant into your app source code.
   (If you use is as {$I my_istall_file.inc}, you can rebuild
    installation data file from outside the installer app src code).

4. On RunTime, map inst_arch (you know its size) to TStream
   and use it as the source memory file with all your installation
   stuff inside (text, image, sound files etc).

The whole installer is in fact just an ordinary app with embedded
data block through const statement.

If you want to see this kind of installer (on windows),
have a look at: http://www.crossgl.com/CrossGL-SnapDraw-Installer.exe

Milan


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

Reply via email to