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
- :
- Re: Feature prerequisite with release flags causes install to fail
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
‎Aug 31, 2009
02:27 PM
Feature prerequisite with release flags causes install to fail
I have a large project that includes several prerequisites (setup and feature) along with several configurations and releases. I then use various configuration and release flags to map the appropriate prerequisites and features to be included for the various installs.
There seems to be an issue with how feature prerequisites are handled in some situations that include flags (configuration and/or release). Setup prerequisites do not appear to have this issue.
What happens at install time is that a second install gets kicked off at the point when the feature prerequisites are handled. The second installer then kicks off a third installer at the same point during the install. This continues until you ultimately cancel the installation. It is also worth noting that this occurs regardless of if the prequisite install condition has been already met (ie. whether the prerequisite is already installed).
Here is a breakdown of what I have noticed for feature prerequisites:
No flags --> works fine
One or more flags (all of build's configuration/release flags included) --> works fine
One or more flags (not all of build's configuration/release flags included) --> fails
As such, I have two work arounds to choose from:
Attached is a zip file containing a simple installer project used to recreate the issue along with two msi log files. ConfigurationA needs the prerequisite but ConfigurationB does not. ConfigurationA's release has a release flag specified to map other prerequisites and features, as such the prerequisite's flags do not include all of the build's flags. The first log is from the initial installer and the second log is from the subsequent installer that gets launched. On line 58 in the first log is where the ISInstallPrerequisites action is handled.
Note: The example project uses "MSXML 6.0" as the prerequisite, however it does not matter what prerequisite you use.
Here is a related forum thread: Changes to how product configuration and release flags are handled in 2010
There seems to be an issue with how feature prerequisites are handled in some situations that include flags (configuration and/or release). Setup prerequisites do not appear to have this issue.
What happens at install time is that a second install gets kicked off at the point when the feature prerequisites are handled. The second installer then kicks off a third installer at the same point during the install. This continues until you ultimately cancel the installation. It is also worth noting that this occurs regardless of if the prequisite install condition has been already met (ie. whether the prerequisite is already installed).
Here is a breakdown of what I have noticed for feature prerequisites:
No flags --> works fine
One or more flags (all of build's configuration/release flags included) --> works fine
One or more flags (not all of build's configuration/release flags included) --> fails
As such, I have two work arounds to choose from:
Not specify any flags for feature prerequisites (setup prerequisites can continue to have flags). The consequence to this is that installs that do not need a particular feature prerequisite will not be properly excluded at build time and make the installer size unnecessarily bigger. Ultimately, the prerequisite will get ignored at run time since the feature will not be installed.
Include all possible configuration/release flags for all builds that need the prerequisite. This will allow only the builds that do not want the feature prerequisite to keep its installation size low. However, this is a less maintainable solution than if the issue did not exist and could specify a subset of flags since that is the documented behavior where one a setup prerequisite is included for a build if one configuration or release flag is included. See related forum thread below.
Attached is a zip file containing a simple installer project used to recreate the issue along with two msi log files. ConfigurationA needs the prerequisite but ConfigurationB does not. ConfigurationA's release has a release flag specified to map other prerequisites and features, as such the prerequisite's flags do not include all of the build's flags. The first log is from the initial installer and the second log is from the subsequent installer that gets launched. On line 58 in the first log is where the ISInstallPrerequisites action is handled.
Note: The example project uses "MSXML 6.0" as the prerequisite, however it does not matter what prerequisite you use.
Here is a related forum thread: Changes to how product configuration and release flags are handled in 2010
(2) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 01, 2009
12:03 PM
Hi Aaron, it looks like IOC-000074931 was not completely fixed. What's going on is that the code which selects which bootstrap file to build the install into still misunderstood the product configuration and release flags mix, and it selected the non-prerequisite setup.exe file. I've filed IOA-000051784 to track this, and hope we can fix it shortly; in the meantime you can backup the setup.exe files in \redists\language independent\i386 and copy the setupPrereq.exe over them. This workaround is potentially imperfect if you need a release which does not support prerequisites, and the effect is global across all your product builds.
Let me know if you have further questions on this.
Let me know if you have further questions on this.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 01, 2009
12:08 PM
Thank you for the response.
In the mean time, I have it working by tweaking my release flags to include all combinations. I'll probably wait until the next official release or service pack to update and then rollback my work around at that time.
In the mean time, I have it working by tweaking my release flags to include all combinations. I'll probably wait until the next official release or service pack to update and then rollback my work around at that time.