InstallShield has a concept called "Installation Prerequisites" where you can teach it to install additional packages along with your own. In older versions, this will happen before your MSI is called. In newer versions, you may have a โFeatureโ precondition in which prereq can be associated with a function and only set if that function is selected for installation and after it is selected, but before the main action of your MSI occurs during the sequence complete installation.
InstallShield also has a template for executing SQL scripts against your database instance, in order to then load your database into your newly installed instance.
All this is powerful enough, but to study you need to look a little.
source share