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
- :
- Include/exclude major upgrade item based on product configuration
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
‎Dec 07, 2010
05:49 PM
Include/exclude major upgrade item based on product configuration
I have a single InstallShield project that contains multiple product configurations. They are related products in that some of them share common features, components, and custom actions directly instead of going through a merge module layer. Product flags are then used in conditions to include or exclude according to the product configuration being built.
This has been working well except one small issue. There is no way to include/exclude major upgrade items based on product configurations. As such, if two products from the same installer project are installed on the same computer then a major upgrade to one will also remove the other product even though they have different upgrade codes.
This could be resolved by having ability to include/exclude major upgrade items to specific product configurations at build time. Would this feature request be of value for others also?
This has been working well except one small issue. There is no way to include/exclude major upgrade items based on product configurations. As such, if two products from the same installer project are installed on the same computer then a major upgrade to one will also remove the other product even though they have different upgrade codes.
This could be resolved by having ability to include/exclude major upgrade items to specific product configurations at build time. Would this feature request be of value for others also?
(2) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Dec 10, 2010
06:11 PM
What you will have to is place conditions on the approprate actions. For example RemoveExistingProducts is the action which removes old installs based on the upgrade critera you selected in upgrades ( upgrade code , version etc). Placing a condition on this action will make it fire or not fire.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Dec 10, 2010
07:37 PM
Thanks for the suggestion.
Though I am not sure that will work in all cases. In particular, the scenario of a major upgrade of one of the products while another product(s) was also found. Still would want RemoveExistingProducts to execute in order to remove the currently updating product. RemoveExistingProducts action only runs once and not once for each product to uninstall, so I don't think that adding condition would help. (I could be wrong, but those are my initial thoughts).
Taking a step back, the MSDN documentation for RemoveExistingProducts action:
The RemoveExistingProducts action goes through the product codes listed in the ActionProperty column of the Upgrade table and removes the products in sequence by invoking concurrent installations.
That may be the answer. I could conditionally clear the respective property that should not be uninstalled after FindRelatedProducts but before RemoveExistingProducts.
All in all, I think it would be much preferred to have the ability at build time to include/exclude major upgrade items accordingly instead of these extra steps. Thoughts on this feature request? Or maybe it is rare to have related products within same installer project that ultimately need to be treated as unrelated?
Though I am not sure that will work in all cases. In particular, the scenario of a major upgrade of one of the products while another product(s) was also found. Still would want RemoveExistingProducts to execute in order to remove the currently updating product. RemoveExistingProducts action only runs once and not once for each product to uninstall, so I don't think that adding condition would help. (I could be wrong, but those are my initial thoughts).
Taking a step back, the MSDN documentation for RemoveExistingProducts action:
The RemoveExistingProducts action goes through the product codes listed in the ActionProperty column of the Upgrade table and removes the products in sequence by invoking concurrent installations.
That may be the answer. I could conditionally clear the respective property that should not be uninstalled after FindRelatedProducts but before RemoveExistingProducts.
All in all, I think it would be much preferred to have the ability at build time to include/exclude major upgrade items accordingly instead of these extra steps. Thoughts on this feature request? Or maybe it is rare to have related products within same installer project that ultimately need to be treated as unrelated?
![](/skins/images/8C9D13A71C7F7695F3262372C0172D68/responsive_peak/images/icon_anonymous_message.png)