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
- :
- Conditionally install a component?
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
‎Jan 02, 2008
09:52 AM
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?
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?
(8) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 02, 2008
11:36 AM
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?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 02, 2008
12:44 PM
Yes - the files are installed even if the parameter is not specified. It's almost like it's not there at all.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 02, 2008
08:21 PM
A verbose installation log (with /l*v switch) may provide some crucial clues to this behavior.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 02, 2008
08:49 PM
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.
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.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 02, 2008
09:14 PM
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.
If you have a support contract with Macrovision, you may want to contact them directly.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 03, 2008
01:33 PM
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?
Not YYYSETUPTYPE
Then, on the command line, pass YYYSETUPTYPE=SomeValue.
Does that change the behavior?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 08, 2008
10:18 PM
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.