/build/static/layout/Breadcrumb_cap_w.png
03/28/2017 2248 views
with ADDLOCAL=feature1 property, we are able to add a feature through commandline.

But it is overriding the default install feature list ,which will be there if no ADDLOCAL property is provided.

Let's say , by default f1,f2,f3 are selected among {f1,f2,f3,f4,f5,f6}.
When we pass no property like "ADDLOCAL" then f1,f2,f3 will be selected.
If we pass ADDLOCAL=f4 then f4 is getting selected and f1,f2,f3 are unchecked.

If we pass ADDLOCAL=ALL then all the features will be selected,and we are unchecking again with REMOVE property.

Is there any simple way, so that when pass f4 to it, then f4 will be added to the default list "f1,f2,f3" instead of removing that default list.
0 Comments   [ + ] Show comments

Comments


All Answers

0
In a word,no, not from the command line.

Create a transform (MST) instead, using it to set the feature level for the features you require. You can obviously set other properties using it, too.
Answered 03/28/2017 by: VBScab
Red Belt

  • Thanks for the reply VBScab.

    But for current scenario, I can't edit the msi file as this is raised as issue in production.The previous packager missed to add this feature and it is silent instalaltion.If any minor changes then we can chage it like commandline changes.But for file content changes we need to create a new package.

    So I think I need to pass all the deafault feature list also along with the present feature to ADDLOCAL.If no such option is available.And also multiple packages are having similar issue.


    Is there any possbility through VBScript to alter this??
0
You won't be changing anything, as a transform is external to the MSI.

If you're fixing existing installations (it's always nice to get the full story AFTER replying, of course...), there's nothing wrong with using ADDLOCAL: any existing, installed features will remain in place.

If it were me, I'd create a script which uninstalls whatever went previously and then reinstalls "properly". That one script then caters for both existing installations and new ones.
Answered 03/28/2017 by: VBScab
Red Belt

0
This is the resolution comments I got from Flexera support team:

Unfortunately with InstallShield Express there is no built in functionality to enable one feature like you are describing from the command line. You can pass all of the features that you wish to install with ADDLOCAL (ex: ADDLOCAL=f1,f2,f3,f4) as that property dictates which features will be installed locally.

ADDLOCAL property:
https://msdn.microsoft.com/en-us/library/windows/desktop/aa367536(v=vs.85).aspx

With InstallShield Professional and Premier you would have the ability to set an INSTALLLEVEL for the features and assign a condition to those features to change their install level. When doing this you could pass a property from the command line which would make the feature condition true and enable the specific feature.
Answered 03/30/2017 by: ur00361883
Black Belt

0
1. For existing installations, adding the missing feature with ADDLOCAL won't affect the features already installed (unless you're still passing a REMOVE value as well - in which case, don't!

2. For new installations, use ADDLOCAL with all of the required features listed.

3. If you're serious about packaging, get your employer to spring for a proper authoring tool, instead of messing about with "not quite the full ticket" software. Yes, it's expensive but how much time have you wasted pursuing this so far?
Answered 03/30/2017 by: VBScab
Red Belt

0

The only way you can do what you are asking is if you have a really well thought out INSTALLLEVEL property.

I would follow what the others are saying and use MSTs to enable the appropriate Features at install. Or Create as many install commands as you need to install f1, f1f3, f1f2f3,f1f4,f1f3f4 etc
I have in the past used the command line to ADD features to existing installations.


Also, I have had some horrible vendor MSIs that use a CustomAction to configure feature install states, quite a pain.


Answered 03/30/2017 by: Badger
Red Belt