#1
  1. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jun 2013
    Posts
    5
    Rep Power
    0

    Howto deploy a delphi app. with database


    Hello everyone.
    My question is howto deploy a delphi database application to install other computer.
    Thx in advance
  2. #2
  3. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jun 2008
    Posts
    354
    Rep Power
    7
    I've never used it before, but I've heard good things about Inno Setup. http://www.jrsoftware.org/isinfo.php
  4. #3
  5. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jun 2013
    Posts
    5
    Rep Power
    0
    yes, I was reading Inno setup and Installshield. hope it works. the thing is that if it works with databases.
  6. #4
  7. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Feb 2004
    Location
    South Africa
    Posts
    59
    Rep Power
    11
    Originally Posted by yardimci1969
    yes, I was reading Inno setup and Installshield. hope it works. the thing is that if it works with databases.
    Hi, the type of database you use might influence the answer. What are you using ? An imbedded database? or do you need to ship it with. If you need to ship it, Im sure inno setup will work fine. there are some things to consider when using imbedded databases / file based solutions.

    dve83
  8. #5
  9. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jun 2013
    Posts
    5
    Rep Power
    0
    Originally Posted by dve83
    Hi, the type of database you use might influence the answer. What are you using ? An imbedded database? or do you need to ship it with. If you need to ship it, Im sure inno setup will work fine. there are some things to consider when using imbedded databases / file based solutions.

    dve83


    Im using sql database, firebird 2.0 installed.
    thx for the quick answer by the way
  10. #6
  11. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Feb 2004
    Location
    South Africa
    Posts
    59
    Rep Power
    11
    Firebird (afaik) has both imbedded (file based) and full client server version available. If you create your database 'on the fly' (ie. when you application starts it creates the required tables) then you dont need to ship anything.
    If you create the database on your side and wish to ship it with your exe, then Inno will do fine (been using it for around 8 years myself).

    Things to consider: if you distribute a database file or any file that you need to be able to write to directly - ie. not via db server, then ensure the permissions are set correctly (especially if installing program files folder). This can be done via Inno in the [Dirs] section of the scripts.
  12. #7
  13. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jun 2013
    Posts
    5
    Rep Power
    0
    Originally Posted by dve83
    Firebird (afaik) has both imbedded (file based) and full client server version available. If you create your database 'on the fly' (ie. when you application starts it creates the required tables) then you dont need to ship anything.
    If you create the database on your side and wish to ship it with your exe, then Inno will do fine (been using it for around 8 years myself).

    Things to consider: if you distribute a database file or any file that you need to be able to write to directly - ie. not via db server, then ensure the permissions are set correctly (especially if installing program files folder). This can be done via Inno in the [Dirs] section of the scripts.
    What do programmers prefer? create this database file program runtime, or ship this database file in setup file. if so I think the to do this using file based Firebird version.
  14. #8
  15. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Feb 2004
    Location
    South Africa
    Posts
    59
    Rep Power
    11
    Deciding on database server vs file based access:
    File-based access (ie. not via a database server) would have its limitations with regards to concurrent access. If you only have one user accessing the database, then this might be ok. If you have multiple users, then a Database Server is preferred (something that could manage / queue database transactions / requests). Also file-based access requires file permissions to be set correctly for different users. The upside on Filebased databases is the easy of distribution and access by your application.

    Deciding on shipping your database / creating in runtime:
    This is up to you - shipping a database WITH data would require you to eventually manage the data upgrades should your table structures change. The alternative is to keep your data structures in your code and generate the datatables when they are required (and posting the application default data to them via your code).

    The choice remains entirely up to you - I dont like shipping tables with data - reason: they make your installer bigger in size, and you must modify default data on your side before shipping. I rather like letting the code do it for me on the client side during upgrade procedure or such.

    hope I make sense
  16. #9
  17. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jun 2013
    Posts
    5
    Rep Power
    0
    Originally Posted by dve83
    Deciding on database server vs file based access:
    File-based access (ie. not via a database server) would have its limitations with regards to concurrent access. If you only have one user accessing the database, then this might be ok. If you have multiple users, then a Database Server is preferred (something that could manage / queue database transactions / requests). Also file-based access requires file permissions to be set correctly for different users. The upside on Filebased databases is the easy of distribution and access by your application.

    Deciding on shipping your database / creating in runtime:
    This is up to you - shipping a database WITH data would require you to eventually manage the data upgrades should your table structures change. The alternative is to keep your data structures in your code and generate the datatables when they are required (and posting the application default data to them via your code).

    The choice remains entirely up to you - I dont like shipping tables with data - reason: they make your installer bigger in size, and you must modify default data on your side before shipping. I rather like letting the code do it for me on the client side during upgrade procedure or such.

    hope I make sense
    Many thx, it is really helpfull.
    I was thinking to use Firebird server to gain experience although there is only one user. But I think on this case its better to use database which created in runtime.

IMN logo majestic logo threadwatch logo seochat tools logo