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
- :
- Reevaluate Condition Issue Questions....
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 04, 2017
07:24 PM
Reevaluate Condition Issue Questions....
Hi there,
So, we have an install with some third party app integrations. What happens is that if an end user upgrades on of those apps after installing our software, which may support later versions, the end use launches our package again to run a Modify/Maintenance "Change" install. All works as planned. Our install detects the upgraded third party app and places the corresponding Features accordingly.
Now, here is the issue, there are also some conditioned components in our Core app that work in conjunction with the installed third party app. I thought I could just set those as transitive components by setting the Reevaluate Condition on them. However, as I understand it, these are only acted upon via Repair/"Reinstall". That won't work for us as the user won't want to run our package twice to match our components to their installed app. Also, I even tried running the repair and the conditioned components are still not installed when marked to reevaluate condition.
Is there any way I can get these transitive, conditioned components handled via the Maintenance/"Change" install?
I guess I could create new features to handle them and by adjusting ADDLOCAL at runtime to accomplish what I want, but that would be a lot of redesign/gutting. I'm hoping that I can deal with the components during Modify as they currently exist in our core app component tree.
Thank you so much in advance for any information or guidance you can provide!
So, we have an install with some third party app integrations. What happens is that if an end user upgrades on of those apps after installing our software, which may support later versions, the end use launches our package again to run a Modify/Maintenance "Change" install. All works as planned. Our install detects the upgraded third party app and places the corresponding Features accordingly.
Now, here is the issue, there are also some conditioned components in our Core app that work in conjunction with the installed third party app. I thought I could just set those as transitive components by setting the Reevaluate Condition on them. However, as I understand it, these are only acted upon via Repair/"Reinstall". That won't work for us as the user won't want to run our package twice to match our components to their installed app. Also, I even tried running the repair and the conditioned components are still not installed when marked to reevaluate condition.
Is there any way I can get these transitive, conditioned components handled via the Maintenance/"Change" install?
I guess I could create new features to handle them and by adjusting ADDLOCAL at runtime to accomplish what I want, but that would be a lot of redesign/gutting. I'm hoping that I can deal with the components during Modify as they currently exist in our core app component tree.
Thank you so much in advance for any information or guidance you can provide!
5 Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Aug 04, 2017
08:00 PM
Or, is there a way I can use REINSTALLMODE with a parameter(s) in combination with the Modify/Maint/Change install type?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Aug 08, 2017
05:46 AM
Check this link
I created a CA (with the needed condition) that set the REINSTALL property to the Feature I need to reevaluate.
I created a CA (with the needed condition) that set the REINSTALL property to the Feature I need to reevaluate.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Aug 08, 2017
08:03 AM
eladef wrote:
Check this link
I created a CA (with the needed condition) that set the REINSTALL property to the Feature I need to reevaluate.
/\---this.
Sort of, anyways. The difference between a Change and a Repair in this case is a Reinstall control event. You don't necessarily need a custom action--you could duplicate the event on the MaintenanceType dialog and have it run for Change as well as Repair.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Aug 08, 2017
09:09 AM
Cary R wrote:
/\---this.
Sort of, anyways. The difference between a Change and a Repair in this case is a Reinstall control event. You don't necessarily need a custom action--you could duplicate the event on the MaintenanceType dialog and have it run for Change as well as Repair.
I tried adding a control event on the Next button of the Maintenance Type dialog that would set the REINSTALL property to MyFeatureName if _IsMaintenance = "Change". The involved components are also marked to Reevaluate Condition, but they are still not being installed during a Modify/Change install.
Not sure what I'm missing, but I could turn to placing the involved components in a separate feature to be handled during the Modify, being added to ADDLOCAL if conditions are met. I would rather go the REINSTALL route if I could because it seems like less gutting of the install.
Are you maybe referring to duplicating these on the Maint Type Next button...
ReinstallMode _IsMaintenance = "Reinstall"
Mode [ReinstallModeText]
Reinstall _IsMaintenance = "Reinstall"
Feature Name ALL
... changing "Reinstall" to "Change" and ALL to MyFeatureName, of course.
If so, that would take care of the install via the UI, but I would need to set whatever is needed during a silent install as well. I have a Custom Action that addresses ADDLOCAL for any new features that need to be installed during maintenance and I tried just adding session.Item("REINSTALL") = "MyFeatureName", but that doesn't seem to work either.
UPDATE: What's odd is that it seems my action run during silent install works ( session.Item("REINSTALL") = "MyFeatureName"), but from the UI setting the REINSTALL property to MyFeature if _ISMaintenance = "Change" does not work.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Aug 08, 2017
12:42 PM
I think I'm just going to go with Adding a new Feature to handle these files. This will fall in line with how we currently handle our Maintenance installs where components are placed based on the presence of searched third part apps.
That way I won't have to mix in special REINSTALL considerations during the Modify/Change install.
Thanks for the responses. I'm filing them away as I know I'll most likely reference them down the road.
That way I won't have to mix in special REINSTALL considerations during the Modify/Change install.
Thanks for the responses. I'm filing them away as I know I'll most likely reference them down the road.
