I can't tell you how many times I've downloaded some software, expected to install it in seconds and be using it immediately, only to be harassed during the installation process to install all kinds of third-party crap:

XYZ is not installed. Do you want to install it now?

And if I answer "yes", it typically opens up some webpage where I have to figure out how to download some crap that I have no interest in. Frequently, this is related to ".NET Framework" or "Visual C++ Redistributable" something. Or it's "Python" or "Perl" or "Yasm" or something else like that.

If you are "lucky", it will at least download and install straight from the installer, but even then, it's distracting and annoying.

Even as a computer nerd and software developer, I don't get why this is necessary. Why don't they bundle whatever they need inside the actual application? Why put the burden on the user to deal with all this messy development-related stuff?

Especially when it comes to .NET and Visual C++ stuff, that's by Microsoft. Wouldn't all such "updated DLLs" be installed with Windows updates? What is the point of having compiled binaries and C++-programmed software if they still need to constantly download extra "distributables"?

I'd love to understand this, but so far, I've been unable to. Why can't the installer include anything required for the software to run, or even better: why can't they use stuff that is actually available in the OS rather than requiring separate installers?

  • It is an area most ux departments are not permitted to touch or considered. I suggest you ask this on Stackoverflow to get a technical answer.
    – Nicolas
    Oct 10, 2020 at 17:07
  • Because it's easier: to conceive, to implement, to deliver. This is not the only case in life where things are done because it's easier like this, even if it doesn't make sense in a wider perspective
    – mapto
    Oct 11, 2020 at 13:03
  • Which software developers are you talking about? I don't have any of these issues with the software I install, or with the software that I create. However there are plenty of reasons why prerequisites are not included. One of them is licencing restrictions, another is file sizes. Really needs to be judged on a case by case basis.
    – musefan
    Oct 12, 2020 at 8:50

1 Answer 1


Your perspective is valid, but you are only one type of user. Other types of users have different priorities.

The user's power to choose is sacred, and should be revered as such. Enabling the user to be in full control of the system goes a long way with building and maintaining trust, and reaffirming consistent user expectations. This consistency improves the overall experience.

A user may not want to install what is necessary to use a file, for a variety of reasons.

  • The version being installed will cause issues with the version they have installed, or other components.
  • They distrust the company behind one of the dependencies.
  • They do not want to "clutter" their machine with a large number of other programs.
  • They decide it's not worth it to install a, if it means installing x, y, z, ...

A developer may not have the right to distribute the other dependencies needed to utilize their software. It is possible (and common) that I may have permission to write a piece of software that uses x without having permission to distribute x.

If dependency x releases a new version, the software does not necessarily need to change. The user can control which versions are installed on their system and manage updates as they see fit. All the software needs to do is ensure a sufficient version is installed.

It can significantly increase the download size. As a user, if I already have these dependencies installed, why do I need to wait while they download again?

Software generally shouldn't automatically download other software. This can very quickly cause a user to categorize the software as "sketchy" or "probably a virus".

There are surely additional reasons, but these immediately come to mind. Ultimately, it works out such that prompting the user efficiently informs them of the issue at hand, gives them the ability to resolve this in whatever way they see fit, and neatly addresses many of the other aforementioned issues as well.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.