Archive: section sequencing


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


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.


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.


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.


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.


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.


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: