This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- Chained MSI Packages
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 16, 2009
06:37 PM
Chained MSI Packages
I have three software packages (A, B, C) that I created three separate projects for. I also created an additional project that acts as a suite installer for ABC. I explored many different paths for a multiple-package install but the most logical option appeared to be in using chained MSI's. I could create a basic MSI project that will act as a suite for the chained packages and tie the chained packages to their respective features.
My problem is that to include a chained MSI it can't have pre-req's. From what I have read, it recommends to move the pre-req's to the parent/suite installer for ABC. Although now I have to double my projects to six in order to have a pre-req and non-pre-req MSI generated because I need the pre-req's if A, B or C is installed by itself outside the suite installer. With all the projects (7), it is going to be a big pain to update all three projects for just a single change in A, B or C.
Does anyone have a nice way of dealing with this? Is there a way to have an InstallShield project create multiple custom builds so I can cut the pre-req and non-pre-req MSI in one action?
My problem is that to include a chained MSI it can't have pre-req's. From what I have read, it recommends to move the pre-req's to the parent/suite installer for ABC. Although now I have to double my projects to six in order to have a pre-req and non-pre-req MSI generated because I need the pre-req's if A, B or C is installed by itself outside the suite installer. With all the projects (7), it is going to be a big pain to update all three projects for just a single change in A, B or C.
Does anyone have a nice way of dealing with this? Is there a way to have an InstallShield project create multiple custom builds so I can cut the pre-req and non-pre-req MSI in one action?
(2) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 17, 2009
09:10 AM
I don't think there is anything like what you are looking for built-in to InstallShield.
Here is how we are handling a similar situation.
Each of our chained MSIs check for pre-reqs. If the given pre-req is not found, it aborts.
The suite installer is responsible for checking for all of the chained MSIs pre-reqs and installing them if they are missing (so they are present by the time the chained MSI gets called). Specifically, we install the chained MSI based on feature selection - so our pre-req checking/installing is also at this level.
If the user wants to install just a chained MSI without the suite installer, then they are responsible for making sure the pre-reqs are already installed before installation.
Here is how we are handling a similar situation.
Each of our chained MSIs check for pre-reqs. If the given pre-req is not found, it aborts.
The suite installer is responsible for checking for all of the chained MSIs pre-reqs and installing them if they are missing (so they are present by the time the chained MSI gets called). Specifically, we install the chained MSI based on feature selection - so our pre-req checking/installing is also at this level.
If the user wants to install just a chained MSI without the suite installer, then they are responsible for making sure the pre-reqs are already installed before installation.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 17, 2009
10:45 AM
Right, that sounds a lot like what I would recommend. But one little note: you can definitely avoid the 2x project explosion (use Release Flags on your prerequisites, and add another release configuration) and you may be able to avoid the 2x build explosion. If you build uncompressed packages and are only using setup prerequisites (no feature prerequisites), then you can harvest the files other than setup.exe and ISSetupPrerequisites\ in order to have an MSI without the prerequisites. If you build compressed, you can grab these files from the TEMP extracted folder after you launch setup.exe.
![](/skins/images/3B39CE851FDD5528C393F146EB70A2D0/responsive_peak/images/icon_anonymous_message.png)