gregmac
Posts: 13
Joined: Wed Oct 13, 2010 2:05 am

Specifying components on command line - silent mode

One of the things I am trying to do early on in my current development project is continuous deployment. I'll be automatically installing upgrades on a couple of test servers, so I need to use the /qn option to suppress the UI. I know during upgrades the installer will preserve the selected components, but is it possible to explicitly specify which components to include using the command line?

I see two use cases for this (for continuous deployment purposes):
  • Initial installation of the software can be automated. This feels a bit cleaner than requiring the "first" install to be user-interactive, because it is repeatable.
  • If a new component is added which is checked by default, the command line provides an extra level of control of where that gets installed. In fact, without it, I imagine it would automatically be installed - you'd need to stop the automated process, and go manually run the installer, uncheck the component, and then re-enable everything to prevent that new component from being automatically installed.
It would also be useful for end-users to be able to automate installations through a deployment utility.
Cosmin
Posts: 5797
Joined: Tue Jul 10, 2007 6:39 pm
Contact: Website

Re: Specifying components on command line - silent mode

Hi,

You can condition components and features through the "Organization" page. These conditions can be installer properties which can be set through the msiexec command line. If this is not what you need, can you please give me more details?

Regards,
Cosmin
Cosmin Pirvu - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube
gregmac
Posts: 13
Joined: Wed Oct 13, 2010 2:05 am

Re: Specifying components on command line - silent mode

Hi Cosmin,

Thanks - I can provide more details. It may be that I don't understand this properly.

I have (currently) 5 components (lets say A, B, C, D and E), and any combination of them may be selected (eg, all 5, or A+B+D, or B+C, or A+C+E, etc). This is because there are several different server components to my application, which in a small environment are typically installed on a single physical machine, but as it grows they can be distributed (and some can be load-balanced) in different ways across several physical machines.

From what I understand about the "installation behavior" section, there is only one "conditional install level" (INSTALLLEVEL) for the whole project, and you can only restrict the component to install based on INSTALLLEVEL "greater than" some number.

So from what I can tell, all I can do is have a command line option that sets INSTALLLEVEL, and even then, the only options could be: A, A+B, A+B+C, A+B+C+D, or A+B+C+D+E.

Am I misunderstanding how this works, or is there another way to do this?
Cosmin
Posts: 5797
Joined: Tue Jul 10, 2007 6:39 pm
Contact: Website

Re: Specifying components on command line - silent mode

Hi,

Please note that each feature uses its own install levels. You can read more about this in the Conditional Levels Dialog and Edit Conditional Level Dialog articles. These levels are used with INSTALLLEVEL property, which should not be modified.

Regards,
Cosmin
Cosmin Pirvu - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube

Return to “Feature Requests”