DEV Community

Discussion on: What are your thoughts on 'Silent Installations'?

Collapse
 
trickvi profile image
Tryggvi Björgvinsson

I absolutely need silent installs for my work and usually curse and dislike software vendors that don't offer it.

However I seem to understand the term differently than others in this thread. To clarify, my interpretation is that a silent install is software installation that requires no user interaction (described here).

So to me this could be installation via package managers that need no extra input, install scripts that don't prompt users etc.

The reason is that I and my unit at work manage the machines at work. All servers and laptops and anything in between. We need to frequently install applications (or update them) on particular machines and we cannot do it if we have to constantly click next, next, finish.

What we do instead is that we use a configuration management tool to manage installs. Such a tool cannot do user interaction during setup. It absolutely requires silent installs.

So if 100 people need some software that doesn't support silent installs, we'd rather find an alternative than walk around or remotely log into all 100 computers to install via a GUI client. Even if it takes more time to find the alternative because updating will then also require us to repeat the manual installation process. Manual installs are also out of the question because we want our environment to be predictable.

Sadly some software vendors offer silent installs but when we want to use it, it turns out we can't because they have something like for example an Adobe Air dependency that requires user interaction to approve its license thus breaking the silent install of the software we wanted to install.

I may sound harsh in my reply but I'm not trying to be. I've just too many times had angry clients who want a nice software but I either have to turn them down because of missing silent installs or take on a lot of extra work to keep them happy but at the cost of my team's efficiency and happiness.

So please everyone make sure your software can be installed silently 🤫

Collapse
 
missamarakay profile image
Amara Graham

Thank you so much for your response and contributing to this discussion.

Can you provide a name of software with a silent installation experience? Do you expect to configure this software with a config file? Or do you accept the company provided defaults and run your own scripts to make any additional changes later?

What about updates? Do you initiate those manually?

Collapse
 
trickvi profile image
Tryggvi Björgvinsson

There are lots of software solutions that offer silent installs. These may or may not be documented properly. For example many of our users at work need R and R Studio. Both offer silent installs as discussed in an R-bloggers blog post. It's usually something they do via command line installs.

I vaguely remember a project around Ubuntu that was specifically focused on installing and upgrading silently but I couldn't find a reference.

Balsamiq is the software I referred to that advertises silent installs but fails because it depends on Adobe Air which can't be installed silently.

Then we have software like Adobe Creative Cloud where the user installs the installer that can pick products to use but those I truly dislike because we can't do anything (yeah Adobe is not a favourite).

Configuration is another thing. Sane defaults from the company makes us very happy. But often we do need to make configurations and we do them in the way the software requires. We love configuration files. That makes everything so much easier and maintenance a lot more readable.

For Windows machines we often have to deduce what registry keys we should change and how (a burden), sometimes we just have to run some commandline tool with proper arguments to do the configurations.

There are software packages like for example Outlook which we can't configure easily but setting up the environment with autodiscover hosts will configure automatically but even if it is easier, I don't like it because I want maintenance to be readable.

Many times we have to apply licenses to software package and those cannot be configured easily. Those I don't like. I understand why companies try to make the process convoluted, but its just such a burden to try to figure out how to apply licenses to some software.

Worst case scenarios are things like Navision (Microsoft Dynamics Nav) where we cannot configure it remotely. We therefore just created a document describing the configuration process and place it on the machines for users to follow.

As I said in my earlier comment, we manage everything with a configuration management tool (we use Salt). That allows us to decide when to run updates and then we run the updates on all machines. So usually we test new versions of software in a test environment and if we're happy and everything looks good, we roll them out to every machine that should have it.

We version control our configurations so if we notice a problem, we just roll back and install a more recent working version and apply it to all the machines.

That way we can be sure we have a uniform and predictable environment, saving us a lot of time in maintenance (because we no longer need to solve unique problems for each user or spend time trying different versions, if we have a problem we solve it once and it is then solved for everyone).