P_B
21st October 2005 17:58 UTC
section sequencing
hi, is there any way to define the sequence of section to execute. e.g in my case i have two sections, one to install mysql and other to create dabase and tables. Now the problem is both sections executes simultaneously and it runs the create script before installing the mysql. plz help
kichik
21st October 2005 18:00 UTC
The order of the sections in the script is the order they're executed.
If you want to keep the script order, but execute in another, have each section set a flag. In another hidden section, read those flags and execute your code according to those flags in any order you wish.
P_B
21st October 2005 18:04 UTC
thanx for replying much faster. But it doesn't seems to solve the issue at my end. In my case i have no of options or sections in my installer. And as i came to know nsi handles atmost two sections at a time. But it is a specific case for me when user selects only these two options. And how can i came to nu that the mysql is installed and i go further.
kichik
21st October 2005 18:13 UTC
I'm sorry, but I didn't understand what you were trying to say. How can the user select two sections, if you don't have two sections? What options are you talking about? What sequence of execution are you talking about?
Are you executing two processes and want to wait for the first one to finish before the second one starts? If so, use ExecWait.
P_B
21st October 2005 18:21 UTC
see, as in case of ExecWait the second process wait till the first one completes(it is in the single section only). I want the same in my case, but it is related to sections. But the problem in my case is that i'm installing mysql in the first section, as per the installer the first process is kicked off. But i want to make it wait till the mysql's installation completes. Is it possible to do this ? Or if there is any other alternate, could u plz post a sample code.
kichik
21st October 2005 18:28 UTC
Execute both of the installer using ExecWait. If the first installer doesn't wait even when it's called with ExecWait, the executed installer might be doing some weird, like extracting another installer and executing it without waiting for it. In that case, you can use Unattended resources to find out how to make it wait anyway. For example, InstallShield waits if you pass /SMS on the command line.
P_B
25th October 2005 06:55 UTC
i found a solution and it is working fine. i'm using a var as flag and updating the value for same depending on the user's selection. and executing the required stuff in the function .onInstSuccess depending on the value of flag variable.:up: