DEV Community

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

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).