Edición 4/4/2014: Hola OP, mira lo que se acaba de lanzar hoy:
http://blogs.technet.com/b/windowsserver/archive/2014/04/03/windows-management-framework-v5-preview.aspx
Solo quería ampliar un poco la respuesta aceptada, porque es un poco escasa en detalles. La respuesta de Filipe no hace mención de las estrategias que Windows realidad hace uso de las cuestiones a resolver o dependencia programa de mitigar, al igual que el almacén de componentes (WinSxS,) la caché de ensamblados global, el sistema MSI, etc, pero por otro lado que es básicamente justo en el tiene la sensación de que es responsabilidad del desarrollador incluir bibliotecas personalizadas con la aplicación y verificar la existencia de dependencias antes de comprometerse con la transacción de instalación.
Windows es menos modular que Linux, que tiene aspectos positivos y negativos. En el lado negativo, Windows es más monolítico, lo que significa que relativamente menos componentes del sistema operativo son extraíbles u opcionales como en Linux. (Aunque Windows está mejorando lentamente al respecto).
Pero en el lado positivo, eso significa que los desarrolladores pueden hacer muchas más suposiciones sobre las bibliotecas que un usuario ya tendrá presentes en su máquina. Y varias versiones de esas bibliotecas, una vez instaladas, se almacenarán una al lado de la otra en el almacén de componentes, de modo que ya no tenga App1 ladrando sobre la necesidad de crapDLL.dll, y App2 ladrando sobre la necesidad de una versión diferente de crapDLL.dll al mismo tiempo. tiempo, etc.