check a component's condition in modify mode
Posted 03 September 2004 - 13:32
In the interface i let the user check languages. i tied a public property to each checkbox and i added these properties to SecureCustomProperties so that the installer takes their updated value into account while the
For the first install it works. in modify mode, i want to allow the user to change installed languages, so i show him the same dialog. But there the components' conditions seem not to be taken into account, since the components of deselected languages stay and components of added languages are not installed.
I know that if i made a sub-feature per language, it would solve it, but i have 5 features where there are language dependent components, and 14 languages. So it would make create 14x5 sub-features, and each one would have only 1 component. this would be as using a hammer to kill a fly.
if i force a reinstall of features where are language dependent components, will it work, and will it need source even if i just remove languages?
Posted 04 September 2004 - 09:32
Posted 06 September 2004 - 09:34
That means i have to make a reinstall for features where i have language dependent components if i want to change languages duribg a modify!
Posted 06 September 2004 - 11:55
Posted 06 September 2004 - 16:40
So for those interested, a resume:
- gather language-dependent components in a feature
- activate "reevaluate condition" for those components
- set property "REINSTALL=Feature1,Feature2,..." to force the conditions to be reevaluated while the Modify.
PS: beware of the "ReinstallModeText" Property to ensure it will do the right things.
Posted 07 September 2004 - 06:00
Components are only installed as part of features, and if you don't reinstall the feature, component conditions are not evaluated. Components = Developer view, Features = User view. So the golden rule is: install / reinstall / modify always happens at the feature level.
Posted 11 November 2004 - 13:28
This problem is becoz while installing msi It marked the component to be installed regrdless of whether component are really installed or not.
to check again condition during maintenance mode keep Transitive condition checked for all language component.