In our earlier post we explained how to extract an MSI from the Setup.exe. The MSI is normally extracted to...
Nested MSI (Concurrent Installations):
Nested Installation is calling an Child.msi from Parent.msi. Concurrent Installations is a deprecated feature of the Windows Installer. Applications installed with concurrent installations can eventually fail because they are difficult for customers to service correctly. Do not use concurrent installations to install products that are intended to be released to the public. Concurrent installations can have limited applicability in controlled corporate environments when used to install applications that are not intended for public release.
Create Installation Support for Child.msi:
Edit the Parent.msi using Wise Package Studio.
Select the MSI Script Tab.
Select Execute Immediate.
In the Execute Immediate tab, look for the CostFinalize and select one line below that.
On the left hand side in Actions, double click on Install MSI from Installation.
Give the Custom Action name as you wish.
In Installation to Run, Browse for Child.msi.
In Property Settings, give Properties if needed.
To use the same value for the ALLUSERS property used by the parent installation, type the following in the Property Settings.
ARPSYSTEMCOMPONENT=1 ADDDEFAULT=ALL ALLUSERS=[ALLUSERS]
Give the condition for the Custom Action we just create.
Create Condition for Install Custom Action:
Create a IF statement and give the condition “NOT Installed” and End the statement after the Custon Action.
Create Uninstall Support for Child.msi.
In the Execute Immediate tab, look for InstallValidate, and select a line below that.
On left hand side, from Actions, select Install MSI From Destination.
Double Click on Install MSI From Destination.
In the Custom Action Name give a name as you wish.
In the Product Code, give the Product Code of Child.msi.
In the Property Setting, give REMOVE=ALL
Create condition for Uninstall Custon Action:
Select the IF statement and give condition as REMOVE~=”ALL”.
End the if statement after the Custom Action.
Save and Compile.
Although you can create a nested MSI installation, there are drawbacks to doing this. These drawbacks include the following: