A resposta curta é que os instaladores do Windows geralmente incluem todas as bibliotecas necessárias como DLLs, que geralmente são instaladas no mesmo diretório que o aplicativo e geralmente só podem ser usadas por um único aplicativo. Isso significa que, se você tiver dois ou três produtos Windows que usam a mesma biblioteca de origem (por exemplo, uma biblioteca de compactação ou um elemento GUI), todos eles terão as mesmas DLLs instaladas, possivelmente em versões diferentes.
Isso causa inchaço e pode levar a vulnerabilidades de segurança, pois correções podem não ser aplicadas de maneira consistente a todas as cópias instaladas da mesma biblioteca.
Algumas bibliotecas compartilhadas existem (obviamente, as bibliotecas fornecidas pelo sistema operacional são incluídas). Nesse caso, é necessário garantir que você as tenha instalado e não há uma solução simples do Windows integrada para isso (geralmente é executada pelos próprios instaladores) .
As distribuições modernas do Linux vêm com gerenciadores de pacotes que devem manipular dependências para quaisquer aplicativos no repositório da distribuição. Essa é a maior parte do trabalho de empacotar uma distribuição (juntamente com elementos de personalização para fornecer consistência). Por exemplo, apt
lida com dependências no Debian, então você não precisa se preocupar, assim como você está instalando a partir do repositório Debian.
Se você estiver baixando e instalando seus próprios pacotes ou compilando a partir do código-fonte, então sim, você precisará gerenciar as dependências por conta própria.