[Lazarus] cross-distro (and OS) app installation - what would you like?

Graeme Geldenhuys graemeg.lists at gmail.com
Wed Jan 20 23:18:43 CET 2010

On 20/01/2010, stoppok at muenster.de <stoppok at muenster.de> wrote:
> OK, I thought you are still in the early stages of evaluation.

No, we have had the "setup tool" on the table for some time, we just
did have time to implement everything yet. That's my task now.

>  Concerning XML:
>  >From my point of view XML has it's advantages but is often used where
>  other alternatives are easier and/or better. I prefer ini-files when it
>  comes to configuration-files and in the case of Inno-setup with it's
>  scripting language I'm really glad that they use ini-files.

Actually, I can't agree more. I'm a big fan of INI files and they are
very easy to use, thanks to Delphi and FPC. XML files are many times
over-hyped and yes, it often gets used in inappropriate situations.

In this case (for the setup tool), we map the features to be installed
and there dependencies in the XML as nested elements.
  * FPC (base install)
  * SqlDB (basic database support)
     + Interbase/Firebird support
     + Oracle support
     + IBM DB/2 support

In such a case "Interbase/Firebird" database support cannot be
installed without the "SqlDB" support. So we map that relationship in
the setup.xml as well.

Here is a simplified xml layout showing that:

  <option id="fpc">FPC (base install)</option>
  <option id="sqldb">SqlDB (basic database support)
    <option id="firebird">Interbase/Firebird support</option>
    <option id="oracle">Oracle support</option>
    <option id="db2">IBM DB/2 support</option>

Using INI files it isn't as obvious how to map such a relationship -
unless you can give me some ideas. I'm always eager to hear how others
would have approached the same problem.

The above xml example is a simplified one. I left out many extra
attributes of the <option> element as well as other nested elements
inside the <option> element. The <option> element contains other
elements like <help>, <script>, <files> etc..

  - Graeme -

fpGUI - a cross-platform Free Pascal GUI toolkit

More information about the Lazarus mailing list