hviolet
Level 4

maintenance-mode: default selection of features is confusing

(Installshield 2014 Suite-Project)

In maintenance mode (modify installation), a Feature, that is not yet installed, has an indeterminate Checkbox, if an underlying package is already installed.

Details:
In a suite-Project are two features A and B.
There are three packages p1, p2, p3, that are associated to features in the following way:
A <- p1, p3
B <- p2, p3
That means p3 is associated to both Features A and B.
(In our design, package p3 provides some core-functionality, needed for several features)

Now, in the first time Installation I choose only Feature A to be installed. OK
Launching setup again in maintenance mode and choosing 'Modify' shows this selection of features:

A checked (correct, because Feature A is already installed)
B indeterminate (a filled Checkbox, neither checked nor unchecked)

Why is this so? Feature B is not yet installed though package p3, that is associated to B, is.
Obviously the Default selection of Features in maintenance mode is dependendant of the Installation of underlying packages.
Would it not be better to make the Feature selection independant of underlying packages? Is it possible to achive that?

Thanks for any help.
Labels (1)
0 Kudos
6 Replies
DLee65
Level 13

So, since p3 has already been installed, but just under the different parent feature, A; you want the user to NOT know that p3 is already installed, correct?

If not, how would you indicate that p3 is already installed?

It sounds to me like this is working as I would expect. If a child feature is already installed, I want that feature selected.

If you have a package that can be installed side-by-side with multiple configurations then you have a different scenario, because you are calling p3 in both parent feature as if it is identical, not separate configurations. So if this is the scenario, I would not call this p3 in both packages, but p3a, p3b so that they are configured differently. What I am not sure how to handle is how to identify each install as unique. If p3 is a msi package you will require a transform file for each configuration with distinct product codes to keep them separate for a side-by-side configuration. I am not sure how to handle other script based installs though.
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

There are two things I would suggest. If this is just part of your tree, you could try putting p3 in a parent feature with A and B as its children. This will result in p3's feature being selected if A or B are selected. If instead this is the entirety of your feature tree, you could create a separate root-level hidden feature and put p3 in that. In either of those approaches, p3's presence will not affect A's and B's feature state, and you will avoid the indeterminate check box.
0 Kudos
hviolet
Level 4

(IS 2014 Suite-Project)

Thank you for the replies.

In my opinion a Feature that is not installed should be entirely un-checked in the Feature-selection Dialog during maintenance (Modify).
The setup-user doesn't know anything about packages.
Introducing parent Features as you mentioned brings the desired effect but increases the number of visible Features.

Next question:
I would like to Show a Wizard Dialog only if a certain Feature has been selected (first time install).
Which property can be used for the dialogs 'visible' condition?
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

If you change the feature's Visible setting to No, it shouldn't show up in the InstallationFeatures tree.

It should be possible to reference the FEATURE[].installState or FEATURE[feature-name].actionState pseudo-properties in the Visible condition of a wizard page.
0 Kudos
hviolet
Level 4

Thanks for the reply.

We have packages that are associated to some Features but not to all. For These packages I introduced a new parent-Feature that has the needed Features as Subfeatures.
Setting this parent-Feature invisible makes the child Features also invisible - so it has to be visible.
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

Right, gotcha. Hiding it doesn't work well if it's the parent of features you still want to show.
0 Kudos