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
- :
- using property in Conditioin question.
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 05, 2009
04:28 PM
using property in Conditioin question.
Using Basic MSI:
I have 2 products that get delivered separately, say MainProduct and ProductB.
When the MainProduct is installed I set a registryKey of its install location.
When a user installs ProductB - I use a "System Search" and set it to a Property MPPATH.
For ProductB I use a setProperty Custom Action to set the INSTALLDIR = MPPATH with the condition being MPPATH (which will be null if the reg key does not exist)
I also use a setProperty to set a property MPINSTALLED using the same MPPATH - this property I use in the conditions for the features that can only be installed when the MainProduct is installed.
FeatureA
Level; Condition
0; NOT MPINSTALLED
1; MPINSTALLED
This all works fine: my problem is when the user changes the destination how do I unset the MPINSTALLED so the conditions for the features are still valid. Will setting MPINSTALLED=0 make this condition true: 'NOT MPINSTALLED'
Sorry so long - thanks,
Tom
I have 2 products that get delivered separately, say MainProduct and ProductB.
When the MainProduct is installed I set a registryKey of its install location.
When a user installs ProductB - I use a "System Search" and set it to a Property MPPATH.
For ProductB I use a setProperty Custom Action to set the INSTALLDIR = MPPATH with the condition being MPPATH (which will be null if the reg key does not exist)
I also use a setProperty to set a property MPINSTALLED using the same MPPATH - this property I use in the conditions for the features that can only be installed when the MainProduct is installed.
FeatureA
Level; Condition
0; NOT MPINSTALLED
1; MPINSTALLED
This all works fine: my problem is when the user changes the destination how do I unset the MPINSTALLED so the conditions for the features are still valid. Will setting MPINSTALLED=0 make this condition true: 'NOT MPINSTALLED'
Sorry so long - thanks,
Tom
(3) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Aug 06, 2009
03:50 AM
You will have to unset the property, i.e., by setting it to NULL. Setting the property to 0 does not unset the property.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Aug 07, 2009
09:16 AM
Thanks Tsung I was doing that but realized that it was not taking place becuase it was after CostFinalize. So after adding a DoAction CostFinalize in the Next Button - it worked! Not sure if that is the right way to go about it since this is not documented!
Thanks,
Tom
Thanks,
Tom
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Aug 08, 2009
05:36 AM
CostFinalize action queries the Condition table to determine which features are scheduled to be installed. I have never tried running it the second time in UI Sequence, not sure of its unintended side effects.
Typically, one can fiddle with feature's install level, and evoke SetInstallLevel ControlEvent conditionally to control selected features for installation. AddLocal ControlEvent does something similar, but not as flexible.
Typically, one can fiddle with feature's install level, and evoke SetInstallLevel ControlEvent conditionally to control selected features for installation. AddLocal ControlEvent does something similar, but not as flexible.