cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
johnw73
Level 3

Conditionally install a component?

I have several components that I wish to have installed ONLY if a given property is passed to the MSI at install time. This property is defined in the property manager and no value is populated for it.

For each component, I have set the condition to CUSTPROP="YES".

I then run msiexec /i foo.msi CUSTPROP=YES. However, the files are installed, despite me passing the property.

Is there any way to do this, other than just duplicating the ISM and stripping those files out?
Labels (1)
0 Kudos
(8) Replies
joshstechnij
Level 10 Flexeran
Level 10 Flexeran

If the component conditions are CUSTPROP="YES" and CUSTPROP=YES is passed on the command line, the components using this condition should get installed. Do the components get installed even if you don't set CUSTPROP=YES on the command line?
0 Kudos
johnw73
Level 3

Yes - the files are installed even if the parameter is not specified. It's almost like it's not there at all.
0 Kudos
TsungH
Level 12

A verbose installation log (with /l*v switch) may provide some crucial clues to this behavior.
0 Kudos
johnw73
Level 3

Attached. I had to obscure a few things for confidentiality reasons. I have done search & replaces so the substitutions should be consistent.

One of the components i'm trying to not have installed is NFOENU4.DLL.
The parameter I'm passing is YYYSETUPTYPE=ZZZ

Note that there is a similarly named property, YYYINSTALLTYPE, which should not play a role in this.
0 Kudos
TsungH
Level 12

Unfortunately I don't see anything that is of any help in resolving this problem. You may want to post a screenshot of the component with the condition.

If you have a support contract with Macrovision, you may want to contact them directly.
0 Kudos
johnw73
Level 3

Thanks very much for taking the time to look at this. Attached is a screenshot.

If worse comes to worse, I guess I'll just create a new project and do dual maintenance. 😞
0 Kudos
joshstechnij
Level 10 Flexeran
Level 10 Flexeran

While I don't see any reason why this would work, try simplifying the condition. Instead of only allowing the component to install if a property is not equal to "ZZZ", try allowing the component to install only if the property is not defined:
Not YYYSETUPTYPE

Then, on the command line, pass YYYSETUPTYPE=SomeValue.

Does that change the behavior?
0 Kudos
TsungH
Level 12

Component properties look fine to me. Perhaps you want to try it on a different machine or a clean machine, if you have not already done so. Other than that, I am out of ideas at this time.
0 Kudos