• Nested MSI (Concurrent Installations):

    Posted on March 26, 2012 by in Application Packaging

    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]

    Click Ok.

    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

     

    Click Ok.

    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:

    • Nested Installations cannot share components.
    • An administrative installation cannot contain a nested installation.
    • Patching and upgrading will not work with nested installations.
    • The installer will not correctly cost a nested installation.
    • Integrated ProgressBars cannot be used with nested installations.
    • Resources that are to be advertised cannot be installed by the nested installation.
    • A package that performs a nested installation of an application should also uninstall the nested application when the parent product is uninstalled.

     

    Be Sociable, Share!

    Written by

    Senior Desktop Engineer with over 6 years of experience in application pakcaging, testing and deployment. Designed and successfully implemented App-V infratstructure in mid size enterprises.

    View all articles by

    Email : [email protected]

    Leave a Reply