What we want: one installer with the ability to install a client and/or a server version of our application, with varying options. With the server install, the user can choose whether or not they want a web server installed, and whether or not they want database support on that machine. I.e:
Code: Select all
- Client
- Server
- Web
- Database
- Firebird
- MS SQL Server
Questions:
1) We need to set an environment variable "JAVA_HOME" on the server install (and only if they install web support) and this needs to be set to the path to the JRE (eg "C:\Program Files\Java\j2re1.4.2_06"). I don't understand how we can we do this? We do have as a prerequisite installation of the JRE. Can this be used in some way to set JAVA_HOME?
2) With the above variable I don't see if we can control whether it's removed or not when we uninstall.
3) On a client install we want the user to be able to enter the IP address of the database server, then save it to a properties file on the client install. Do we use a custom action for this? How do we create a custom dialog to prompt for the IP address?
One thing we want to do is read a default IP address (eg 127.0.0.1) from a cfg file alongside (not within) the installer, and write the chosen value back, this way the second time you do a client install it remembers the value from the last time. Therefore an admin can put the installer on a USB (or network) drive and install the client multiple times without having to enter the address each time. Is this a good approach?
4) Similarly we need to let the user pick their locale and save it to the locally installed cfg file. Is there a way to pick locales in AI and return strings such as en_GB, en_US, de_DE, etc?
5) When I run the Custom install option there are no buttons for picking alternate drives and I cannot go up a directory above C: to 'My Computer' or 'Desktop'. Have I done something wrong?
It seems that in a Custom installation you CAN manually type a different install location (eg different drive), but most users would be used to being able to do this via the file hierarchy tree.
6) With a Typical or Complete install, is it possible to still let the users choose the destination? It's not uncommon to have a "Program Files" folder on a different drive from C: (as well as one on C: for those applications that don't behave well on a different drive) ... or does AI automatically know this when running Typical or Complete install?
7) We send out installers with a default 'empty' database. When we uninstall we normally don't want the database deleted (I understand we simply mark the file as 'Permanent'). However if the user installs then immediately wants to uninstall and install in a different location, is there a way to delete the empty database file? I.e is there a way that AI could tell that the database file is still unmodified? Or alternatively can the user be prompted during the uninstall "do you want to delete the database"?
8) In some cases we may want to send out a 'full' database, but we don't want to have to build special installers. I.e in this case we'd send out the normal installer (containing the default empty database) and a 'full' database alongside (not within) the installer. Is there a way for AI to install the 'full' database if it sees it there, instead of the default empty one?
9) We support multiple database formats (eg Firebird, MS SQL Server). If the user is chosing a server install is there a way to make the selection exclusive, i.e so that they MUST install support for one and only one database?
Thanks in advance,
Phil