Editar 04/04/2014: Hey OP, veja o que foi lançado hoje:
http://blogs.technet.com/b/windowsserver/archive/2014/04/03/windows-management-framework-v5-preview.aspx
Eu só queria expandir um pouco a resposta aceita, porque é um pouco esparsa nos detalhes. A resposta de Filipe não faz menção das estratégias que o Windows realmente faz uso para a resolver problemas ou dependência programa mitigar, como o armazenamento de componentes (WinSxS), o cache de assemblagem global, o sistema MSI, etc. Mas, por outro lado ele é basicamente bem no sinta que é responsabilidade do desenvolvedor incluir qualquer biblioteca personalizada no aplicativo e verificar a existência de dependências antes de confirmar a transação de instalação.
O Windows é menos modular que o Linux, que possui pontos positivos e negativos. Por outro lado, o Windows é mais monolítico, o que significa que comparativamente menos componentes do sistema operacional são removíveis ou opcionais, como no Linux. (Embora o Windows esteja lentamente melhorando sobre isso.)
Mas, no lado positivo, isso significa que os desenvolvedores podem fazer muito mais suposições sobre quais bibliotecas um usuário já terá presente em sua máquina. E várias versões dessas bibliotecas, uma vez instaladas, serão armazenadas lado a lado no armazenamento de componentes, para que você não tenha mais o App1 latindo sobre a necessidade de crapDLL.dll e o App2 latindo sobre a necessidade de uma versão diferente do crapDLL.dll ao mesmo tempo. hora, etc.